-   Linux - Software (
-   -   midi keyboard, how to make sound?midi keyboard, how to produce sounds? (

Blyiss 03-19-2007 11:17 PM

midi keyboard, how to make sound?midi keyboard, how to produce sounds?
Hello guys! I need help.
I am running Debian Etch.
I have a real time kernel compiled from, Rosegarden4, jackd, JACK Audio Connection Kit, fluidsynth, Qsynth, zynaddsubfx, via82xx soundcard, legacy soundcard, yamaha YRP-20 keyboard which is connected through the joystic port,
but I have no clue how to make my keyboard produce any sound. I want to record the music I play in Rosegarden and print it into Lilypond. Thanks in advance.

glidermike 03-20-2007 10:59 AM

I messed around with midi files so my daughter could compose and play music using NoteEdit and Denemo I had to install timidity and down-loaded ewpats ( for better sounds) then to get timidity to run with alsa I have to run this in a terminal: "timidity -iA -B8,2 -Os" You can put this into a start-up script so that it will run automatically upon boot ( but I'm too dense/lazy to figure out how ) I think the keyboards need the midi capability to be heard.

Blyiss 03-20-2007 12:57 PM

Thank you, glidermike, for your reply. I would definitely give up trying to fix this problem, if my keyboard didn't sound in Windows. Thus I assume that I missed something.
I have timidity installed. I use it to play midi files via xmms plugin and freeparts.

glidermike 03-20-2007 01:29 PM

did a little poking around, I suppose you have looked at the Rosegarden site for info?
It might be something simple, like recognizing your keyboard in the config dialog. Or perhaps plugging your keyboard into a different port other than the joystick port.

studioj 03-20-2007 02:16 PM

i have using midi keyboard trigger for many years on Linux and i use debian etch so i should be able to help.
to make sure the joystick is being seen as a midi port use the command
pmidi -l
if you don't have pmidi you need it
show me what the output is
the joystick port will be listed as UART
if the joystick port is not listed then try
modprobe snd-mpu401-uart
and see if it is listed now
might want to post the results of modprobe

lets get this first part out of the way before we move on

Blyiss 03-20-2007 10:39 PM

Thank you, guys for your help.
glidermike, I know this. I would be happier if they showed the right configuration to use. There are so many options that I have to try each and everything ends up crashing and I have to start over again. Of course I can buy a USB adaptor but that will be the same. Why joystick port is bad? I need to figure it out.

studioj, with or without modprobe snd-mpu401-uart pmidi -l says:


$ pmidi -l
 Port    Client name                      Port name
 14:0    Midi Through                      Midi Through Port-0

There's no UART anywhere.

studioj 03-21-2007 12:07 PM

show output from lsmod thanks.
to make sure joystick port is loaded at all.
i think the module is called gameport
lsmod | grep gameport
you should be able to look at
dmesg | grep gameport
and see where output where it was loaded up

Blyiss 03-21-2007 05:50 PM

Thank you, studioj

$ lsmod | grep gameport
gameport              16168  1 snd_via82xx


$ dmesg | grep gameport


Does it mean anything?

studioj 03-22-2007 10:54 PM

at least we know what the problem is think.

try some options on the driver

looks there is an option parm: mpu_port long array (min = 1, max = 8), description "MPU-401 port."

try this in your /ect/modules.conf


options snd-via82xx index=0 mpu_port=0x330 joystick=1
reboot i guess then try
modprobe snd-mpu401-uart

then look at pmidi -l
and see if you have a new uart port

Blyiss 03-23-2007 12:12 AM

I tried what you said. Nothing.

I added the following to /ect/modules.conf:

# ALSA portion
        alias char-major-116 snd
        alias snd-card-0 snd-via82xx
        # module options should go here
 parm: index int array (min = 1, max = 8), description "Index value for VIA 82xx bridge."
 parm: id string array (min = 1, max = 8), description "ID string for VIA 82xx bridge."
 parm: enable int array (min = 1, max = 8), description "Enable audio part of VIA 82xx bridge."
 parm: mpu_port long array (min = 1, max = 8), description "MPU-401 port."
 parm: ac97_clock long array (min = 1, max = 8), description "AC'97 codec clock (default 48000Hz)."

        # OSS/Free portion
        alias char-major-14 soundcore
        alias sound-slot-0 snd-card-0
        # card #1
        alias sound-service-0-0 snd-mixer-oss
        alias sound-service-0-1 snd-seq-oss
        alias sound-service-0-3 snd-pcm-oss
        alias sound-service-0-8 snd-seq-oss
        alias sound-service-0-12 snd-pcm-oss

Nothing. If there a way to check the changes I made?

pmidi -l says as usual:

$ pmidi -l
 Port    Client name                      Port name
 14:0    Midi Through                      Midi Through Port-0

I don't understand anything.

Blyiss 03-24-2007 08:53 PM

I fixed it. I inserted the line "options snd-via82xx mpu_port=0x330" into "/etc/modprobe.d/sound". Thus the whole file looks like this now:

alias snd-card-0 snd-via82xx
options snd-via82xx index=0
options snd-via82xx mpu_port=0x330

It's in Debian Etch that I am currently running. For Fedora Core the file will be "/etc/modprobe.conf", I think. So output from "cat /proc/asound/oss/sndstat" looks like this now:

Sound Driver:3.8.1a-980706 (ALSA v1.0.14rc1 emulation code)
Kernel: Linux debian #1 SMP PREEMPT Mon Mar 19 18:28:57 EDT 2007 i686
Config options: 0

Installed drivers:
Type 10: ALSA emulation

Card config:
VIA 82C686A/B rev50 with ICE1232 at 0xdc00, irq 10

Audio devices:
0: VIA 82C686A/B rev50 (DUPLEX)


Midi devices:
0: VIA 82C686A/B rev50 MIDI

7: system timer

0: ICEnsemble ICE1232

Rosegarden detects VIA 82C686A Midi device automatically now and doesn't need any special connection changes in qjackctl. Thank you, guys. Your advices helped me understand and fix the problem I had.

All times are GMT -5. The time now is 08:04 PM.