[F8]: Getting MIDI player to work: HOW?

Daniel B. Thurman dant at cdkkt.com
Wed Jun 11 20:42:20 UTC 2008


On Wed, 2008-06-11 at 12:54 -0700, kwhiskerz wrote:

> I am using F9, but this worked in previous F's, too. I have a
> SoundBlaster card with midi, but you can use timidity and maybe kernel
> module snd-virmidi, too, I think, but I don't know how. Perhaps this
> will steer you in the right direction...
> 
> To show available midi ports, aplaymidi -l. To get these at boot, put
> into .bash_profile (not necessary in F9, as it seems to happen
> automatically - adjust for yours):
> 
> export ALSA_OUTPUT_PORTS="17:0 17:1 17:2 17:3"


Mine is port 14, not 17 as yours is probably of a different hardware?


> In F9, don't create /etc/modprobe.conf, as it is supposed to cause
> problems with pulseaudio (you need to use jack for midi, but I haven't
> needed to stop pulseaudio to run jack in F9). Install
> jack-audio-connection-kit, qjackctl, the gui, and
> pulseaudio-module-jack (don't know what this does or how to use it).
> qjackctl creates ~/.jackrc, but you can create it manually, with a
> line something like this:
> 
> /usr/bin/jackd -R -dalsa -dhw:0 -r48000 -p1024 -n2 -Xseq
> 
> I have set jack to run as a temporary server in qjackctl.


If you tried to use -Xseq option, it will fail.  Try setting this in
qjackctl
and see for yourself.  I did that in F8 and it breaks - it says so:

13:10:13.492 /usr/bin/jackd -R -dalsa -dhw:0 -r48000 -p2048 -n2 -Xseq
13:10:13.503 JACK was started with PID=9537.

Unknownage with option 'X'
Options for driver 'alsa':

-C, --capture Provide capture ports. Optionally set device (default:
none)
-P, --playback Provide playback ports. Optionally set device (default:
none)
-d, --device ALSA device name (default: hw:0)
-r, --rate Sample rate (default: 48000)
-p, --period Frames per period (default: 1024)
-n, --nperiods Number of periods of playback latency (default: 2)
-H, --hwmon Hardware monitoring, if available (default: false)
-M, --hwmeter Hardware metering, if available (default: false)
-D, --duplex Provide both capture and playback ports (default: true)
-s, --softmode Soft-mode, no xrun handling (default: false)
-m, --monitor Provide monitor ports for the output (default: false)
-z, --dither Dithering mode (default: n)
-i, --inchannels Number of capture channels (defaults to hardware max)
(default: 0)
-o, --outchannels Number of playback channels (defaults to hardware max)
(default: 0)
-S, --shorts Try 16-bit samples before 32-bit (default: false)
-I, --input-latency Extra input latency (frames) (default: 0)
-O, --output-latency Extra output latency (frames) (default: 0)

13:10:13.718 JACK was stopped with exit status=1.


> You need to load a sound font. If you have a Creative card, install
> awefx and the PCLite sound font. Load it
> with /bin/asfxload /path/to/PCLite.sf2 (you can set up qjackctl or
> rosegarden or possibly timidity to do this automatically, if you use
> them - qjackctl is best to manage these things). Start jack with
> qjackctl (click on play, I think it is - again, you can have it start
> jack on load of the program). If you don't have midi capability, you
> might need to use fluidsynth, which is a sound font synthesizer, but I
> don't know how to use it. It has a gui, qsynth.


For me, jackd wants /dev/shm - and PulseAudio has control.  I *have* to
kill PA in order to play jackd.

I was able to get a setup of Jack&QSynth to work with RoseGarden. But
with RG,  I had to
change devices in the 'Studio' Tab to one of QSynth's device (port
8510).  It all worked
except the annoying skips, static noise and such.


> qjackctl allows you to create input and output connections between
> application in-/outputs and the alsa midi in-/outputs in the
> connection section (I don't know what the patchbay is). When you start
> an application, it will appear in the connection window and you need
> to connect it to an alsa midi input to get sound.
> 
> Install vkeybd, the virtual keyboard, and run it, vkeybd --octave 5
> --addr s17:3 (change for your address, or omit --addr and connect in
> qjackctl, I think - read the man for curiosities about the s before
> the address, sometimes it's needed, sometimes not). Test to see if you
> can make sounds.
> 
> To use Kmid, choose one of the 4 alsa ports and define the midi
> mapper, /usr/share/kde4/apps/kmid/maps/gm.map. Choose a .mid file to
> play (make sure jack is running). Sometimes nothing happens for a
> couple of seconds before the sound begins. I don't think you need to
> connect Kmid in qjackctl.Once you get the keyboard going, you can try
> some synthesizers to modify the sound. Install zynaddsubfx or download
> and compile minicomputer or amsynth! :-)


Yes, the problem was getting the right Midi device from QSynth. It does
not work with PA, at least for me.
The only problem is that it "skips" alot - sounds like a broken record
and static/scratching noises.


> I am not sure about making firefox play midi. Something tells me it
> used to just work (after installing a sound font, I think), but I
> haven't tried it for a while.


Apparently, you need a firefox plugin to play Midi or so it seems.


> Hope this helps.


Well, I did get Audiacious to work somewhat: they just don't play very
well
with certain Midi files. "Newer" Midi files play well.  The Midi file I
had was
probably too old or of a format that is 'different' - but plays well
with Timidity,
not with Audiacious's Midi Plug-in.  The Timidity plugin in Audiacious
did not not
seem to play well at all - I was forced to use the Amidi plugin since
there was no
other option I could get to work.  Besides, the Timidity plugin has a
default SF
set to: /etc/timidity/timidity.cfg - except that it is actually
at /etc/timidity.cfg - but
even so, this does not seem to do anything.  Playing my old midi in
Audiacious
sounded like echoing gongs, high treble when it should have been a
grand-piano
with bass missing completely or scaled up an octave or two higher than
where it
should have been.  However, it seems that other midi files work fine.

At this point, if I want to play an older midi file, I have to use
Timidity directly
- a pain, so I gave up.

Kind regards,
Dan

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.fedoraproject.org/pipermail/users/attachments/20080611/53d79f00/attachment-0001.html 


More information about the users mailing list