Midi files of type 0 (single track), type 1 (multi track) and type 2 are supported, and several Roland GS and Yamaha XG NRPN events. If a midi file was created to be played using the XG standard, it should contain a SYSEX message "XG System on", then the app will handle certain XG specifics (e.g fallback on bank 128 for drumkits if no one is available on bank 127)
You can play midi files from the device's storage (internal storage or sd card) or from a Cloud Storage. Either you copy whole folders of midi files from you computer onto the device, preferably into a folder in the root directory (e.g. "Midis", or "Music") or you download single midi file from web sites.
If you copy files from your computer to the mobile device, you might need to unplug the usb cable first before those files are visible and selectable in the app's midi file browser! Sometimes even after unplugging the usb cable it may take a while until the Android OS has recognized the new files.
All changes that can be done to various parameters of a loaded midi file (pitch, tempo, instruments, volumes,...) will be saved automatically for a loaded midi file and will always be applied when this MIDI file is loaded again!
Note that the MIDI file itself will never be modified, instead a separate (tiny) file is generated for each midi file (having the same name as the midi file but with file extension ".mfs"). This file will stored in the "Midi_Voyager" folder (in the device's root directory).
You could easily transfer the midi file settings (.mfs) you made to *all* midi files to another Midi Voyager installation on another device (which contains the same midi files) by copying the .mfs files into the "Midi_Voyager" folder on the other device.
So the procedure of sharing a .mfs file within the app could proceed as follows:
This app uses 'soundfonts' (sf2 or sfz format) which provide the sounds for MIDI playback. Recommended are sf2 soundfonts with a GM (General MIDI) Sound Set. The included sf2 soundfont "8Rock11e" has a size of only 3 MB (compressed), therefore its quality is not too good. Anyway you will probably want to load your own soundfonts. See below for some example soundfont sites. One popular free soundfont is "Chorium (Revision A)" (27 MB) by openwrld.
The default soundfont (3 MB) will always exist in the folder 'Soundfonts' in the internal storage as 'fallback' soundfont.
You can add other soundfonts to this folder or load one from any other folder (If your device supports external sd cards, you should put new soundfonts there).
The 'SF2...' button in the settings screen allows you to browse and select a soundfont.
Sfz soundfonts Sfz soundfonts are supported. The sounds in a sfz soundfont are not structured in banks/presets from 0-127. Typically a sfz soundfont contains sample for one instrument only, ie. only one preset. You will have to set up the 'sfz sound to midi program' assignments manually: press the "presets" button of the soundfont and choose for which GM program the preset in the sfz should be used for. If you don't set it up then all sounds of the sfz will be mapped bank 0 preset 0. In case you play piano midis using GM midi program 0 (Grand piano), then it might be fine without any manual mapping/ setup.
Another difference to sf2 is that the samples of a sfz soundfont are not contained in the sfz file: They are stored separately, somewhere in the file system, they should be located next to the sfz file. The sfz file is basically just a text file (containing the paths to the samples and other instructions).
You can try use very large soundfonts (> 1GB): Only those samples needed by the current midi file will be loaded into memory.
There are many free soundfonts available on the internet - just search for 'soundfont collection'!
Example sites: musescore.org , hammersound.net
If you want to create your own soundfonts or edit existing ones, you could use a 3rd party software like "Viena Soundfont Editor" (Windows).
This app can also load soundfonts compressed with 'WavPack' , 'flac' and 'Opus' !
If you add your own soundfont, ensure that its file extension is either 'sf2' or 'sf2pack' or 'sfz', otherwise it won't be recognized by the soundfont file picker!
The PRO version of Midi Voyager allows an advanced soundfont configuration:
If you want the app playing midi files for a longer time, but without viewing the notes, eg. having another app in foreground, it is highly recommended that you first exit the app (using the back button) and then choose 'Exit - Keep playing'.
If you would just press the 'home screen' button to hide the app (without exiting it) then it is most likely that it will be killed sooner or later by the Android Operating System to get more memory for other apps (which are in foreground)!
When you choose 'Exit - Keep playing' then the Midi Voyager icon appears in the notification bar.
From Android 4.0 and higher you can use some playback controls (pause, next, exit) additionally to the notification icon. These can be accessed by pulling down the notification bar to the screen bottom.
This playback mode is invoked by pressing long on a folder in the midi files browser screen (instead of selecting a single midi file via short finger tap)
It will first play all files in the selected folder (if there are any) and then all files in all sub folders. So it would be possible to simply play all midi files that exist on the sd card*** by selecting the root folder of the storage medium/the sd card. However it may take quite long*** to find the midi files, because every folder and sub folder would get searched through! So you should better select a folder from which you know it contains only MIDI files or sub folders with MIDI files only.
If you press long on a file in the midi file browser, a menu will open showing the option "Enqueue file". If you choose this, the selected file will not be played back immediately, but rather added to the end of a list of already enqueued files (one could call it a "temporary playlist"). When the current playing file is finished (or you press the "forward" button) the first file in the list will be played back and removed from the list.
If no file is playing at the time you enqueue a new file, and you press the play button, then the current loaded file will start playing, and not the first file you enqueued. Therefore, if you want to start with the first enqueued file, select it by pressing long on the "forward" button (see next tip:)
By pressing long on the "forward" button a list of the remaining enqueued files will show up. If you then select a file e.g. at the third position in the list, all files *before* the selected file will be removed!
The final volume of each note in a midi file is controlled by multiple parameters:
You can choose for each file whether to use "static" volumes or "dynamic" volumes for volume control (in the instruments mixer screen).
The control mode "dynamic" will maintain the relative changes in volume levels (as instructed by the midi file, e.g. for "fade in/out" purposes), ie. each volume-change will be realized with 1-100% of its original value.
In the "static" mode however, all MIDI volume controller changes will be overridden with the volume level set by the volume slider in the instruments mixer screen (absolute values: 0-127).
"Static" volume mode will generally result in louder volumes or will at least make louder volumes possible.
The "dynamic" mode can't make volumes louder than the original volume level (first one in the file), as you can set it to 100% only, ie. a volume change with value "20" will never 'sound' louder than "20" (=100%). You would need to reduce the volumes of the other instruments to make it relatively louder.