fluid-dev
[Top][All Lists]
Advanced

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

Re: [fluid-dev] What is MIDI driver?


From: Orm Finnendahl
Subject: Re: [fluid-dev] What is MIDI driver?
Date: Sun, 13 Feb 2022 15:58:43 +0100

Hi Nikolay,

 to the list members: If this is too off-topic, let us know and we
will continue privately. But it might be interesting for someone on
the list. Otherwise sorry for the noise.

Am Sonntag, den 13. Februar 2022 um 17:01:42 Uhr (+0300) schrieb
Nikolay Shaplov:
> 
> First, ALSA Sequencer System, it is technically what?

Technically it is a module, which is the linux term for a driver. You
can see all installed modules by issuing the 'lsmod' command. All
modules beginning with "snd-" are the alsa modules (there are quite a
lot). Modules get inserted with the 'modprobe' and 'rmmod' commands.

Loading a module most of the time creates one or more (virtual) files
in the /dev/ directory (dev is short for "devices"). These files don't
really exist, they are just access points to the hardware
devices. This is the unix way for programs to access external devices
(Screens, Computer Keyboard, Harddrives, Wlan Interfaces, SoundCards
etc.): Programs write to this access point as if it was a file or read
from it to communicate with the hardware.

If you want to see, what "files" for sound devices are created by the
drivers, look into /dev/snd/

alsa-seq can be accessed through /dev/snd/seq and /dev/snd/timer, but
that's taken care of the programs which use it. Normally you
shouldn't directly interact with them except you know what your doing.

> I tried to use it:
> fluidsynth -a pulseaudio -m alsa_raw -g 10 -r 48000 -p midiC1D0 /usr/share/
> sounds/sf3/default-GM.sf3
> 
> and got an error:
> 
> ALSA lib rawmidi_hw.c:235:(snd_rawmidi_hw_open) open /dev/snd/midiC0D0 
> failed: 
> No such file or directory

There is an inconsistency between your command and the error message:
If you specify the port "midiC1D0" in your fluidsynth command, the
error should state that "/dev/snd/midiC1D0" is not found (and not
"/dev/snd/midiC1D0"), but that's not the reason that it fails.

To debug this you should first look into /dev/snd and check which
mididevices have been created (their names begin with "MIDI*" and the
naming scheme is the card number and its port number, so "MIDIC1D0" is
the first midi port of your second sound card) and use the ones, which
are created in your fluidsynth command. If you don't find any "MIDI*"
in /dev/snd, the driver isn't loaded (and you can load it with the
"modprobe" command in case you know the right driver for the attached
hardware. But normally your distro should do that automatically on
insertion of the USB plug of your keyboard.

HTH

Best,
Orm



reply via email to

[Prev in Thread] Current Thread [Next in Thread]