tfw I'm too into AMK and PetiteMM now to go to tracker territory again
Seriously tho, this could be pretty useful; I don't have much experience with OpenMPT, but if this gets complete then it could easily replace SNESMOD IMO, and I bet a lot of people would start using AMK after this too
Hello all! This is a little thing I've been working on during the first few rounds of Idol 9 and I decided that I'd release what I have so far for C3. Essentially, it is a tool that can take IT module files and turn them into MML ready to be inserted with AddMusicK! Currently, IT2AMK already supports a range of features, including but not limited to:
- Sample to BRR converstion, compelete with preserved tuning for all the samples.
- Notes, volumes, panning, vibrato, instrument changes.
- Multi-sample instruments.
- Volume envelope to ADSR conversion.
- Flexible tempo scale adjusting to reduce lag or note breaks.
- Optional downsampling for all samples to reduce insert size.
- Compatibility with Codec's Beta version.
- And more...
It still has many limitations though, for example:
- It cannot convert pitch bends.
- It cannot do portamento.
- The MML it produces is pretty unoptimal in terms of size.
Additionally, as a bit of a disclaimer, it's still an alpha, so expect some (or maybe a lot) of bugs. Known bugs so far:
- Modules using sample mode instead of instrument mode are completely untested and likely buggy.
- Notes using noise may cut off prematurely in some cases.
- Song does not reinitialize everything properly at the loop point. (Can be fixed by duplicating the loop pattern/rows and initializing the offending effects manually).
- Note Fades do not function properly at longer Fade Out values due to the volume fade command ($E8) having a length longer than $FF.
- Automatic Note Fades don't kick in when the volume envelope ends like they should in IT.
- If a Note Off occurs on an instrument wihout a sustain loop in its volume envelope, it acts like a Note Cut, instead of continuing like it should.
- Cancelling out of vibrato mid-note causes the note to be detuned.
- Songs that use only noise and no instruments will not insert with AMK due to them using @30, while not having any instruments defined. Instruments must have at least one note using them placed in the module to be considered "used".
- Initial tempo and global volume are defined more than once in the MML, causing a small waste of insert size.
- Note ties within the same measure are sometimes broken up unnecessarily. (Does not affect insert size though, as AMK optimizes it.)
Planned features:
- More sample conversion options.
- Support for nearly all of the IT effects, including pitch bends.
- Support for New-Note-Actions.
- Support for notes past channel 8.
- Automatic MML optimization and loop placement.
But anyway, without further ado...
DOWNLOAD LINK
You'll need the following to run it:
- Python 3.4 (or newer)
- .NET Framework4.5.1 4.0 (or newer)
Make sure to read the readme files and check out the examples before doing anything. And yell at me if things don't work.
Note: Does not work in Windows XP (probably not any other 32-bit os either). I may release an updated version soon that fixes this. Should work in Windows XP now.
- Sample to BRR converstion, compelete with preserved tuning for all the samples.
- Notes, volumes, panning, vibrato, instrument changes.
- Multi-sample instruments.
- Volume envelope to ADSR conversion.
- Flexible tempo scale adjusting to reduce lag or note breaks.
- Optional downsampling for all samples to reduce insert size.
- Compatibility with Codec's Beta version.
- And more...
It still has many limitations though, for example:
- It cannot convert pitch bends.
- It cannot do portamento.
- The MML it produces is pretty unoptimal in terms of size.
Additionally, as a bit of a disclaimer, it's still an alpha, so expect some (or maybe a lot) of bugs. Known bugs so far:
- Modules using sample mode instead of instrument mode are completely untested and likely buggy.
- Notes using noise may cut off prematurely in some cases.
- Song does not reinitialize everything properly at the loop point. (Can be fixed by duplicating the loop pattern/rows and initializing the offending effects manually).
- Note Fades do not function properly at longer Fade Out values due to the volume fade command ($E8) having a length longer than $FF.
- Automatic Note Fades don't kick in when the volume envelope ends like they should in IT.
- If a Note Off occurs on an instrument wihout a sustain loop in its volume envelope, it acts like a Note Cut, instead of continuing like it should.
- Cancelling out of vibrato mid-note causes the note to be detuned.
- Songs that use only noise and no instruments will not insert with AMK due to them using @30, while not having any instruments defined. Instruments must have at least one note using them placed in the module to be considered "used".
- Initial tempo and global volume are defined more than once in the MML, causing a small waste of insert size.
- Note ties within the same measure are sometimes broken up unnecessarily. (Does not affect insert size though, as AMK optimizes it.)
Planned features:
- More sample conversion options.
- Support for nearly all of the IT effects, including pitch bends.
- Support for New-Note-Actions.
- Support for notes past channel 8.
- Automatic MML optimization and loop placement.
But anyway, without further ado...
DOWNLOAD LINK
You'll need the following to run it:
- Python 3.4 (or newer)
- .NET Framework
Make sure to read the readme files and check out the examples before doing anything. And yell at me if things don't work.