rerrahkr / ym2608-tone-editor Goto Github PK
View Code? Open in Web Editor NEWTone editor for YM2608 (OPNA)
License: GNU General Public License v2.0
Tone editor for YM2608 (OPNA)
License: GNU General Public License v2.0
Currently, when converting instrument to MUCOM88, algorithm number precedes feedback level:
@0:{ 4, 0
Is that correct? I have found some MUCOM88 mml files that have these values the other way around. Also, other tools, such as OPN2 Bank Editor expect feedback level before ALG as well, so when the MUCOM text values produced by this tool are pasted into OPN-BE, the instrument ends up being incorrect.
It's just a rough idea.
It's the same sort of software as OPN2BankEditor, and it's not interesting for me personally to create something that already exists.
Originally, this software was a test program to check the usability of Qt, FM emulation, and real-time audio processing before developing BambooTracker. So I don't think there will be much enhancement to this in the future.
Rather, I think it would be better to create a new repository as a VST/AU plugin that can read various tone data. There are MML and tracker as means to compose using OPN (A), but I feel that it is currently insufficient for piano rolls. It is possible to use RtMidi for MIDI control, but since most people compose with DAW these days, it would be better to make it as a VST/AU plugin.
I think it would be better to use JUCE framework. I don't like the graphic design, but it seems to be easy to manage the audio processing and support multiple platforms like Qt.
However, it requires knowledge and time, and most importantly, motivation. I don't have those things at the moment, so let's hope for the future.
I hope this can be removed.
When I open a bank file with a lot of tones and I just need them, things would get clearer if I can clear all tones in advance.
Currently I have to find this default tone and remove it after opening a bank.
Specs: v0.4.3, Windows 10 64-bit
追記:
日本人同士やんけ!!!!!!
必死に英語で書いてました。まぁ伝わるでしょう…
Hi,
Your tone editor/creator is awesome. I wonder if you can add a feature to import tone data in text format (either PMD or FMP syntax) to edit existing tone data.
That would be great.
I don't know if it is possible in a current state of this tool, but still - I would like to to be able to rip sample data from .BTI, .BTB, PVI, PPC, with further possibility to export it to .wav files and, if possible, edit like in BambooTracker
It would be amazing to be able to convert many instruments to text at once in the same file.
I tried to use this to convert VGI to OPNI (GENNY VST plugin saves VGI, TFI), but results were bad. Seems operators 2 and 3 are swapped.
Then I tried TFI format and it seemed correct, so maybe there some confusion on the order of operators 2 and 3?
BambooTracker/BambooTracker#300 reported by @freq-mod
hello. for reasons beyond my comprehension, .fui conversions behave strangely in furnace - they do not respond to volume commands either in the pattern or in the form of volume macros. they will act at full volume no matter what
i had this issue in furnace version "0.6pre4hotfix" and updated to the latest "0.6pre5" just in case but it still happened. i was using tone editor v0.4.3 initially but i also updated to 0.4.4 to troubleshoot and still had the issue.
There are no parameter sliders to edit LFO (frequency, AMS and PMS. Is it because it is impossible with current audio routine?
There are few MML formats I miss that aren't supported here:
Currently, the "Edit name" button produces the "Edit tone name" dialog with an empty name field.
This field should be filled with the tone's current name so that it can be reused for renaming.
The VGM data stream is currently hardcoded to be expected at 0x100
:
YM2608-Tone-Editor/src/io/vgm_io.cpp
Lines 25 to 27 in 0a076ea
This is a bad assumption. The VGM specification says:
So the correct flow for getting the start of the data should be (excluding read checks):
uint32_t version = container.readUint32(0x08);
size_t csr = 0x40;
if (version >= 0x150)
csr += container.readUint32(0x34);
Some examples of VGM files that don't get read correctly:
YU-NO: Imperial City
VGM version is 0x170
, VGM data offset is 0xAC
. Real start of VGM data is at 0xE0
.
A YM2608 port 0 write (command 0x56
) starts at 0xFE
, 0x100
has the last argument to that command
-> 0x70
, which is being interpreted as a 1-sample wait. All the parsing afterwards is likely very wrong.
Briganty: Coda "BRIGANTY" (Ending)
VGM version is 0x170
, VGM data offset is 0xAC
. Real start of VGM data is at 0xE0
.
A YM2608 port 0 write (command 0x56
) starts at 0xFE
, 0x100
has the last argument to that command
-> 0x00
, which causes the VGM parser to abort due to an unknown command
The only things I miss here are .FF, WOPN bank formats and .DMP, OPNI single instruments.
Using emulator: Nuked OPN-Mod
PulseAudioService: pa_context_connect() failed
using null output device, none available
PulseAudio was installed, didn't help. BambooTracker works fine.
Work on PMD have recenltyl resumed, resulting in numerous features implemented - one of them is YM2608's SSG-EG.
Textual format tone structure is also different - newpmd.zip, also contains .bti ver of instrument 240
There are two versions of new format - in case of first, -1
means SSG-EG dsabled and 0-7
mean type of envelope shape, while second: 0-7
mean SSG-EG disabled (internally: invalid envelope shape) and 8-15
mean the same as envelope type 0-7
of first version.
As for emulation, MAME 2608 is flawed. (although @jpcima once mentioned his potential fix: https://github.com/jpcima/BambooTracker/tree/mame-ssgeg)
There is also Nuked OPN-Mod, genpfm is allegedly just patched MAME 2612 FM core, redundant.
Just like with Bamboo Tracker. Currently there are no rules for make install
under Linux and, possibly, BSD.
This is a very vague plan. I need to check PMD format to see if I can achieve this.
Very small and cosmetic, but:
When upper row of keyboard keys is used, notes higher than E aren't displayed correctly, only octave number is snown (for example, 5 rather than F5).
Since 4cc479d I'm unable to build the tool.
output of make: https://gist.github.com/freq-mod/1cce63b16b43d0cd048f6ae6a2b5e77f
I have a very large bank, say 200 instruments. Ability to search single instrument by name would be useful.
Since these formats are the data log, I think the same process can be used to extract the instruments.
Extract one instrument from the value of the register at the time of starting waiting. The extracted instrument should be unique.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.