Press no key to discontinue...

Finally Found A Way To Record Desktop MIDI Output...

Date/Time Permalink: 05/27/13 01:58:56 pm
Category: Multimedia

Wow, since beginning playing with Linux desktop composition, this desktop music stuff is insane! Prithee, why in blazes does it have to be so complicated? Let's count the dialogues and windows we have to have open just to record the simplest audio file:

  1. Start QJackCTL. Its sole purpose is to make Jack Audio work.
  2. Now open Seq24 and load the song (which was saved before in MIDI format). My example song uses percussion and four instruments, and it's a very plain tune at that.
  3. Open Hydrogen, load the drum kit this uses.
  4. All the instruments are in WhySynth, so WhySynth copy #1...
  5. WhySynth copy #2...
  6. WhySynth copy #3...
  7. WhySynth copy #4...
  8. Now to play the whole song from Seq24, open the song editor window in Seq24.
  9. Now open... Wait, "Jack Capture" in my menu dies with "failed to open jack_capture_gui2." Forget it. Open a terminal to run jack_capture from the command line.

That's nine windows on the desktop:

Oh, and the command you see there, 'jack_capture --mp3', don't work 'cuz jack audio wasn't compiled with mp3 support. Ha ha, how stupid I was to expect that! OK, vanilla jack_capture gets it in .wav format and figure out what to do with it later (actually, it's just "ffmpeg -i file.wav file.mp3" if you don't care about quality).

One thing I've learned: Don't scroll the song editor window while it's playing. That made the first recording sound scratchy. Yes, I know, it makes no sense, but the second time I did this it worked and the only thing different was not touching the window until recording was over.

If you think that makes no sense, wait until you see this one: I was trying to set up my ancient and increasingly useless Fedora laptop to run all the fun sound toys. Except nothing worked, I had a dozen dead programs in my multimedia menu. No error messages, no crashes, nothing, just doesn't go.

I fruitlessly scoured the docs and searched the web frantically trying everything and breaking the system even worse many times. You know what the problem turned out to be? When you install Fedora, it doesn't write the hostname to /etc/hosts, and all the Jack-Audio-dependent tools' GUIs look there and won't run without knowing which computer to start on.

No, really.

How stupid of me to have not thought of that first, right?

So, for Googlable future prosperity: "jack audio" "GUI" "hostname" "/etc/hosts" "seq24" "hexter" "wsynth" "xsynth" "whysynth" "DSSI" I'm leaving out amSynth (which doesn't have a Fedora package and the tarball won't compile) and Hydrogen (which runs just fine).
First clue found here on Linux Musicians' forum, way at the bottom. Just slap you IP (127.0.1.1 or whatever) into /etc/hosts, plus your $HOSTNAME (what you named the computer when you installed the system; the part that helps other computers find it on the network without memorizing a MAC address), save, reboot, everything works now.

BTW, I got 90% of all this going on the original desktop Mint system, but jack_capture just plain old doesn't install there. No, really, I have dozens of "jack_*" programs on tab in the terminal, no capture.

So, two fixes to my former hacks: (1) Can finally compose, play, record, and play back on one machine. (2) No longer need notepad to write down instrument hook-ups when saving a MIDI from Seq24, because duh, just rename each module after whatever it's hooked up to.

Oh, almost forgot, the wretched little song I recorded:

greasy_burgers

That kinda takes the fun out of figuring this stuff out, when you suck so bad at music composition in the first place. But somebody who really groks computers needs to go discover how to make this work because there's hundreds of would-be musicians out there frustrated trying to figure out what the hell an "etc-hosts" is.

But I'm still going to make my own ringtones. And perhaps some custom "on-hold" music for my home office...

Follow me on Twitter for an update every time this blog gets a post.
Stumble it Reddit this share on Facebook

suddenly the moon