5

Previously I had been using VLC fluidSynth to export my midis to other formats, until recently when I discovered that it was ever-so-slightly out of tune and TiMidity actually played my songs without clipping. That was a major plus.

However, there was one thing that fluidSynth did absolutely awesomely, and that was play percussion. Every time it played cymbals they must have lasted at least one and a half seconds, and they sounded great.

But when I play the same midi in TiMidity with the same soundfont, it always cuts off the cymbals, playing them for maybe half a second. I even tried assigning all the drums to a different soundfont but they still got cut off.

Is there any way I can get TiMidity to stop doing this? I know I could export the drums from VLC and the melody from TiMidity and put them together in Audacity, but that's kind of a pain, especially when TiMidity should seemingly be able to play cymbals right itself.

2
  • timidity 2.13 is not the latest version. Perhaps the latest 2.14 version (available at its sourceforge site) will work better? Another idea is to edit timidity.cfg - the manpage for it says some percussion instruments can benefit from the 'keep' option.
    – user180869
    Commented Aug 2, 2013 at 21:07
  • I was able to compile that and get it working just long enough to confirm that it didn't fix the percussion problem. After that I spent hours and hours and hours trying to get all the features I had on the 2.13 binary compiled back in, but I kept getting the same strange error about expecting MidiEncodermetadatacallbacksomething and getting SeekableMidiEncoder instead, and just gave up because there was no information about it on the internet and I'd tried ~7 different versions of flac already. So, I can't upgrade to 2.14, because I somewhat need flac export and 2.14 just can't have it.
    – Takumi
    Commented Aug 18, 2013 at 3:17

1 Answer 1

4

Timidity++ comes with some questionable default settings that essentially ignore the effects specified by the soundfont and midi source in favour of global defaults.

Though I have no insight into why the developers have chosen to do that, I can speculate that it is because it's a lot easier to find awful midi files made by people who don't understand midi or music very well, or cobbled together soundfonts or patchsets that make perfect midi sound like a high-school band practising for the first time.

Try the following settings in your timidity.cfg, they tell timidity to respect the wishes of the creators of the soundfont and midi source.

# Enable all midi effects
opt -Ewpvsetoz

# Don't cut sustain to save CPU 
opt --no-fast-decay

# Pan quickly, even if it sounds bad
opt --fast-panning

# Set chorus and reverb by song & soundfont
opt EFreverb=1
opt EFchorus=1

# Never kill voices to save CPU
opt -k0

# Sustain fades after three seconds (3000ms)
opt -m3000

You may feel timidity sounds worse with these settings, if that's the case it probably means you're using a crappy soundfont. The FluidR3 soundfonts are okay for most midi files if you just want to get up and running quickly, however I recommend the Tyroland soundfont, it has well matched and balanced instruments with proper settings for reverb and chorus and sounds great with fluidsynth and timidity.

https://musical-artifacts.com/artifacts/1305

If it still sounds bad, try finding better midi files or playing better.

UPDATE: There are now a handful of soundfonts on Musical-Artifacts.com that come with optimized configuration files for Timidity++.

These config files ensure that Timidity++ plays the sounds as intended and provide a great base for customizing the soundfont by subtly tuning the instruments key (tune=) or volume (amp=), as well as replacing individual instruments with ones from other soundfonts.

General User and SGM in particular are superb, with broad coverage of Roland's GS and Yamaha's XG extensions in addition to a full complement of GM instruments and drums, both are great for playing old games and listening to MIDI files composed for GM wavetable synthesizers.

Coupled with the configuration settings mentioned above, Timidity++ can easily achieve very high quality output that rivals or exceeds its competitors.

https://musical-artifacts.com/artifacts?utf8=%E2%9C%93&q=timidity%2B%2B

1
  • Not sure about OP, but this improved Timidity's output for me by a lot! Thanks!
    – Alberto M
    Commented Dec 10, 2021 at 0:41

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .