Guide - MIDI → MP3 Conversion

CreaVideoLyrics main form

▶ Getting started: your first MP3 in 5 steps

If you are just starting out you hardly need to touch anything: with a well-played MIDI and a good SoundFont the MediumQuality engine already produces an MP3 ready to use. Everything else (per-channel engines, styles, options) is only for when you want to go further.

  1. Load the MIDI with the button next to the MIDI/KAR file field (or drag it onto the field). Then set the options from the Tools menu or directly on the form.
  2. Choose a good SoundFont in the sf2 bank field: it is the "set of instruments" that will play the song, and most of the result depends on it. If you don't have one, start with GeneralUser GS (see Where to find SoundFonts).
  3. Leave the engine on MediumQuality. It is the fastest and, on its own, normalizes the song volume, fixes the drums, adds groove to "mechanical" channels, smooths the winds and limits the peaks.
  4. Press Preview. If an instrument sounds too loud or too soft, correct it with the Vol % column of the grid on the right (see how Vol % works) and listen again. An instrument you don't want to hear: Mute column.
  5. Press Create Audio File. The MP3 is saved in the <song name>_Files folder next to the MIDI, which the program opens by itself when it's done.
Good to know: with MediumQuality the whole song plays with the chosen SoundFont, and the program does not rebalance on its own an instrument recorded much louder than the others in that SoundFont (it happens: for example a synth brass covering everything). In that case just lower it with Vol %. When you want different SoundFonts for each instrument or .sfz libraries, move to MaximizeQuality or HigherQuality sfz: there every channel is measured and those out of scale are brought back in line automatically.

Where to find SoundFonts (and what to know)

The program has no instruments of its own: it takes them from SoundFonts (.sf2, one file with all the instruments) or from .sfz libraries (one instrument per folder, used by the HigherQuality sfz engine). Some free and reliable starting points:

Be wary of "500 SoundFonts in one pack" collections: very uneven quality and often unknown licenses.

What to know before using them

↑ topics

★ The MIDI that no longer sounds like a MIDI

Most MIDI files out there were played on a keyboard: whoever wrote them imitated guitars, winds and strings with the pitch bend wheel, the sustain pedal and the modulation wheel. Played as-is, with modern SoundFonts, you can immediately tell it's a "MIDI backing track": notes that all drop together, plucked little notes, fake vibratos, winds that deflate.

CreaVideoLyrics fixes all of this on its own, while you listen or create the audio: no editing program (DAW), no note to touch by hand, and the original MIDI file is never modified.

Details are in Automatic sound corrections and Style Choice; each family of corrections can be switched on or off from Tools > Corrections by family....

Form overview

This is the form where you load a MIDI/KAR, choose how it should be "played" (engine, soundfont, key, volumes) and generate the final audio file (MP3/WAV), which is then used to synchronize the lyrics and create the video.

Choosing the MIDI file: the button next to the file field opens the selection window directly in your Music folder, whatever the system language: on Windows the system Music folder, on Linux the one indicated by the desktop (for example "Musica" or "Music"), on macOS "Music". If it doesn't exist, it starts from the user folder. After choosing a file, the next time the window starts from that file's folder. .mid, .midi and .kar files are shown (uppercase extensions too); with "All files" you see everything. You can also drag the file directly onto the field.

The typical flow is: load MIDI → choose engine and SoundFont → adjust key/volumes/channels → preview to check the result → create the final audio file.

Choosing the engine

The MIDI itself contains no sound: something has to "play" it with virtual instruments. That's the engine's job.

The options

Why choose one over another: use MediumQuality for quick tests. For a result closer to a professional sequencer, use MaximizeQuality with quality SoundFonts assigned per channel (see Configure Channels) and optionally enable the enhancements in the Options panel. HigherQuality sfz gives the best timbre overall but costs more processing time: choose it for the final export, not for repeated tests.
↑ index

Key, drum intensity and tempo

Key: transposes the whole song by N semitones up or down, without touching the tempo.

Drum intensity: raises or lowers the relative volume of the drums alone compared to the other instruments.

Why use them: the key setting is used to adapt the song to the vocal range of the singer (e.g. lowering it if the original key is too high). Drum intensity is useful when the original backing track has drums that are too intrusive or too weak compared to the rest.
↑ index

Mute channel / Mute channel 2

Two independent selectors to silence one or two specific MIDI channels (e.g. the guide vocal channel, if the MIDI has one).

Values: each selector ranges from 0 to 16; 0 (shown as "-") means no channel muted, from 1 to 16 indicates the channel to silence. Default: Mute channel = 4, Mute channel 2 = 0 (off). Set a number only when you know which channel contains the guide melody (check it with the single-channel preview); otherwise leave it at 0 so you don't lose a useful instrument.

Why use them: many MIDI/KAR files include a "guide melody" channel meant for listening, which must be removed in the final version to leave room for the singer's real voice. Muting that channel avoids having to remove it manually from the MIDI file.
Note: if you no longer hear an instrument you were expecting, always check these two selectors before thinking there's a problem with the engine or the SoundFont.

How it shows up in the channel grid

↑ index

Drum kit

Chooses the drum kit used to play the song, without modifying the original MIDI file.

Values: As in the song (default, no change), Standard, Room, Power, Electronic, TR-808, Jazz, Brush, Orchestra.

Why use it: to give the song a different character (e.g. Brush for a ballad, Power for rock) without touching the MIDI.
↑ index

Overall volume

Adjusts the overall volume of the entire mix, applied after all the other balancing.

Values: from 1 to 100, default 90. Recommended between 75 and 95. Too low: the song sounds weak compared to other backing tracks and will need to be raised later during playback. Too high (close to 100), especially with Mastering and boosts enabled: increases the risk that peaks get squashed by the limiter or distort.

The final file always goes through a -1 dB limiter: even with high values the peaks never go above zero and there are no clicks in players. Above about 80 the volume grows only a little, because the song is already at its clean maximum level.

Why use it: to align the perceived volume of the finished song with that of other backing tracks you'll use together (e.g. in the same show), without having to redo all the per-channel balancing.
↑ index

Song archives: MIDI, MP3 and video sources

Open the appropriate archive from Songs to resume a step. All three use the same searchable, alphabetically sorted window but keep separate lists.

↑ index

Reverb (Impulse Response)

The dropdown menu offers several real "acoustic fingerprints" (Impulse Response): they simulate the sound the song would have if it were recorded in a certain environment (hall, church, studio, etc.), instead of a generic synthetic reverb.

The reverb is kept discreet and the tail of the longer environments (for example Studio, Hall, Going Home) is limited to about 1.2 seconds with a final fade-out: this way it doesn't muddy the mids and the song stays defined.

Why choose one: a well-chosen environmental reverb gives body and "air" to the mix, making it sound less "MIDI" and more like a real recording. Larger environments (hall/church) work well on slow/orchestral songs, smaller/studio environments on rhythmic songs where clarity is needed. If you're not sure, do a short preview with 2-3 different options before deciding.
Note: the reverb is only active if the general "Use Reverb" switch in the Options panel is on: the choice here indicates *which* reverb, the switch in Options decides whether to apply it or not.
↑ index

Preview

Preview / Stop preview (buttons in the main form, under the volume/reverb controls): plays back the mix with the current settings without generating the final file, with 30-second forward/back to quickly skip to the parts of the song you're interested in.

Why use it: the preview lets you try out engine, key, muted channels and reverb before waiting for the full file generation, which with the heavier engines (MaximizeQuality and HigherQuality sfz) can take a while. Always use it before "Create Audio File" so you don't discover a problem only at the end of processing.

Single-channel preview with SF2 engines: if the channel has an .sfz assigned and the chosen engine is MediumQuality or MaximizeQuality, the .sfz is ignored and the channel plays with the global SoundFont (previously a message appeared asking to switch to the sfz engine).

Watch out with MediumQuality (engine 0): the single-channel preview uses the .sf2 file assigned to that channel in the grid, while the full preview and the final audio file use only the global SoundFont. With this engine the isolated channel may therefore sound different from how you'll hear it in the song. To hear the channel's chosen SoundFont in the final file, use MaximizeQuality.

Single-channel preview: audio preparation has a 45-second limit (FluidSynth and sfizz). If it's exceeded the preview stops with a message instead of playing back truncated audio: in that case use a lighter SoundFont on the channel or create the audio file directly. The Stop button interrupts preparation at any time.

Two-phase preview (fast): to start right away, the program first prepares and plays the beginning of the song (about 1–2 minutes); meanwhile it processes the whole song in the background and, as soon as it is ready, switches to it with a crossfade, without stopping playback. For this reason, at the moment of the switch you may hear a very short pause or a slight change in balance: this is normal and does not indicate an error. If you seek past the part that is ready, the program tells you the full song is not ready yet and resumes as soon as possible (you may wait a few seconds).

Instant replay: if the song ends, or you press Stop, and you have changed nothing (engine, SoundFont, volumes, channels, reverb…), pressing Preview again plays the last processed preview immediately, without processing it again. As soon as you change something, the preview is recalculated.

Stop: stops the preview at any stage, even during "Mixing and MP3 encoding..." (previously in that stage Stop only took effect once mixing was finished, after several seconds). An interrupted mix leaves no half-finished file.

↑ index

Create Audio File

Generates the final audio file with all the current settings (engine, per-channel SoundFont, key, volumes, reverb, advanced options).

Automatic subtitles (.srt): the button is called Create Audio File and SRT for Video. If the MIDI contains lyrics (lyric or karaoke events), it also creates, next to the MP3 in the _Files folder, an .srt file with the same name, one line at a time, and the Create Video form picks it up by itself. As in Sync Lyrics: each line ends when the next one starts and appears 1 second earlier, so the reader knows what comes next; the first line appears 1 second before its first syllable (true MIDI timing) and the opening wait is filled by the Create Video opening title. Title and artist, if the MIDI contains them, are saved next to the MP3 (an .intro.txt file) and proposed in Create Video. During long instrumental breaks the line disappears after a few seconds. Leading service lines (copyright, title, website) are skipped. It also works with MIDIs that have a whole line per event, with line breaks (CR/LF) at the start or end: lines are split into words, with word-by-word colouring, and quotation marks in the lyrics no longer cause errors. If an .srt with that name already exists (for instance one made by hand in Sync Lyrics) the program asks Do you want to overwrite it?: answer No to keep yours.

Why leave it for last: every regeneration with heavy engines takes time. First check with the preview that you're happy with the result, then generate the final file: it's the one you'll use in the Sync lyrics form to align the subtitles.
↑ index

Configure Channels (per-channel SF2 grid)

It is always visible in the main form, on the right (previously it opened and closed with the "Extra Track Options" button, which no longer exists). It refreshes itself every time you load a MIDI; remember to press Save and Apply to keep the song's changes. A dedicated panel where you assign a specific SoundFont/SFZ to each of the 16 MIDI channels, instead of using a single generic one for the whole song.

With the MediumQuality engine (engine 0) the grid's Vol %, Key and Mute apply, but not the per-channel SoundFonts: the whole song plays with the global SoundFont. To use a different SoundFont per channel choose MaximizeQuality (.sf2 files) or HigherQuality sfz (.sfz files). If the grid contains .sfz files and the chosen engine only reads .sf2 (MediumQuality or MaximizeQuality), a warning lists the channels involved: they will play with the global SoundFont.

What you can do here

Conveniences and automatic behavior

Why use this grid instead of a single SoundFont: a generic SoundFont is rarely great for all instruments together (e.g. good for strings but poor on drums). Assigning targeted SoundFonts per channel gets you a noticeably more polished mix, at the cost of a bit more preparation time. Run the full export again after changing the settings.
↑ index

Song versions

Dropdown menu in the main form, near the channel controls. Despite the name it's not about "versions" of the song in a musical sense, but chooses WHERE the per-channel SoundFont assignments come from:

Why use it: it lets you hand-tune the SoundFont assignment of a particularly delicate song (see Configure Channels, which is the panel that creates/edits the _sf2.txt file) without affecting the default configuration you use for all your other songs.
↑ index

Options panel (advanced effects)

Gathers a set of optional enhancements, each with its own switch, applied only when generating with "Enhanced Quality" (FluidSynth engine). You can make them apply only to the current song (checkbox "only for the currently loaded song") instead of every song.

Available options

Compensated stereo level: widening and narrowing preserve the mix’s average spectral balance. The program measures mid and side energy in windows distributed across the song and computes a frequency-dependent correction held constant throughout the song: it reduces boosts and recovers losses caused by the stereo effect alone, within 12 dB. It applies no fixed cymbal cut and changes no MIDI notes, velocities or drum kits. Intensity 1.00 bypasses this stage. Calibration uses the accompaniment even when the guide is audible, for preview and audio export with engines 0, 1 and 2. An additional measurement and audio pass are required; local balances may differ from the song average.

Why (and when) to enable them: these options improve the result but need to be weighed one by one, not all together "blindly" - some can conflict with each other on the same song. Humanization and Chorus almost always help and are low risk. Mastering is recommended in almost every case, unless you notice it squashes the dynamics too much. Piano-spring fix is on by default and only affects the piano: turn it off only if you want to hear the MIDI's dynamics exactly as written (e.g. a solo piano piece with intentional strong contrasts). Stereo widen and bass/treble boost are targeted corrections: use them when the "base" mix has a specific problem (too narrow, too weak on the low/high end), not as a permanent setting.
Performance note: the more options you enable, the longer audio file generation with "Enhanced Quality" will take. Use "Apply and Listen" to quickly evaluate the effect of a change on just the current channel/song before a full export.
↑ index

More items in the Options panel

Besides the items described in Options panel, the panel contains these options. They apply to all songs or, with «only for the song currently loaded», to the current song only.

↑ index

Recommended settings by genre

Values found by comparing our renders with the original recordings (volume, timbre across frequency bands and stereo width measured). They're a starting point: they're saved for a single song with "Use these options only for the currently loaded song".

Genre preset: in the Style presets menu (no longer in the Options panel) pick a genre and it sets all the items below in one go (including engine idx 1 and the main form's IR reverb). The preset stays active (checked in the menu) and applies to the songs you load from then on; songs that already have their own saved options are not changed. If you then edit the Options by hand the check disappears, and every item stays editable. Available presets: Dance / Disco / Funk (IR "Ruby Room") and Slow / Ballad / Jazz (IR "Hall", wind echo attenuated) and Pop (IR "Studio", short and dry, narrow stereo) and Blues (IR "Ruby Room", club room, wind echo attenuated; for Slow Blues and Blues Shuffle) and Rock blues (IR "Studio", corrections with groove and glue, full winds). The presets only adjust the sound: to transform the song (instruments, dynamics, production) there's the Choose style... item in the Tools menu.

Dance, disco, funk (many instruments, rhythm up front)

Why: with these settings "Disco Inferno" went from an "everything in the center" sound (sides as loud as the center, bass +4 dB, presence -10 dB, 4.5 dB below standard volume) to a stereo scene and timbre almost identical to the original recording.

Slow songs, ballads, jazz (few instruments, winds and piano in the spotlight)

Why: this is the combination that made "Ancora (Jazz Version)" turn out "airy, open, never static" on the evening's sound system.

Style Choice

The Tools > Choose style... item transforms the loaded song into a style, always in the same way. Unlike the genre presets in Options, which only adjust rendering, here the song itself changes, on three levels that can be switched on and off:

The Intensity slider dials all three (70% = reference values). Apply creates a new MIDI <song>_<style>.mid in the _Files folder, with its own configuration (copied from the song's; channels that change instrument receive the new family's SoundFont) and loads it: the original isn't touched and the MP3 has a distinct name. Then you listen with the normal preview. This MIDI only contains the style transformation: for a MIDI that also includes corrections and humanization, to use outside the program, there's Export corrected MIDI. Reopening Style Choice from a styled version, the choices restart from the ones used and the style is always redone starting from the original (never one style on top of another); Back to original reloads the starting song.

Production that adapts to the song: each style has a reference profile measured on a reference version of the genre: how much weight the bass, mids and treble carry (7 bands), how wide the sides are compared to the center and how much dynamics there is. During the mix the program measures your song, with the SoundFont and engine you're using, and works out on its own the equalization, stereo width and compression to get closer to the profile; a second measurement corrects the remaining error. The result therefore no longer depends on the sound bank. The Intensity slider says how close to get (70% = up to the reference). The final MP3 message shows the remaining gap ("style profile: max gap ... dB"). Mixing a styled song takes a few seconds longer.

Available styles: Soft acoustic Ballad, tuned by listening to and measuring "Dove": acoustic piano → steel acoustic guitar, electric piano → nylon guitar (slower, softer strumming) (downstroke on the beats, lighter upstroke on the offbeats, E2-G5 voicing with at most 6 strings), velocities brought closer to the channel median, ritardando up to +15% on the last two bars, bass +3 dB, less 600 Hz, 4.5 kHz and 8 kHz, soft compression (dynamic range from about 7 to about 4 LU), IR reverb +20%, 6-second fade-out.

Fast Pop, tuned by listening to and measuring "Ora che non ho piu' te": designed for guide MIDIs already arranged in pop style (bass, rhythmic guitar/synth, real drums) - Arrangement doesn't change instruments or notes. Interpretation: if enabled, a dynamics crescendo towards the choruses (up to 25% more velocity at full intensity), automatically detecting verses and choruses from the MIDI; drums and strings/pads are however trimmed in the choruses in proportion to the boost given to the other sounds, so they don't end up disproportionate. Production: reinforced brightness/presence (up to +11 dB 6-12 kHz, +8 dB 2-6 kHz, +6 dB 12-16 kHz, +4 dB sub/bass), faster and more decisive compression, short reverb, stereo slightly narrowed towards the center.

Slow Blues, tuned by listening to and measuring "Tennessee Whiskey" (Chris Stapleton): for slow blues and soul-blues (12/8 or slow 4/4) with guide MIDIs already arranged. Arrangement: acoustic guitars → clean electric guitar (the program discards distorted/overdrive SoundFonts and falls back to the global SoundFont), organs and synth pads → Hammond organ, pick/fretless/slap/synth electric bass → finger bass; piano, winds and melody stay as they are. Interpretation: no change to notes or rhythm (no swing added), drums a bit lighter, slight crescendo in the choruses (+15% at intensity 70, with headroom: channels already close to 127 are rescaled instead of clipping), final ritardando only if the MIDI doesn't already have one. Production: cleaner low-mids, more presence and a touch of brightness, light compression and peak limiter (less jutting hits, like in professional mixes), no final fade-out (the song is sung right to the end). Pair it with the Blues genre preset in Options.

Blues Shuffle, tuned on "Sweet Home Chicago" (Blues Brothers): for blues with a "skipping" feel (triplet eighths) and a band with horns. Arrangement as in Slow Blues. Interpretation: no note changes; the program checks whether the MIDI is already shuffled and says so in the summary (if it has straight eighths, for now it leaves them straight); slight crescendo in the choruses; full drums. Production: less bass, much more presence and brightness (horns and guitars up front), wider stereo, peak limiter, no fade-out.

Rock blues, tuned on "Diavolo in me" (Zucchero): for rock-blues with straight eighths or sixteenths, distorted guitars and horns. Arrangement: no change. Interpretation: crescendo in the choruses more decisive than in the blues styles (+20% at intensity 70), with headroom on already-high velocities. Production: more presence (guitars and horns up front), a touch less air, stereo slightly narrower, peak limiter, no fade-out.

Fast Pop and "Widen the stereo image": Fast Pop's Production already slightly narrows the stereo to give the mix more center and "punch". If in the Options panel you've also manually enabled Widen the stereo image, the two effects add up and can create an inconsistent result (a mix that's widening and narrowing at the same time). With Fast Pop, therefore, leave the manual stereo widening option off.

Family styles (Funk, Italian Melodic, Disco, Jazz, Latin / Bossa, Country / Folk, Reggae, House, Hip Hop, Electronic, R&B): for these styles the Arrangement is conservative. The song's instruments stay as they are in the MIDI; the only change is a synth bass (programs 38 and 39), which becomes an electric bass. The Interpretation changes nothing. The character of the style comes from the Production, which brings your song's sound closer to a reference profile measured on a real recording:

MIDI cleanup: in the family styles, with Arrangement on, the program also removes three things that spoil the listening: (1) channels that are muted in the MIDI (average velocity below 5), which some SoundFonts would still play; (2) a side guitar, i.e. with a different instrument than the main guitar and less than 15% of its notes (a few accents that often clash with the accompaniment); (3) when two guitars share the same instrument, the one with fewer notes drops to 60% volume and acts as a shadow. Also, notes that are too short on guitars, strings, winds and pads are lengthened to 180 ms (without running into the next note of the same pitch), and in choirs notes under 260 ms are removed (keyboard-style runs that a real choir would not sing), along with the sustain pedal, and notes above G5 drop an octave; a choir with flat, high velocity goes to 75% volume. Sung parts are never touched. The final summary lists the "Cleanup: ..." lines. In the styles, an electric piano holding the pad (long chords) also stays an electric piano, and an "Aah" choir stays a choir: they no longer turn into synth strings or organ.

Opening a MIDI with double-click or "Open with"

Why: it's the fastest way to get to the preview starting from the MIDI folder, without searching for the file inside the app.

Export corrected MIDI

Why: the corrected, humanized MIDI can be used on any expander, arranger keyboard or sequencer and sounds like the preview (apart from the SoundFont sounds and audio effects). Humanization is reproducible: the same song with the same settings always gives the same MIDI, so exports can be compared.

When to disable the options: turn off "Form settings" to get the complete song in its original key; turn off humanization for a MIDI that's just corrected, to be refined by hand in a sequencer. IR reverb, mastering, stereo widening and boosts don't go into the MIDI (they're audio effects), nor does the string pad.

Automatic sound corrections

Three corrections the program applies on its own during preview, single-channel preview, "Create Audio File". None of them modify the original MIDI: it always works on temporary copies.

1. Wind and accordion expression

Why: many "played" MIDIs imitate the musician's breath with wide, continuous bends and expression drops. With a static sample (SF2 or SFZ) the volume "deflates" and leaves holes over a static sound: the result sounds fake, especially on sax and accordion.

When it applies / how to disable it: it's active when MIDI Humanization is active in Options. Disabling Humanization plays the MIDI exactly as written (useful if the MIDI is already tailored for a specific virtual instrument that handles bend and expression well).

Values: minimum expression 50 out of 127 (about -8 dB below maximum, instead of silence).

Pitch: pitch bend is never reduced or zeroed. The only intervention is re-centering the vibrato, which only kicks in when all these conditions are true: the note is held, after the first 120 ticks (about an eighth, the attack with its "slide" stays intact) there are at least 4 bend values that go up and down at least 4 times (a vibrato, not an intentional bend in one direction), and their average is more than about 1/13 of a semitone away from the initial pitch on the same side. The check is done note by note even when legato phrasing makes notes overlap or touch: when a new note starts, the previous one's vibrato is evaluated and closed there. At the end of the note the bend returns to the original value. The rest of the bend stays as written. In many MIDIs the bend is part of the pitch itself: for example it rises two semitones and stays up for the following notes, written lower. Reducing or zeroing it would make the instrument out of tune.

2. Compensation for low-recorded SFZ files

Why: some libraries record instruments much quieter than others (real example: an alto sax with regions at -6 and -12 dB). In the mix that instrument disappeared under the others even though the MIDI played it loud.

Values: maximum correction +12 dB; .sfz files with an average between -3 and 0 dB (or without volume=) don't change. The correction adds to the channel grid's Vol %: if an instrument still seems too quiet or too loud, adjust it there.

2b. SFZ with wrong transposition

Why: some .sfz files, usually converted from other formats, have a wrong transposition and play one or two octaves out of place. Real example: an alto sax with transpose=19 played an octave and a fifth higher (measured on the audio file: notes written Eb4, played Bb5).

Good to know: different transpositions between regions, or ones smaller than 12 semitones, are considered intentional and are not touched. With SF2 engines the .sfz file isn't used, so the compensation isn't needed.

2c. Final mix volume (normalization)

Why: before, the target was -14 LUFS (very loud) and, when the required gain was large, normalization switched on its own to a "dynamic" mode: at the start of the song the volume rose in steps up to a very high level. With fixed gain there are no more ramps and the level stays comfortable.

Speed: the mix of all channels, with effects and reverb, is now computed only once (previously it was redone for every measurement pass and for the MP3) and at 48 kHz, the MP3's rate. The volume measurement also now uses a filter about 7 times faster (ebur128, same values). The "Mixing and final Mastering" stage now takes about half or less (in tests: from 47 to about 20 seconds for a 4-minute song, with mix Glue from 72 to about 22); the sound doesn't change. At the end of conversion the message shows the time of the final stage, split between channel balancing, mix with effects and measurement, glue measurement and MP3 creation: useful to see where time is spent. Some free disk space next to the MP3 is needed for a temporary file (about 90 MB per 4 minutes of song), which is deleted at the end. The progress bar now grows throughout the whole conversion: 10% MIDI preparation, 20 to 80% one step per rendered channel, 82% channel balancing, 88 to 100% mix and MP3 creation.

Values: target -16 LUFS (typical of streaming services); maximum peak -1 dBTP; correction limited to ±20 dB. The form's Overall volume is applied after normalization, so it's a real output volume control: 100 = normalized level (-16 LUFS), below 100 quieter, above 100 louder (in that case a limiter prevents peaks from saturating).

2e. Corrections by instrument family

Already expressive dynamics: velocities are no longer stretched automatically to 25–127. Additional variation and piano anti-spring processing are restricted to parts that remain mechanical. Drums are not normalized a second time after groove. CC11=0 remains silence even for short events, and reopening expression does not recover an old peak.

Guitar wheel, GM 24–31: transient excursions returning to center are removed. A bend is retained when it stays close to its peak for at least 300 ms, rather than simply having a long overall ramp. Bends that never return to center are preserved to avoid losing permanent tuning offsets.

Why: the same correction doesn't suit everyone: legato makes winds and strings sound natural but would blur guitars and bass, and straightening the bend improves a vibrato but would erase a guitar's bend (which is why on guitars the bend stays, and is only brought onto the right note: with distortion even 20-30 cents of difference is heard as being out of tune). Overlapping repeated notes were the typical cause of a note "cutting off abruptly" mid-song: the first note's note-off also closed the second.

Values: the ticks shown refer to 480 PPQ and are rescaled to the MIDI's PPQ. Attacks (note starts) never change, so rhythm and notes stay as written. To disable all corrections, turn off Humanization in the Options panel.

2f. Dynamics and doublings

Why: full recalibration lowered already quietly-played notes by 13-25 (e.g. the sax in "Ancora" around the 22-second mark) and the 40 ms doubling of two sax copies sounded like a flaw, not an effect.

2g. Choosing corrections (Options > Corrections by family)

Why: the corrections are designed for keyboard-played MIDIs; on an already well-crafted MIDI, or for a different taste, they can be turned off by family. Wind echo is an arranger's choice that on a sampled sax often sounds fake: it's up to the user to decide.

When to disable: if a family sounds better as written (e.g. guitars already well played, strings already with good legato). Default: all on, echo kept.

2h. Groove for mechanical channels (disco, dance)

Why: in disco MIDIs the kick is always at 127, the snare always at 95, the bass with every note at the same strength, everything exactly on the grid: it sounds like a machine. A real drummer and bassist accent according to the beat and sit "in the pocket", with the snare just slightly behind.

When to disable: for electronic songs where the machine's precision is intentional (techno, electro). Humanization is reproducible here too: the same song exported twice gives the same MIDI.

2i. Automatic channel balancing

Why: balancing used to look at peaks: kick and snare hits always looked "out of scale", so the drums had been excluded and were left with no control; and a raised Vol % was lowered again by the balancing. Perceived loudness treats every instrument the same way.

2i-bis. Skewed or doubled drums

Why: in a MIDI channel, balance and pan are single values: with two tracks merged, the last value received wins and the whole drum kit goes to that side. The SoundFont's kit already has its own stereo layout for each piece, which only works with the channel centered.

2j. Mastering: presence and mix glue

Why: comparing our render of "Disco Inferno" with the original recording, the stereo width was already similar (actually a bit wider), but in our mix the 1-3 kHz band was about 10 dB lower, the 60-120 Hz bass about 5 dB higher and the peaks about 5 dB more detached from the average. The result was an "everything in the center" sound: a heavy center low end and little presence at the sides.

When to disable: in acoustic slow songs and piano-and-voice pieces, presence can come out harsh and glue can remove dynamics: try with and without. Default: off. With glue enabled it's recommended to leave the bass boost off.

2d. Natural closing of final notes

Why: previously the MIDI "All Sound Off" command was sent at the end of the track, which cuts the sound off instantly, and rendering stopped at the last event: the final note of some instruments closed "abruptly", with no fade, and reverb and release tails were cut off.
↑ index

2f. Removing keyboard gestures: guitars, bass and wind sections

  • Sustain pedal on guitars: removed. With the pedal, notes stayed sounding past their end and every bend dragged them along.
  • Modulation-wheel (CC1) vibrato on guitars: reduced to about a third (it was regular and wide, keyboard-style).
  • Slides prepared on a still-sounding note and bends on a muted channel: the wheel was moved while the previous note was still ringing (drops and little "sagging" tails, very noticeable with long-tailed SoundFonts): now the movement happens on the following attack.
  • Guitar chords: no longer all bend together; attacks slid up from below into chords, or above a still-ringing note, now come in straight, with a fast, light vibrato at the end of long notes.
  • Fast legato passages on guitars, real notes keep their pitch and velocity, with small gaps closed without synthesizing new wheel events. Bass processing remains separate. Runs arriving on a chord retain the specific chord correction.
  • Multi-voice clusters: very short double or triple stops that slide up to a chord are removed, the arrival chord starts in their place.
  • Wind sections (Brass Section, Synth Brass) and winds playing chords or octaves: the pitch bend stays centered, no more dropping together in unison.
Why: these are all gestures a keyboard player uses to imitate a guitarist or a horn section, but that no guitarist or horn player actually does. With these removed, the song stops "sounding like a MIDI".

Contextual drum and wind balancing: the average level over the entire song no longer triggers an extra drum cut on its own: dominance must be confirmed against instruments playing at the same time. Wind-section energy is compared with at least two active accompaniment parts: attenuation is limited to 3 dB and requires persistent excess (at least 3 consecutive seconds and 60% of the channel's activity). Brief responses, solos without enough references and winds already behind the section remain unchanged; no fixed boosts are applied. The guide, muted parts, manual levels and timbral compensation are excluded from the decision. SFZ descriptions containing octave-compensation text are also recognised. Applies to balanced preview and audio export in engines 0/1/2; original MIDI files and the approved vocal-protection rules are unchanged. This conservative estimate requires listening checks.

Contextual recovery of recessed parts: with Balance volumes enabled, after audio balancing a recessed part is compared with the original MIDI rendered using the same bank, engine and actual parameters. Recovery requires a measured processing loss and at least two simultaneous reference instruments: up to 3 dB, limited by both the original level and accompaniment headroom, with gradual attack and release. Only persistent passages outside the vocal are eligible; the guide and a half-second guard, deliberately soft notes, ramps, drums, pads and fret noises are excluded. Naturally quiet SoundFonts are not automatically boosted and selected timbres are not replaced. Incomparable arrangements or presets are skipped with a diagnostic reason. Preview and audio export, including SFZ rendering, may need extra measurements and rendering of candidate reference parts. Original MIDI files and manual levels are preserved; listening checks remain necessary.

With volume balancing enabled, drums are also compared with instruments playing at the same time. Sustained prominence may receive a constant reduction up to 3 dB; brief fills alone do not trigger this control.

Position-change trial: even without portamento, nylon/steel acoustic guitars GM24–25 may receive subtle fret noise during varied monophonic phrases with plausible position shifts. Chords and repeated patterns are excluded; inferred gestures are quieter and limited to one every eight quarter notes. This is a musical estimate, not a reconstruction of actual fingering. The log distinguishes explicit and inferred gestures.

Family SF... (below the grid): replaces all previous SoundFont paths with family SF2, or available family SFZ with SF2 fallback. Missing families use the global bank. Volume, mute and octave settings are preserved. Selecting SFZ enables the SFZ engine; engine 0 uses only the global bank. Press Save and Apply to save the new grid.

Dry drums: in per-channel rendering, channel 10 is excluded from both IR reverb and global echo, including with Tube Warmth or Multiband Bass enabled. Internal FluidSynth reverb is disabled for the separate drum render. Ambience already recorded in the bank samples remains audible.

Dominant-part balancing: with a positive audio margin, instruments exceeding the threshold receive an additional progressive reduction up to 3 dB. No fixed cut is tied to a timbre. Drums, winds, bass and pads/strings retain their dedicated rules; parts below threshold and zero-margin processing remain unchanged.

With volume balancing enabled, preview prepares the entire song before playback: levels are measured over the full song and playback does not switch between different renders. Initial preparation takes longer. Unchanged settings allow immediate replay; changing global or song options invalidates the cache, including vocal protection. Authored MIDI dynamics remain preserved.

Isolated-drop recovery: with volume balancing enabled, compares audio medians before and after a channel volume/expression step. Recovers up to4dB only with comparable note density, velocity and register. Ramps, silence, drums and the guide are excluded. Recovery enters gradually and ends when the controller is restored or changes again. Corrected parts are remeasured before final balancing. Applies to preview and audio export; exported MIDI controllers are not changed.

Humanization and pedal: added note-release extensions cannot cross sustain, sostenuto, reset or note-stop events. This prevents an already released note from being captured by a later pedal press. Original pitches, onsets, controllers and authored overlaps are preserved; controllers on other tracks of the same channel are included.

Preview files: intermediate mix channels are removed after preparation, including errors or Stop, and use names separate from export channels. A solo preview WAV is removed when playback ends or Stop is pressed. The completed full mix remains available for the cache. Exported channel WAVs are also removed after the MP3 is created.

Contextual crash and ride balance: with Balance volumes enabled, preview and audio export in engines 0, 1 and 2 measure SF2 crash and ride separately, including mixed SFZ arrangements. Attacks are compared with instruments playing at the same time; the correction remains constant throughout the song. A tolerance band avoids unnecessary changes: up to 6 dB attenuation or 2 dB recovery, with no recovery for parts written entirely as soft hits. Kick, snare, hi-hat and other drums retain the kit balance. Manual levels remain applied and are excluded from the automatic decision. Enough hits and at least two reference instruments are required; insufficient evidence or an inaccurate kit reconstruction bypasses the control, with a diagnostic log message. The comparison band is a conservative estimate requiring listening checks. Three additional drum renders and measurements are needed. Original MIDI files remain unchanged; this does not affect MIDI-only export or SFZ drum kits.

M-Live lyrics: in addition to standard lyric and karaoke events, the reader recognizes M-Live SysEx text lines with dedicated syllable progress controllers. A valid original clock produces SRT, .parole and intro files without interpolated word timing. Once both MP3 and SRT exist, the export offers to open Create video. Missing usable lyrics or a write failure is explained in the completion message. Corrected MIDI export preserves the karaoke clock even when its data channel plays no notes. Older corrected files that already lost these controllers must be regenerated from the original.

Disk space after export: after the MP3 is successfully created, the song’s individual channel WAVs are removed automatically, including leftovers from previous exports of the same song. They are not a permanent cache. Temporary channels created by the current operation are also cleaned up on Stop or error. MP3, MIDI, SRT, .parole, intro and the completed full preview cache remain available. To change the sound after export, adjust the settings and run Create Audio File and SRT for Video again. Family SF, Cancel and Save and Apply are centered as a group in the panel.