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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

-- 
fedora-list mailing list
fedora-list@xxxxxxxxxx
To unsubscribe: https://www.redhat.com/mailman/listinfo/fedora-list

[Index of Archives]     [Current Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]     [Fedora Docs]

  Powered by Linux