▶ 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.
- 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.
- 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).
- 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.
- 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.
- 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:
- GeneralUser GS — complete, light and well-made General MIDI SoundFont: a great first global SoundFont. github.com/mrbumpy409/GeneralUser-GS
- Musical Artifacts — large archive of .sf2 and .sfz SoundFonts, each with its license shown on its page. musical-artifacts.com
- SFZ Instruments — free, high-quality .sfz instruments for HigherQuality sfz, for example the Salamander Grand Piano and the VSCO Community Edition orchestra. sfzinstruments.github.io
Be wary of "500 SoundFonts in one pack" collections: very uneven quality and often unknown licenses.
What to know before using them
- License: not every SoundFont can be used in backing tracks you sell or play in public. Always read the license of each file; some only ask you to credit the author, others forbid commercial use.
- Uneven volumes: each SoundFont records its instruments at different levels, and the same MIDI can come out with one instrument much louder than the others. With MaximizeQuality and HigherQuality sfz the program fixes the excesses on its own; with MediumQuality correct them with Vol %.
- Missing instruments: an incomplete or "single instrument" SoundFont may not contain the instrument the MIDI asks for: the program falls back on the global SoundFont, but the sound changes. The grid shows "SF2 without this instrument".
- Very different quality: the same song can sound great or "like a toy keyboard" depending on the SoundFont. Always check with a preview; the automatic search (Options > SoundFonts by family) gives each file a quality score from 0 to 10.
- SFZ without samples: an .sfz is just a list of audio files; if the samples are not in the expected folder the instrument stays silent (the program warns you).
- Memory and time: very large SoundFonts (over 500 MB) slow down loading and audio creation.
↑ 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.
- Guitars: fast passages played legato like a guitarist (hammer-on / pull-off) instead of plucked note by note; keyboard-style note "clusters" removed; chords that come in straight instead of sliding and dropping; no sustain pedal (a guitar doesn't have one); reduced wheel vibrato; bends landed on the right note; chords without a third reconstructed.
- Bass: same legato as guitars, no "cut off" notes.
- Winds: legato phrasing, natural breathing instead of volume holes, saxophonist-style vibrato instead of keyboard vibrato; wind sections no longer all drop together.
- Strings, voices, pads, accordion: soft expression (on strings only the dips below the recent peak are softened, the low parts set in the MIDI are not raised), re-centered vibrato, pads with straight notes and a soft, slightly irregular vibrato (like the winds') after the first third of the note. Smooth string fade-outs (dissolvenze) are respected: the breath/swell humanization is not applied inside them. The same applies to notes where the author wrote their own CC11 inside the note.
- Pizzicato strings: replaced with the harp (GM 46), which sounds better in arpeggiated figures.
- Preview cache: a newly compiled executable automatically invalidates cached previews, so playback uses the current audio processing.
- Background pads: with Balance volumes enabled, GM pads 88–95 are compared with the other instruments in the song. Only prominent pads are reduced towards a background level (6 dB below the reference); quiet pads are never raised. Per-channel engines also measure the loudness of the actual SoundFont WAVs; engine 0 and MIDI export use a windowed MIDI estimate. Humanization preserves pad velocities without expanding their range.
- Peak limiter for strings, pads and winds (01/11): on each channel, notes that stand out far above the part’s own median level (exaggerated peaks) are lowered, by at most 6 dB, acting on expression (CC11) and velocity; quiet parts are not touched and nothing is raised. GM pads 88–95 also sit 4.5 dB lower, as background. Drums, the lead channel and muted channels are never touched. Active with the strings/winds corrections of Instrument corrections.
- Section strings in context (01/11): with Balance volumes enabled, section strings (GM 48–54) are compared window by window with all the other instruments, after their own corrections, and lowered if they stand out (they should stay about 12 dB under the sum of the others, max cut 12 dB). Valid for every engine.
- Guitars and rhythm base (01/11): if the drums/bass reach their maximum cut (12 dB) and are still above the target, the leftover (max 6 dB) is taken from the loudest guitars (GM 24–31), so the mix does not stay guitar-heavy.
- Muted guitar (01/11): the muted/percussive electric guitar (GM 28) is always compared with all the other instruments, after their corrections, and lowered if it stands out (limit 12 dB below the sum of the others, max cut 12 dB).
- Convolution reverb without double reverb (01/11): when an IR reverb is selected, the per-channel renders are dry (the SoundFont’s internal reverb is off and the MIDI reverb sends, CC91, are ignored in the render); the IR is the only reverb of the mix. The MIDI file and the MIDI export keep their CC91. With no IR, or with the simple echo, nothing changes.
- Finger slides on strings (rewritten 01/11): with Humanization and Guitars corrections enabled, short GM 120 fret noises are placed only where a finger slide really happens on acoustic/clean guitars (GM 24–28): an explicit portamento, a melodic shift of a few semitones that leaves the recent notes of the part, or a chord shape moving along the neck. Plain repeated chords and leaps that are not slides are skipped, and the count stays low. The level is relative to the guitar: the program measures the loudness of the loudest guitar and sets the noise a few dB below it, so it never stands out and is never inaudible (no fixed value). The noises have a short reverb tail so they sit in the mix. The GM 120 noises already written in the MIDI are always removed and replaced with these, so only the ones in the right places remain. They are rendered separately, leave the song channels free, respect mutes and never stack at the same point. The general SoundFont must contain the preset (bundled FluidR3 is the fallback). MIDI export adds a channel only if one is free. The sound depends on the bank’s fret-noise sample.
- Per-instrument compensation (23/10): some SoundFont instruments sound louder than their velocity suggests. With Balance volumes on, the kalimba (GM 108) is lowered by a nominal 5 dB on all its channels. Compensation is applied once, including engine 0: after humanization when scheduled, otherwise during MIDI preparation. MIDI export follows the humanization choice in its export dialog. Audio balancing accounts for compensation so it is not automatically recovered. The value acts on velocity; the acoustic result depends on the SoundFont. Lead mute: the selected lead channel is remembered for each song. Muting or unmuting it does not change the accompaniment reference: both MIDI and audio balancing exclude it. Final loudness and mastering calibration use the accompaniment alone. Engine 0 needs an additional reference render when the lead is audible; per-channel engines exclude its WAV from calibration. Dynamic compression/limiting can still react to the audible lead.
- Channels silenced by the author (23/10): very quiet velocities (1–10) are preserved. Melodic notes are not raised to 25, nor drums to 35; groove also leaves these quiet hits intact. Actual sound still depends on the SoundFont.
- Silenced pads in balancing (23/10): with Balance volumes enabled, quiet strings, choirs and pads may receive contextual CC7 attenuation if their SoundFont still makes them too prominent. The Transform choirs into strings option keeps the GM 52–54 choir-to-strings conversion when enabled.
- Balancing: density and lead channel (23/10): a channel's level in each 2-bar window also accounts for how many notes it plays (a dense arpeggio weighs more than a long note), and the comparison with the median excludes the lead channel and channels silenced with a very low velocity. The extra reduction of strings in the intro (until the vocal enters) only applies as far as the strings exceed the other instruments: if they are already lower, they are not lowered further.
- The whole song: repeated notes that don't cut off abruptly, doublings of the same instrument that don't add up, pianos at the same level, uniform final volume.
- Style Choice: on top of that, with one click, the song becomes Ballad, Pop, Slow Blues, Blues Shuffle, Rock Blues or one of the family styles (Funk, Italian Melodic, Disco, Jazz, Latin, Country, Reggae, House, Hip Hop, Electronic, R&B), with arrangement, interpretation and production sound tuned on real recordings.
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
- MediumQuality (FluidSynth, engine 0): plays the whole song in a single pass with the global SoundFont (.sf2); it's the fastest, ideal for tests and previews. From the Configure Channels grid it uses Vol %, Key and Mute (written into the MIDI before playing it), but not the per-channel SoundFonts. It is the recommended engine to start with (see Getting started).
- MaximizeQuality (FluidSynth, engine 1): renders each channel separately with its own .sf2 SoundFont (chosen in the configuration grid) and then mixes them: much better separation and air, somewhat longer times.
- HigherQuality sfz (sfizz, engine 2): uses .sfz libraries per channel; the most refined timbre, with the longest render times.
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.
- Key: values from -24 to +24 semitones (two octaves down or up), default 0 (original key). Recommended to stay between -5 and +5: usually enough to adapt to the voice. Large shifts (beyond +/-7) make the instruments sound unnatural (muddy, dark basses if too far down, harsh timbres if too far up); +12/-12 equals a full octave.
- Drum intensity: values from 0 to 200, default 90 (90 = drum volume unchanged; 45 = half, 180 = double). Recommended between 70 and 120: very low values make the drums almost absent and the song loses drive, very high values make them cover the voice and 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
- What happens: the channel indicated by the 1st and 2nd selector appears in the channel grid with the row colored (purple) and Mute = Yes, already when the MIDI is loaded and every time you move the selector.
- Why: that channel is still silenced in the preview and in the final file; before, the grid could show "No" and it looked like the mute wasn't active.
- Good to know: the selected row stays highlighted in yellow: click another row to see the mute color. The marking is purely visual and does not change the song's saved settings.
↑ 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.
- The choice takes precedence over the style kit and the automatic Room kit.
- It applies to all rendering engines and also to the preview.
- If the SoundFont does not contain the chosen kit, the Standard kit is used.
- With the sfizz engine (.sfz files) the kit change is ignored.
- Reverb checkbox (next to the kit): off by default, the drums stay dry (no reverb) even if you chose an IR; turn it on if you want the drums to get the reverb too. It applies to SoundFont (.sf2) drums; .sfz kits may carry their own ambience.
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.
- MIDI song archive: finds processed MIDI songs through their
name_sf2.txt settings files. Double-click to load the MIDI and its settings into Midi to Mp3.
- MP3 song archive (in Sync lyrics): finds
name.mp3 + name.txt pairs in the same folder. Double-click to fill the audio and text fields in Sync lyrics and prepare an SRT.
- Video song archive (in Create video): finds
name.mp3 + name.srt pairs. Double-click to fill both fields in Create video, then choose a background. This is a list of MP3 sources ready for video creation, not finished MP4 files.
- Scan folder... includes subfolders and replaces the entire previous list for the selected archive. Choosing a different folder keeps only the newly found songs. A completed scan with no matches clears the list.
- Cancel scan: preserves the previous list; a scan interrupted by an error also leaves it intact.
- Search: filters by name or folder. Red entries indicate a missing file or TXT/SRT companion. Remove from list removes only the entry, never the files.
- Songs root folder... allows relative paths. Import from other systems adds entries from the corresponding archive under the local root. MP3 and Video entries also require their matching TXT/SRT file.
- Storage: separate
archivio_osx.ini, archivio_mp3_osx.ini and archivio_video_osx.ini files in Music/CreaVideoLyrics/; the suffix is win/lin on Windows/Linux. Eligible sources are also registered after successful exports. MP3 and Video archives are available in the modules’ context menus.
↑ 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
- Assign a different .sf2/.sfz file per channel (e.g. a better piano only on the piano channel).
- Mute or adjust the volume of a single channel with Vol %: from 0% to 200%, default 100% (the volume the channel has in the MIDI). It works with all three engines, in the preview and in the final file.
How to read Vol %: it sets the channel's amplitude, like a mixer fader. Our ears are not linear though: 50% does not sound "half as loud".
| Vol % | Change | How it sounds |
| 150% | +3.5 dB | a bit more present |
| 80% | -2 dB | slightly further back |
| 50% | -6 dB | about two thirds |
| 30% | -10 dB | about half |
| 10-15% | -16/-20 dB | almost gone (better to Mute) |
The ratio you set is kept in the final MP3 too. Since the finished song is always brought to the same overall volume, lowering some channels makes the others rise slightly (and vice versa): that's normal. Values above 100% are honoured too: if the channel is already at maximum, the program lowers all the others by the same amount. Recommended between 30% and 150%.
- Raise/lower the key of a single channel with the +/- buttons ("Key" column): each step moves by a full octave (12 semitones), with allowed values -1, 0, +1; default 0. It adds to the overall key. Use it only to move an instrument into a more suitable register (e.g. a bass that plays too high): the melody stays the same, only the pitch changes.
- Remove a row's assignment (right-click on the row → "Remove SF2/SFZ assignment") if you want to go back to the default behavior.
- Reset SoundFont for all channels (as on load) (right-click on the grid): clears the SoundFont column for all channels and fills it again with the family SoundFonts, as when the MIDI is loaded. Volumes, mutes and octaves stay as they are. Useful after trying different SoundFonts.
- Use family SF2 / Use family SFZ (right-click on the channel row): assigns to that single channel, for this song, the file set for its family in Options > SoundFont by family. Only the entry for the type used by the chosen engine appears: "SF2" with engines 0 and 1, "SFZ" with engine 2 (with engine 0 the assignment stays in the grid but isn't used for rendering). Useful to put the family file back after a manual choice. Counts as a manual choice and is saved with the song.
- SoundFont and engine: engine 1 (MaximizeQuality) uses the grid's .sf2 files, engine 2 (HigherQuality sfz) the .sfz files; engine 0 (MediumQuality) shows the SF2 column but uses only the global SoundFont for rendering. The grid fills with the family's SF2 or SFZ column depending on the engine, and manually choosing a file (SF2/SFZ button) only shows the right type. When changing engine, files of the type the new engine doesn't use are replaced with the family file of the right type (if the family doesn't have one, the cell is emptied and the channel uses the global SoundFont). If the replaced file had been chosen by hand, a message lists the channels that changed (old file -> new file): save the song's configuration to make the change permanent.
- "SF2 without this instrument" warning: if a channel uses an .sf2 file that doesn't contain the instrument requested by the MIDI (checked by reading the file's preset list: bank 0 for instruments, bank 128 for drums), the text "WARNING: SF2 without this instrument" appears next to the instrument name. In that case the synthesizer will play a different instrument, usually a piano: choose a complete GM .sf2 or an .sfz for that channel. .sf2 files that contain a single instrument (for example "harp.sf2") don't trigger the warning: the synthesizer uses that single instrument anyway.
- Preview the single isolated channel, to immediately tell if the chosen sound works.
Conveniences and automatic behavior
- Last folder: the SoundFont selection window always opens in the folder of the last file chosen (remembered even after the program is closed).
- SoundFont by family: channels without an assigned SoundFont automatically receive the one set for their instrument family (see Options panel). Manual choices are never overwritten.
- Tip: for the instruments that stand out most (piano, strings, guitar/harp) a SoundFont dedicated to that instrument sounds much better than a generic SF2 bank; bass and drums are usually fine with the generic SF2 too.
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:
- Global Configuration (from INI): the default assignments, shared by every song you load (saved in the app's general INI).
- Specific Configuration (<name>_sf2.txt): only appears if, next to the loaded MIDI, a file
<songname>_sf2.txt exists - a per-channel SF2 configuration saved specifically for THAT song. Selecting it temporarily overrides the global defaults with that specific one.
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
- MIDI Humanization: introduces small natural variations in timing and intensity (micro-timing/velocity), to make the performance less "mechanical". On by default: turn it off only if the song must stay perfectly on the grid (e.g. electronic/dance). When active it also corrects wind and accordion expression: see Automatic sound corrections.
- Wind breath: saxes, single brass, reeds and flutes. Each note starts a little softer and swells (breath), long notes get a natural vibrato made only with pitch bend (never the mod wheel), with scoop and fall at the start/end of phrases and legato between close notes. It doesn't touch channels that already have pitch bend or mod wheel in the file. On by default.
- Reverb: general switch that turns the environment chosen in the main form on/off (see Reverb).
- Mastering: applies a light final chain (a permissive limiter that only contains the peaks) to give more body and uniformity to the perceived volume. On by default: turn it off only if you hear the mix losing dynamics or "punch".
- Piano-spring fix (with adjustable threshold): only on piano, if a note drops suddenly in volume compared to the previous one (e.g. after an accented chord) it "lifts" it instead of letting it collapse. On by default. The maximum drop threshold ranges from 0 to 40 (tolerated velocity drop), default 15, recommended 10-20. Low values (5-10): kicks in almost always, more uniform but less dynamic sound (0 = kicks in on any drop). High values (25-40): kicks in only on the sharpest jumps, more natural contrast but the "spring" effect can reappear.
- Chorus: slight doubling/detuning of the sound, gives more width to some timbres (e.g. strings, pads). On by default. Turn it off if you prefer a drier, more direct sound, especially on solo instruments.
- Widen the stereo image (with intensity): makes the mix wider stereo-wise. Off by default because it can cause problems if the song is later listened to in mono. Intensity ranges from 0.10 to 3.00, default 1.50; 1.00 = no change (below 1.00 the mix narrows). Recommended 1.20-1.50: noticeable widening without artifacts. High values (2.00-3.00): very pronounced effect, unnatural sound and risk of holes in mono playback. With the Fast Pop style leave this option off: that style's Production already narrows the stereo on its own, and adding manual widening on top gives an inconsistent result.
- Bass boost / Treble boost (with intensity in dB): reinforce the low or high frequencies of the mix respectively. Both off by default. Intensity from 0 to +12 dB, default +5 dB, recommended +2/+5 dB (light, almost transparent reinforcement). High values (8-12 dB): "boomy"/muddy bass or harsh/sibilant treble, and the Mastering limiter kicks in often. Turn them on only if the mix is really weak on the low or high end.
- SoundFont by instrument family... (button): a table where you assign an .sf2 or .sfz file to each General MIDI instrument family (Piano, Guitar, Bass, Strings, Brass, Drums, etc.). When you load a song, every channel without a SoundFont already chosen automatically receives its family's one; manual choices made in the channel grid always take precedence. Leave a family empty to use the global SoundFont.
Electric piano: programs 4 (Rhodes) and 5 (FM electric piano) have their own family, "Electric piano (4-5)", separate from Piano: this way a Rhodes channel no longer receives the grand piano file. If the family is empty the channel uses the global SoundFont; the automatic search fills it by looking for names like "rhodes", "epiano", "wurlitzer".
Harp: likewise program 46 (Harp) has the family "Harp (46)", separate from "Strings (40-45, 47)": before, a harp channel could receive a violin or viola. The search looks for "harp", "arpa", "concert harp" (and discards "harpsichord").
Accordion: programs 21-23 (accordion, harmonica, tango accordion) have the family "Accordion and harmonica (21-23)", separate from "Organ (16-20)": before they received the organ.
Two columns, SFZ and SF2: each family can have both an .sfz file and an .sf2 file. Which of the two is used is decided by the engine (before you picked an "active" file with a click): the SF2 column with engine 1, the SFZ column with engine 2. With engine 0 (MediumQuality) the grid is filled from the SF2 column, but rendering uses only the global SoundFont. Choose... (or double-click) puts the file in the right column based on its extension; an .sfz with no audio samples is rejected. Remove clears the selected cell (on the Family column it clears both). Search SFZ... and Search SF2... each search only for their own file type, each in its own folder (remembered separately): handy if you keep SFZ and SF2 in different folders. They only fill the empty cells of that column. If instead you keep .sfz and .sf2 in the same folder, that's fine too: choose that folder with Search SFZ... (it only takes the .sfz) and then again with Search SF2... (it only takes the .sf2). Single SF2 for all: choose a single .sf2 (typically a complete GM one like FluidR3 GM) and it's inserted in the SF2 column of every family where it's empty.
Redo the search from scratch: press Clear grid, then Search in a folder..., check the proposals and press Save. If a channel in the song's grid already has a manually assigned file, it stays: clear the cell or reassign it with SF2/SFZ.
- Why do I hear a piano instead of the instrument? With .sf2 files this happens when the channel's SoundFont doesn't contain the requested program (for example Harp 46, Electric piano 4, Flute 73): it happens with .sf2 files that contain a single instrument, with incomplete GM SoundFonts, or with the instrument in a different bank. In that case the synthesizer falls back to the first available instrument, usually a piano. The notes stay correct, only the timbre changes. Solution: use a complete GM .sf2 (for example FluidR3 GM) on the channel or, better, an .sfz specific to that instrument.
- Clear grid (button in the table): clears all families at once, after a confirmation. Used to redo the automatic search from scratch, which only fills empty families. The change becomes permanent only by pressing Save; with Cancel everything goes back as before. It doesn't touch files manually assigned to channels in the song's grid.
- Search in a folder... (button in the table): choose a folder (for example the one where you keep all your SoundFonts) and the program scans it together with all its subfolders looking for .sfz and .sf2 files. For every family still empty it proposes the file that seems most suitable, based on the words contained in the file and folder names (for example "piano", "guitar", "strings", "violin", "brass", "drums", also in Italian: "chitarra", "archi", "batteria"...). .sfz files are preferred over .sf2; for Piano the acoustic piano is preferred over the electric one. Families already filled in are never touched and hidden folders are skipped. Quality-based choice: the name is only used to find candidates; the program then opens every candidate (up to 25 per family) and measures, only for the instrument of interest: how many different samples cover the keyboard, how many dynamic layers it has (different soft/loud sounds), the sample rate (44.1/48 kHz or less), the bit depth (16 or 24), whether it's stereo and how large the audio data is; for .sfz files also the round robin alternations. This produces a score from 0 to 10 and the highest score wins (in a tie, the most relevant name). For .sfz files all the referenced audio files (wav/flac/ogg) are checked: if more than 20% are missing the file is discarded, if only a few are missing it stays in the running but loses 3 points. An .sf2 with multiple instruments that does not contain the family's instrument is discarded (it would play a different instrument). If no file has a suitable name for a family, with Search SF2... a complete GM SF2 (at least 100 instruments) present in the folder that contains that instrument with a score of at least 3 is proposed. At the end a message lists the proposals with the reason, for example "Piano -> Salamander.sfz, quality 10/10: 30 samples across the keyboard, 16 dynamic layers, 48 kHz, 24 bit, stereo [the best of 6 candidates]", and the families for which nothing was found. For reference, FluidR3 GM scores 1-5. The summary appears in a wide, scrollable window and is also saved in the user's home folder, to check later:
CreaVideoLyrics_ricerca_SFZ.log (Search SFZ...) and CreaVideoLyrics_ricerca_SF2.log (Search SF2...), each with date, folder scanned and the last search performed. Libraries without .sfz: during Search SFZ..., if it finds an audio sample library (wav/flac/ogg) that has no .sfz file, the program creates one itself in the samples folder, named <folder>_auto.sfz, and puts it in the running with the others (the summary shows "[.sfz created automatically]" and the list of files created). At least 3 different notes readable from the file names are needed ("C4", "a#3", "Db2", "060"; using the convention C4 = middle C = 60); dynamics come from the name or subfolder (p, mf, f, ff, soft/hard, v1, v2...) and alternations from "rr1", "rr2"... Files with noise, release, fx, gliss, fret, mute in the name are ignored. Nothing is ever created for the "advanced" samples inside a library that already has its own .sfz files (noises, releases, articulations the author didn't use). The created file can be edited or deleted. The score measures the richness of the samples, not taste: always check the result (you can fix a row with Choose... or Remove) and then press Save to confirm; Cancel discards all proposals. Variants that require keyswitch or mod wheel are disadvantaged (names with "KS", "keyswitch", "modwheel", "DXF", "CC1", "xfade"); if an .sfz plays silently, the most common cause is that its audio samples aren't found in the expected folder. The check also reads paths written with variables (#define $NAME ...) used by many orchestral libraries. The same check applies when you manually choose an .sfz for a channel in the grid (SF2/SFZ button): if samples are missing the SFZ without audio samples warning appears and the file isn't assigned, because it would play silently. If the entire preview mix turns out silent (for example the only active channel has an SFZ with no samples) volume normalization is skipped instead of blocking the preview with an FFmpeg error: in that case check the channels' SoundFonts. The chosen folder is remembered for next time. For very large folders the search stops at 20000 files: in that case choose a more specific folder.
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.
- Balance volumes: measures the perceived loudness of each channel and brings back in line those that are too loud compared with the others (drums and bass have dedicated rules); it also recovers isolated volume dips. With this option on, MediumQuality (engine 0) also measures the audio parts and the preview prepares the whole song before starting: the initial wait is longer, but replays with the same settings are immediate. Details in Automatic sound corrections (automatic channel balancing).
- Protect the vocal (on by default): where the guide sings (usually channel 4, the muted one) it lowers the instruments that cover it, that is pianos, electric piano, strings and guitars, and limits the bass; it can also reduce the drums (with the Room kit if the cut is strong; the kit chosen in the Drum menu takes precedence) and limit toms, congas and splash cymbals that are too loud. It only acts on velocities, up to -40%, in the windows where the guide sings and on notes near its register (about one octave above and below). Timing and lyrics do not change and the original MIDI is never touched. If no vocal line is recognized, nothing changes.
- Doubling of ensemble instruments (on by default): organs, accordion, guitars, violin, strings, choirs, brass sections, sax and pads are played by two voices, like an ensemble of several players. The original stays a little lower and panned to one side; the «shadow» plays the same notes on another channel, on the opposite side, at reduced volume (40-63%) and slightly different tuning (3 to 11 cents). Drums, basses, pianos and harp are never doubled; only one shadow is created per instrument family, and channels using .sfz files are not doubled. It is written into the MIDI that gets played: the original file does not change.
- Transform choirs into strings: GM 52–54 choirs are played as strings (GM 48). Useful when the SoundFont makes the choirs sound too artificial.
- Tube and Multiband bass (off by default): effects on the channel mix, with the same parameters as the OLW player. Tube adds the warmth of a tube amplifier (even and odd harmonics, leaving very quiet sounds untouched). Multiband bass compresses the band below 120 Hz and adds its harmonics, so the bass can be heard on small speakers too. The tube is applied first, then the bass. Multiband bass and Bass boost exclude each other: turning one on turns the other off.
- Faster SoundFont search: in the SoundFonts by family table the search analyzes candidates in parallel, using the available CPUs. Only the speed changes: selection order, scores and assignments stay as before. During the search the window stays open and commands are locked; summary and log report the CPUs used and the total time. Folder collection and automatic .sfz creation stay sequential.
- Go straight to Create video: if the MIDI has lyrics, at the end of Create Audio File and SRT for Video the program also creates the SRT and asks «Do you want to go straight to Create video?». With Yes, Create video opens with the MP3 and SRT already filled in (if it was already open, its fields are replaced) and the folder is not opened; with No the folder opens as before. If the MIDI has no lyrics there is no SRT and the question does not appear.
- .parole file: when the MIDI contains lyrics, Create Audio File and SRT for Video also writes, next to the SRT, a file with the same name and the
.parole extension, with the timing of single words. Create video uses it to highlight words as they are sung.
- Menus in the other modules: Sync lyrics and Create video each have their own bar with the Songs and ? menus. In Sync lyrics, Songs contains the MP3 archive and Open MP3 folder; in Create video, the Video archive. The ? items (Help, About) are the same as in the main form. See Sync lyrics and Create video.
↑ 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)
- Engine: idx 1 (per-channel rendering): much better separation and air than engine 0.
- FluidSynth Chorus: off. It doubles and dephases every instrument: instruments "smear" across the whole space and you can no longer tell where they are.
- Stereo widening: off (1.2 at most). With high values the sides become as loud as the center and the left/right distinction is lost.
- Bass and treble boost: off. Disco kick and bass are already full: the boost muddies the low end.
- Corrections by family: all on, especially Groove for mechanical channels, Mastering: presence and Mastering: mix glue.
- IR reverb: optional; "Ruby Room" or "Studio". It doesn't receive the bass, so it doesn't muddy the kick and bass.
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)
- Engine: idx 1.
- IR reverb: on ("Hall" or "Ruby Room"): here the room is part of the sound.
- Corrections by family: winds, strings and voices on (legato, sax vibrato, slides). Groove isn't needed (slow songs are already played), mix glue is better off so as not to remove dynamics; presence to try out, on piano and voice it can come out harsh.
- Wind echo copies: if a sax is echoed on other channels and sounds fake, choose "Attenuate" or "Remove".
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:
- Arrangement: which instruments play (e.g. the piano becomes an acoustic guitar with strummed chords);
- Interpretation: how they're played (more restrained, softer dynamics, ritardando on the last bars);
- Production: the final sound (equalization, compression, reverb, fade-out), applied in the preview and in the MP3.
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:
- Funk: "Get Down On It" (Kool & The Gang) - full bass, compact dynamics;
- Italian Melodic: "Una lunga storia d'amore" (Gino Paoli) - wide stereo, soft reverb, final fade-out;
- Disco: "Le Freak" (Chic) - full bass and mids, narrow stereo, no fade-out;
- Jazz: "Sinatra" - natural, open dynamics, light reverb;
- Latin / Bossa: "Garota de Ipanema" - dark sound with very little air, wide stereo;
- Country / Folk: "Take Me Home, Country Roads" (John Denver) - full mids, warm acoustic sound;
- Reggae: "Jamming" (Bob Marley & The Wailers) - very prominent bass, narrow stereo, compact dynamics;
- House: "Gypsy Woman (She's Homeless)" (Crystal Waters) - full bass, almost centred stereo;
- Hip Hop: "Gangsta's Paradise" (Coolio) - very full bass, restrained air, compact dynamics;
- Electronic: "Sandstorm" (Darude) - full bass, present air, wide stereo;
- R&B: "Say My Name" (Destiny's Child) - present but not deep bass, very present air, wide stereo.
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"
- What it does: Crea Video Lyrics appears among the suggested programs for .mid, .midi and .kar files (right-click on the file → "Open with"). Opening a MIDI this way, after the license check, opens "Midi to Mp3" directly with the file already loaded.
- Windows: registered by the installer, without changing the default program. To always use it with a double-click: right-click → Open with → Choose another app → Crea Video Lyrics → "Always use this app".
- macOS: the Finder offers it in "Open With" after the app's first launch; for double-click: Get Info → Open with → Crea Video Lyrics → "Change All".
- Linux: the AppImage declares the MIDI types; the "Open with" menu shows it if the AppImage is integrated into the system (for example with AppImageLauncher or Gear Lever).
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
- What it does: the Export corrected MIDI button (under "Create Audio File") saves the file SongName_corretto.mid next to the loaded MIDI, with every channel passed through the same rendering chain (the _corretto suffix is the same in every language). The original is never modified. If a styled version is loaded, the file goes into the _Files folder with the version's name (e.g. SongName_<style>_corretto.mid).
- Difference from Style Choice: the MIDI created by Style Choice only contains the transformation of the song (arrangement, interpretation); corrections by family, humanization, key, volumes and pan are applied "on the fly" during preview and rendering, and stay out of the file. The corrected MIDI instead writes them all in: it's the file to take outside the program. They can be used together: apply a style, then export the corrected MIDI of the styled version.
- Corrections by family: legato, vibrato, expression, tails and releases, repeated notes (see "Automatic sound corrections").
- Humanization: dynamics (velocity) recalibrated and varied, wind breathing, piano pedal, softened note-offs (never past the next note of the same channel, so chords don't overlap at chord changes), pan. Includes the corrections too. Note timing (attacks) is never shifted.
- Form settings: key, per-channel octaves, volume of each channel (written as CC7) and attenuation of doubled instruments.
- Exclude muted channels (off by default): the exported MIDI contains every channel, melody included. Turning it on gives a karaoke MIDI, without the muted channels, just like the audio.
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
- Who it applies to: wind channels (sax and reeds, brass, flutes: GM programs 56-79) and accordion / harmonica (21-23), with all engines (MediumQuality, MaximizeQuality and HigherQuality sfz), including the fast MediumQuality preview.
- What it does: legato phrasing (winds only): if there's a gap shorter than 90 ticks between two notes, about a sixteenth, the first is extended up to the second, and isolated notes shorter than 80 ticks are extended to 80 ticks; attacks never change, so rhythm and notes stay as written, but the sax no longer sounds "staccato like a keyboard"; re-centered vibrato: if during a held note the vibrato only oscillates below (or only above) the pitch in effect at the attack, it's shifted to oscillate around the note and narrowed to 40% of its width (a vibrato almost a semitone wide sounds out of tune; a real sax's sits around ±15-20 cents), so the instrument no longer sounds flat or "wobbly"; more gradual volume descents (expression no longer drops by more than 25 units every eighth or so, so drops resemble a breath rather than a step); very short expression holes removed (CC11 volume that crashes by more than 40 and comes back up within 60 ticks, about a sixteenth); compressed expression between 50 and 127 instead of 0 to 127.
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
- Who it applies to: every channel using an .sfz file (HigherQuality sfz engine).
- What it does: reads the
volume= values of the file's regions and averages them; if the average is below -3 dB it raises that channel to bring it back towards 0 dB.
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
- Who it applies to: channels with an .sfz file, with the HigherQuality sfz engine, excluding drums (channel 10): in drum kits each note corresponds to a different sound (kick, snare, cymbals...), so shifting them would change the instruments or silence them.
- What it does: if every region of the file has the same
transpose= of 12 or more semitones (up or down), that channel's notes are shifted by the same amount in the opposite direction, so the instrument plays at the pitch written in the MIDI. The channel grid shows "SFZ transposed by N semitones (compensated)".
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)
- Who it applies to: the complete preview and final file mix, with all engines.
- What it does: measures the perceived volume of the entire song and applies a single fixed gain, the same from start to finish, to bring it to about -16 LUFS; peaks that would exceed -1 dBTP are contained by a fast limiter (up to 3 dB of limiting, like in a light mastering pass: more would squash the drum hits in the choruses; beyond that, the gain is reduced).
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.
- Who it applies to: every channel except drums, with Humanization active, in preview and final file.
- What it does: recognizes each channel's instrument family and applies only the corrections suited to how that instrument is played:
- Solo winds and synths (GM 56-87): legato under 90 ticks, isolated notes at least 80 ticks, re-centered vibrato, soft expression (CC11 from 50 to 127).
- Sustained strings and choirs: family-specific legato and expression correction. String dips relative to a recent peak are softened without raising authored low levels; CC11=0 always stays zero.
- Accordion and harmonica (21-23): re-centered vibrato and soft expression, no legato.
- Bass (32-39): very short notes reach at least 40 ticks, without touching the following note: the staccato stays, the "cut off" disappears.
- Guitars GM 24–31: transient wheel gestures returning to center are removed; truly held bends and permanent tuning offsets are preserved. Guitar legato uses real notes instead of newly generated bend steps.
- Pads (88-95): release extended up to 40 ticks, within the silence before the next note.
- All (drums excluded): overlapping repeated notes. If a note restarts while the same note is still held, the first is closed at the second's attack.
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
- Dynamics: humanization recalibrates each channel's velocity towards the 25-127 range, but now only halfway: flat dynamics open up, without sudden volume drops in quietly-played passages any more. On winds, solo synths, sustained strings and voices, the written velocity stays the original one (dynamics come from CC11 expression instead), with only a small random variation.
- Tight doublings: when two identical channels (same notes, same instrument) start less than a thirty-second apart (about 40 ms) they don't make an echo but a doubling that muddies things: the second is lowered by about 7 dB, as well as being separated in stereo.
- Very wide wind bends (doit, jazz fall): if during a note the pitch bend moves away by more than 3/4 of a semitone and then returns to the note, the bend is reduced to 60%. Bends that stay raised (used as pitch for the following notes) are not touched.
- Wind vibrato: vibrato written with pitch bend (typical of a keyboard's modulation wheel: slow, up to 3/4 of a semitone wide, regular and present right away) is removed and replaced with a sax-style jaw vibrato: it starts after about a third of the note (only on notes of at least about half a second), builds over two oscillations, about 5.5 per second, ±12 cents, slightly irregular in amplitude and speed. At the end of the note the pitch returns exactly.
- Fast wind passages: in notes less than an eighth apart the velocity gets closer to the previous note's (no attack jumps from one note to the next) and each note overlaps the next by a hair. On a sax, the tongue strikes the first note and the rest are slurred: the passage "blends" instead of sounding clean-cut as on a keyboard.
- Chromatic passing notes on winds: one or two very short grace notes (less than a sixteenth) a semitone apart leading to the real note (e.g. F, F sharp -> G) are the typical ornament played on a keyboard: on a real sax it's a lip slide. If the grace notes are below the real note (rising towards it) they become a smooth pitch bend, the saxophonist's "scoop", and the real note starts right in tune immediately. If they're above (dropping towards it, for example C sharp -> C after a jump) they're removed: a fall from above onto the attack, with the main note already there, is not something a saxophonist does and sounds fake. The real note starts straight at the moment of the ornament. Chromatic runs of three or more notes stay as they were.
- Pan of doubled instruments: the pan written in the MIDI on those channels is ignored, so the stereo separation stays throughout the song.
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)
- What it does: the Tools > Corrections by family... item lets you turn each group's corrections on or off: solo winds and synths, sustained strings, voices, accordion, bass, guitars, pads, the repeated-notes correction and groove for mechanical channels. Applies to every song, or, with "only for this song", to the loaded song.
- Wind echo copies: when a wind instrument is repeated on other channels with a delay (an echo effect written in the MIDI) you can choose Keep (as in the MIDI), Attenuate (about -9 dB) or Remove (only the main wind stays). Applies to preview, audio file and MIDI export (with "form settings").
- Simultaneous doublings (on by default): if a channel plays at least 80% of the same notes as another of the same instrument family at the same instant (unison or one/two octaves apart), for example two guitars copying each other note for note, the two volumes add up and the part ends up too loud. The copy is lowered by about -7 dB; the channel with more notes stays full (in a tie, the piano). Different from echo: here the notes start together, not delayed. Turn it off if the doubling is intentional and must stay full (for example a unison used as an effect).
- Secondary pianos at the level of the main one (on by default): among piano channels (GM 0-7) the main one is the one with the most notes. Another piano whose typical (median) velocity is more than 10 points above the main one's is lowered as if it were playing at the main one's velocity (minimum factor 0.3). Example: a secondary piano at 96 against a main one at 77 = about -4 dB. Needed when an intro or reinforcement piano is written much louder than the song's piano and "starts blaring". Turn it off if the second piano really must stand out (for example a solo).
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)
- Who it applies to: "machine-played" channels, meaning at least 85% of notes at the same velocity (at least 16 notes); on drums the check is done per piece (kick, snare, hi-hat...). Already-played channels aren't touched. With Humanization active and the "Groove" item on in Corrections by family.
- What it does: accents based on position in the bar (downbeat full, upbeat a bit lighter, sixteenths lighter, first beat slightly stronger); snare about 7 ms behind the beat, hi-hat on the upbeat 3-4 ms behind, kick always on time; open hi-hat on the upbeat emphasized; octave bass with the higher note lighter; ±3 ms and ±4 velocity randomization on the other mechanical instruments; dynamics that "breathe" by ±5% every 4 bars.
- Fills: when snare and toms are dense (at least 4 hits in a quarter note) the position accents give way to a crescendo towards the next beat, so the push into the chorus drives forward instead of dropping off. In "launches" (snare alone, without kick or hi-hat, usually together with wind and string stabs) the hit is full (+15%), and crashes get a full accent (+30%): in MIDIs they're often written weak and disappeared under the stabs.
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
- What it does: in MaximizeQuality and HigherQuality sfz and, with Balance volumes enabled, also in MediumQuality (engine 0) every channel is measured in perceived loudness (LUFS) and those well above the others (more than 6 dB above the middle value) are brought back in line. Drums included. The measurement is always made as if the channel were at 100%: your Vol % and the Drum intensity are applied afterwards and are never cancelled.
- Example: in "Dove" the synth brass of the airfont SoundFont played about 12 dB above every other instrument: now it is brought back to the level of the loudest ones (piano, drums), and from there you adjust it with Vol %.
- Repeatable tests: humanization (small timing and dynamics variations) always uses the same sequence for the same song: with the same settings preview and final file sound identical, and two tests differ only by what you changed.
- Speed: channels are measured in parallel, one per processor core (on 9 channels from about 35 to about 8 seconds).
- Drums in the MIDI balancing (23/10): with Balance volumes enabled, strong hits are compared with concurrent instruments in two-bar windows. The margin grows with the arrangement from 0 to 6 dB. The maximum reduction is 8 dB, applied to kit CC7 without changing the dynamics between drum pieces. This is a MIDI estimate, not a measurement of the SoundFont samples.
- Drums and selected kit: channel-based renders measure the actual WAV produced with the selected kit and SoundFont, including Power. Background strings and pads do not lower the drum reference. Additional audio attenuation is capped at 3 dB. If the MIDI estimate over-attenuated a quiet kit, up to 1.5 dB of that existing reduction may be recovered, never more than the reduction already applied. Channel Vol % and Drum intensity retain their effect. MIDI export retains only the MIDI estimate; the audio correction is not embedded in the MIDI file.
- Kit in MIDI export: enabling Form settings preserves the selected drum kit and reverb choice. As in the song keeps the original program. MIDI does not embed the SoundFont or audio effects.
- Engine 0: with Balance volumes enabled, preview and final audio measure each part over the whole song using the global SoundFont. Doubling is included in its source part; the guide stays outside the reference. The same general rules apply as in the other engines, without fixed guitar cuts. The general margin above the reference is 0 dB (a relative value, not 0 dBFS); parts already below the threshold do not receive this cut. Parts are rendered in parallel using the available CPUs, up to the number of parts to process. Preparation takes longer before playback; this mode does not start with an early excerpt. Disabling the option retains the previous fast path. This compares integrated channel loudness, rather than performing section-by-section automatic mixing.
- Bass: with Balance volumes enabled, GM32–39 have an additional 3 dB margin above the general reference. Additional audio reduction is capped at 4.5 dB; this does not apply a fixed bass boost and preserves manual channel volume. Drum rules remain separate.
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
- What it does: on channel 10 (drums), always, even with Humanization off: ignores balance (CC8), which General MIDI drums don't use; recenters a pan (CC10) shifted more than 20 from center (0-127, center 64); reduces to one any double hits (same piece at the same instant), keeping the higher velocity. Applies to rendering, preview and Export MIDI.
- When it's needed: MIDIs where two drum tracks (for example one all-left and one all-right) were merged into a single channel: the drums ended up all on one side and every hit sounded twice. After the correction, kick and snare go back to the center and hi-hat, toms and cymbals spread out as in the SoundFont's kit.
- Note: if the hits were previously doubled, the drums now play about 6 dB quieter (they were doubled): if needed, raise them with channel 10's Vol% in the grid.
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
- Presence (Options > Corrections by family): tonal balance of the whole mix: bass below 100 Hz -3 dB, +4 dB with a wide bell at 2.5 kHz, air +4 dB above 8 kHz. Brings guitars, clavinet, winds and strings forward (the instruments that give "grit" and that sit at the sides on records) and lightens the low end.
- Mix glue: compressor on the already-normalized mix (threshold -24 dBFS, ratio 3:1, attack 20 ms so the kick passes through, release 200 ms, soft knee, +3 dB makeup gain), then the song is measured again and brought back to -16 LUFS (one extra measurement pass), with the safety limiter. Reduces the distance between the peaks and the rest: the song sounds more compact and "all together", like a record.
- FluidSynth Chorus and stereo widening: in the comparison with the original, they were the ones "smearing" instruments across the whole space (sides as loud as the center): turning them off brought the stereo scene back almost identical to the original. In songs with many instruments it's better to leave them off.
- IR reverb without bass: only the part of the mix above 250 Hz reaches the reverb. Kick and bass stay dry and centered, and the reverb gives air to the instruments without muddying the low end.
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
- Who it applies to: every channel, with every engine, in preview and final file.
- What it does: when a channel is prepared for rendering, at the end of the track any notes still open are closed with their natural release and a 4-beat tail is added before the end of the file.
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.