Changeable MIDI soundfont ?

Description: Have any suggestions or new ideas for SMBX-38A? This is a place for you. Good suggestions may appear in future versions of SMBX-38A.
Moderators: Lx Xzit, Yoshi021, 5438A38A, Semi-moderatos, Moderators

Erwill M
Topic author, Count
Count
Avatar
Erwill M
Topic author, Count
Count
Age: 24
Reputation: 189
Posts: 295
Joined: 29 Nov 2015

Post #1by Erwill » 3 Mar 2016, 20:27

Hi.
With the new version 1.4.2, smbx read midi better !
And smbx seem to use a midi soundfont like some default musics.
So, in some music this soundfont is cool but I'm not really a fan with others musics.
Maybe add a possibility to change midi soundfont for each specify episode ? (like setzer soundfont)

Wohlstand M
Lead Developer
Lead Developer
Avatar
Wohlstand M
Lead Developer
Lead Developer
Age: 30
Reputation: 493
Posts: 1747
Joined: 15 Feb 2014
English Pronouns: he/him
Location: Moscow, Russia
Website Youtube channel URL Skype Tencent QQ

Post #2by Wohlstand » 4 Mar 2016, 1:54

Hello!
You just can edit your MIDI's to fit them into ADLMIDI synthesiser:
(I always editing my MIDI's to make beutiful sound on specific synthesisers. And my favorite fun is random changing instruments to take a new sound of same music, etc.)

My notes for you:
1) ADLMIDI is NOT sound font-bases synthesiser, it's OPL-Synth (a.k.a. Frequency Modulation Synthesiser based on Yamaha OPL3 chip) emulation which working on ADLMIDI code. FM Synthesis is a GENERATION OF SOUND FROM SCRATCH BY FORMULAS!
2) ADLMIDI has 67 various hardcoded FM banks from various DOS games and some extra others. By default working a bank #58 which is same as hardcoded in Windows 95/98 drivers for Sound Blaster sound cards. But I think, bank #59 would sound much better, but in some cases need to fix octaves in tracks (I'll try to fix octaves in banks to avoid those edits)
3) ADLMIDI alone library which supports internal loops
4) You always can edit your MIDI file (change instruments into any others to take best sound) in any MIDI editor which you like (for example, simple and free is http://midieditor.sourceforge.net/, but if you looking for professional and advanced things, I suggesting a Cakewalk Sonar, but you even can use FL Studio, but with important note: you must re-save FL-Studio saved midi-files via MIDI-Editor tool, because FL Studio making MIDI files with a wrong tempo format, therefore saved by FL Studio MIDI Files will be played with a wrong tempo).

Don't forget that you always can pre-listen your midi files in PGE MusPlay tool (included with latest PGE package, I recomend you to take it from laboratory).

My small gift for you:
Also, if you wish prelisten every instrument, you can take this collection of test MIDI's:
http://wohlsoft.ru/docs/Music/MIDI/MIDITEST.zip
every MIDI file tests one of 128 various instruments available in GM (General MIDI) standard. XG/GS standards are gives exchanged things, but there are available only on professional hardware (as alternate you can look up for a software Yamaha XG which you can use for a fun, BUT, it works on 98/2000/XP, on Windows 7 troubles are possible with it!)

Current SMBX 1.4.2 uses my 'SDL Mixer X' library which has three built-in synthesisers:
- ADLMIDI - FM-Synth emulation based synthesiser. Has 67 various FM banks with different sounds. Has a support of loopStart/loopEnd tags with a true loop (examples of those MIDI's are MIDI's from Final Fantasy VII - there are used this trick first time).
- Timidity - WaveTable synthesiser which uses banks in GUS format (Awave Studio - example of a tool which can create and edit those files). With PGE (Editor, Engine, Musplay) you can use one of those banks if you will extract them into PGE directory: http://wohlsoft.ru/docs/Music/Timididy_banks/ . With SMBX 1.4 there are will not work until 5438A38A will not call a function to add custom timidity banks path to allow looking for timidity banks from app directory. Alternate way - C:\Timidity folder, but it's not good way.
- Native Midi - use built-in synthesiser on your operating system (Windows, Mac OS X, haiku, etc.)

ADLMIDI using in SMBX 1.4.2 by default because ability to toggle synthesiser is not implemented yet in SDL Mixer X (that possible with Mix_setMidiDevice function of SDL Mixer X library API), BUT, I planned to implement ability to toggle synthesiser and it's preferences by same way like you toggling NSF tracks in the custom music field. So, wait my update and then will be possible to define synthesiser preferences per every MIDI File individually (use ADLMIDI for looped songs and for songs which are sounds perfectly and beutifully on it, toggle another bank for another MIDI's or use timidity for other songs and native midi (be sure that on platforms where is no built-in MIDI output devices or has no configured it, recent worked synthesiser will be used instead) ),

Timidity and Native MIDI are not supports loopStart/loopEnd, so, your whole MIDI File will be looped.

Wohlstand M
Lead Developer
Lead Developer
Avatar
Wohlstand M
Lead Developer
Lead Developer
Age: 30
Reputation: 493
Posts: 1747
Joined: 15 Feb 2014
English Pronouns: he/him
Location: Moscow, Russia
Website Youtube channel URL Skype Tencent QQ

Post #3by Wohlstand » 5 Aug 2021, 13:35

Wanna bump this, because recent MixerX now supports the FluidSynth synthesizer and there are lot of new path argument fields added, however, 38A won't re-use them properly until 5438A38A will add the support for path macros such as {d}, {e}, and {r} which now supported by latest Moondust Project and TheXTech (note, SMBX2 doesn't support that).


Return to “Ideas & Suggestions”

Who is online (over the past 5 minutes)

Users browsing this forum: 1 guest