Audacity 2.0.1 (from repository)
Linux MINT 14, XFCE
SoundBlaster Audigy 4
If I go into Audacity and hit the record button (to record “what I hear”), this works for music streaming or local sound files playing through Banshee, but nothing is recorded when its a MIDI file playing (e.g.
aplaymidi -p 17:0 somefile.mid
).
I have tried playing around with pavucontrol and Alsamixer and have tried all possible input device drop-down options within Audacity but no luck.
Different machines get the folded back sound from different places. The most annoying but all inclusive gets the sound from the speaker or headphone drivers. It catches everything, but you need to leave your speaker volume up for it to work. There are other variations and if your system is getting sound upstream from where the MIDI drivers are putting it, then no, that’s not going to work.
Audacity does not support MIDI, so it doesn’t natively “know” what to do with MIDI sound. Are you using the computer’s internal MIDI system? (not a Linux elf). If the MIDI sound is being generated by an external device like a keyboard, then the rules change.
There are various ways to record sound that is playing through the computer but Linux does not have a “what I hear” option.
For that to work you must have a MIDI renderer on ALSA MIDI port 17.
What are you using as the MIDI renderer?
If you are using Timidity then it would be better to use Timidity to render directly to a file rather than trying to record the output with Audacity (see: Linux Manpages Online - man.cx manual pages)
I’m not using Timidity, but I can’t remember exactly what I did originally to get MIDI playback to work. I think I am using the h/w synth on the SB card, if that makes sense.
I don’t have any external MIDI devices.
Inciddentally, what I am trying to do works under Audacity/Windows, but not Audacity/Linux.
I think that you must have set up your system to automatically load a “sound font” into the Audigy, because I don’t think that the Audigy has built-in MIDI sounds, but does have built-in MIDI support. Does any of this ring any bells? MIDI - ArchWiki
I think that you must have set up your system to automatically load a “sound font” into the Audigy
You’re right - I remember messing around with asfxload, so I do load a font on startup . In my Windows setup, I haven’t attempted anything similar…is that why Audacity can record midi (as it plays) under Windows ? Do I need to stop invoking asfxload ?
Windows Media Player includes a software MIDI renderer, as does QuickTime. When you play a MIDI file on Windows it may use one or other of these rather than the sound card’s MIDI renderer. On Windows, SoundBlaster cards use their own mixer application and by default will record whatever is playing through the sound card, including MIDI (this configuration is not always optimal, but in your case it does what you want).
SoundBlaster do not supply drivers for Linux, so MIDI playback for the Audigy is not likely to be configured automatically, which is probably why you had to set that up manually.
I think that we need to work out how it is “just working”.
Play a MIDI file, and while it is playing, open pavucontrol.
On the Playback tab of pavucontrol, does the MIDI player appear?
Sorry, I thought I’d already asked but I hadn’t. I think I can guess the answer, but best not to guess at this point…
When you are recording from Banshee or Internet radio, what settings do you have selected in the device toolbar?
One limitation of recording that way is that if any other audio programs are open then it will probably stop working. The “audio program” that people often forget about is their web browser if any open pages include Flash or other media players. So if it suddenly stops working, just check what other programs are running.