Auf einem Desktop-Debian (mit "Soundkarte") kann ich mit timidity ein MIDI-File auf der Bash abspielen.
Aber wie mache ich das auf einem Server der keine Soundkarte, aber dafür einen PC-Speaker hat? Theoretisch müsste das doch einfach möglich sein, oder?
Ich kenne zwar ein Script, das einem MIDIs in beep-Aufrufe umwandelt - aber das ist nicth "einfach".
Nebenfrage: Wie spiele ich unter X ein midi ab? VLC, SMPlayer, Audacious melden Fehler.
MIDI mit PC-Speaker abspielen
Re: MIDI mit PC-Speaker abspielen
Das sollte ganz ohne irgendwelche Tricks gehen. Den einfachen PC-Speakertreiber entladen, dafür den von Alsa laden
dann sollte es eine neue Soundkarte geben, die sogar über einen eigenen Lautstärkeregler verfügt
und den PC-Speaker verwenden als wäre er eine Soundkarte, erst nur testen
dann mit timidity die gewünschte midi-Datei abspielen, das würde ich mangels besserer Kenntnis der Optionen von timidity einfach so probieren
Damit es dauerhaft (auch nach einem Reboot) funktioniert musst du pcspkr blacklisten und gegebenenfalls snd_pcsp in /etc/modules eintragen.
Code: Alles auswählen
# rmmod pcspkr
# modprobe snd_pcsp
Code: Alles auswählen
$ aplay -l
**** List of PLAYBACK Hardware Devices ****
[…]
card x: pcsp [pcsp], device 0: pcspeaker [pcsp]
Subdevices: 0/1
Subdevice #0: subdevice #0
$ alsamixer -D hw:pcsp
Code: Alles auswählen
$ aplay -D plughw:pcsp /usr/share/sounds/alsa/Front_Left.wav
Code: Alles auswählen
$ timidity meine_Mididatei.mid -o - | aplay -D plughw:pcsp
Re: MIDI mit PC-Speaker abspielen
Es kommt kein Fehler, aber auch kein Ton.smutbert hat geschrieben:Code: Alles auswählen
$ aplay -D plughw:pcsp /usr/share/sounds/alsa/Front_Left.wav
Code: Alles auswählen
$ sudo aplay -D plughw:pcsp IntroGoldenboy.wav
Wiedergabe: WAVE 'IntroGoldenboy.wav' : Signed 16 bit Little Endian, Rate: 44100 Hz, stereo
Habs mal vereinfach probiert (und vorher alsaplayer-jack noch installiert).smutbert hat geschrieben:Code: Alles auswählen
$ timidity meine_Mididatei.mid -o - | aplay -D plughw:pcsp
Code: Alles auswählen
$ timidity ALF.MID
jack_client_new: deprecated
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
Couldn't open output device
Nebenbei gefragt: Was genau passiert da? Was macht timidity mit der MIDI-Datei und warum muss das noch nach aplay umgeleitet werden?
Re: MIDI mit PC-Speaker abspielen
Ob es funktioniert kann ich momentan mangels System mit PC-Lautsprecher nicht testen, aber eigentlich sollte es schon funktionieren und ja man kann dann beliebige wav-Dateien abspielen. timidity macht aus midi-Dateien wav-Dateien und kann sie grundsätzlich auch abspielen, aber ich habe das Ergebnis im obigen Befehl nach aplay weitergeleitet, weil ich nicht weiß wie man bei timidity das zu verwendende Alsagerät angeben kann.
pcsp ist der Name der logischen Soundkarte, die den PC-Lautsprecher repräsentiert. hw:pcsp wäre in Alsa also eine Bezeichnung für das zu verwendende Gerät. Das zusätzlich plug sorgt noch dafür, dass das Format nötigenfalls so konvertiert wird, dass der Soundkartentreiber des PC-Lautsprechers auch damit umgehen kann.
Ich werd es auch ausprobieren, wenn ich einen Computer mit PC-Lautsprecher zu fassen bekomme...
pcsp ist der Name der logischen Soundkarte, die den PC-Lautsprecher repräsentiert. hw:pcsp wäre in Alsa also eine Bezeichnung für das zu verwendende Gerät. Das zusätzlich plug sorgt noch dafür, dass das Format nötigenfalls so konvertiert wird, dass der Soundkartentreiber des PC-Lautsprechers auch damit umgehen kann.
Ich werd es auch ausprobieren, wenn ich einen Computer mit PC-Lautsprecher zu fassen bekomme...