Aktivieren der akustischen Klingel / des Signaltons bei Keuchen

8

Ich versuche, eine hörbare Klingel / einen Signalton über den 1/8 "Mini-RCA-Audioausgang (Kopfhörerbuchse) auf Debian Wheezy mit dem Rapsberry Pi-Modell b zu aktivieren. Normales Audio funktioniert wie erwartet, wenn eine Stoßwellendatei in Midori mit abgespielt wird zum Beispiel knirschen.

Ich drehte die Audible Glocke Einstellung in LXTerminal Präferenzen ON , und versuchte , die folgende:

$ xkbbell (keinen Ton)

$ xkbbell -dev 0 (X Fehler der fehlgeschlagenen Anforderung: 146)

$ beepund $ beep -f 500 -l 700nach der Installation mit apt (kein Ton)

Dies ist alles in dem Versuch, den von PuTTY ausgelösten Klingelton zu hören , wenn die Aktion, die ausgeführt werden soll, wenn eine Glocke auftritt , auf Standard-Systemalarmton setzen eingestellt ist . Wie in der Windows-Version von PuTTY gibt es keine Möglichkeit, eine benutzerdefinierte Sounddatei abzuspielen, wenn eine Glocke auftritt.

Ich habe gelesen, dass das Ausführen # modprobe snd_hda_intelauf anderen Linux-Computern die Tonausgabe für den PC-Lautsprecher (der der Himbeere fehlt) an ALSA umleiten kann. Wenn Sie diesen Befehl ausführen, wird mir mitgeteilt, dass dieses Modul nicht gefunden wurde. Ich weiß nicht, wie ich es mit apt erwerben soll.

Ich hoffe wirklich, dass jemand einen Einblick hat ... mir ist schwindelig vom Googeln!

Humbolight
quelle
Um dies zu verdeutlichen, möchten Sie die Glocke hören, die vom Raspberry Pi selbst ausgegeben wird, oder wenn Sie SSH verwenden?
Syb0rg
Ich möchte die Glocke vom Raspberry Pi alleine hören. Ich dachte, das könnte verwirrend sein.
Humbolight

Antworten:

4

Mit einem Programm namens Softbeep konnte ich die gewünschten Ergebnisse erzielen .

http://0pointer.de/lennart/projects/softbeep/softbeep-0.3.tar.gz

Ich musste die Entwicklungspakete libncurses5 und libX11 erhalten , um es zu kompilieren.

sudo apt-get update
sudo apt-get install libncurses5-dev libX11-dev

Nach dem Kompilieren von ( make) musste ich die sb-beepDatei bearbeiten , um (1) auf eine verfügbare Sounddatei auf dem Pi zu verweisen und (2) den Sound aplayim Gegensatz zu esdplayvor der Installation von ( make install) abzuspielen .

Lief wie am Schnürchen! Vielen Dank an Lennart Poettering (Softbeep-Autor).

Humbolight
quelle
4

Ich fand, dass Sie die Soundtreiber und Sachen auf Raspbian laden konnten mit:

sudo modprobe snd_bcm2835 && sudo amixer cset numid=3 1

Der erste Befehl lädt das Soundtreibermodul, der zweite setzt meiner Meinung nach die Soundausgabe auf die 3,5-mm-Buchse.

Sie können dann alsamixerdie Lautstärke einstellen und speaker-test -c2 -t sinedie Lautsprecher testen

Sie können das speaker-testutil auch verwenden , um verschiedene Sounds zu erzeugen, mit -c1Mono, c2zwischen den einzelnen Stereokanälen umzuschalten und unterschiedliche Rauschfrequenzen zu erzeugen -f- dies speaker-test --helpbietet viel mehr Optionen:

speaker-test 1.0.25

Usage: speaker-test [OPTION]... 
-h,--help   help
-D,--device playback device
-r,--rate   stream rate in Hz
-c,--channels   count of channels in stream
-f,--frequency  sine wave frequency in Hz
-F,--format sample format
-b,--buffer ring buffer size in us
-p,--period period size in us
-P,--nperiods   number of periods
-t,--test   pink=use pink noise, sine=use sine wave, wav=WAV file
-l,--nloops specify number of loops to test, 0 = infinite
-s,--speaker    single speaker test. Values 1=Left, 2=right, etc
-w,--wavfile    Use the given WAV file as a test sound
-W,--wavdir Specify the directory containing WAV files

Recognized sample formats are: S8 S16_LE S16_BE FLOAT_LE S32_LE S32_BE

Um einen 2-Sekunden-Piepton zu erzeugen, funktionierte dies einwandfrei:

speaker-test -c1 -t sine -f 800 -P 2 -p 0.4 -l 1

Für einen besseren Signalton habe ich in Audacity eine 0,25-Sekunden-Signaltondatei erstellt (neue Audiospur erstellt, 440-Hz-Ton generiert, um 11 verstärkt) und dann auf meinen Pi kopiert - ich konnte sie dann abspielen aplay beep.wav. Dies habe ich dann kopiert ~/.localund dieses Bash-Skript unter erstellt ~/.local/bin/beep(ich habe es mkdir ~/.local/binzuerst ausgeführt):

#!/bin/bash
aplay -q $HOME/.local/beep.wav
exit

Ich habe dann diese Zeilen erstellt in ~/.bash_profile:

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games:$HOME/.local/bin:$HOME/bin

export PATH

und dann lief ich folgendes

chmod +x ~/.local/bin/beep
source ~/.bash_profile

und dann könnte ich einfach rennen beep, um ein Piepton zu machen

Wilf
quelle
+1 für das Einfügen und Go-Code-Beispiel für einen 2-Sekunden-Piepton mit Lautsprechertestspeaker-test -c1 -t sine -f 800 -P 2 -p 0.4 -l 1
Domih
1

Es ist möglich, einen kürzeren Ton zu erzeugen, indem Sie:

( speaker-test -t sine -c 2 -s 2 -f 800 & TASK_PID=$! ; sleep 0.09 ; kill -s SIGINT $TASK_PID ) > /dev/null

Dies sendet ein Signal nach 0,09 s (aber länger aufgrund von Overhead) zum Stoppen. Die kürzeste Zeit, die auf meinem System einen Sound gab (Raspbian Stretch auf Raspberry Pi 3), betrug 0,06 s. Ich leite alle Ausgaben nach / dev / null um, damit es wie ein normaler Befehl aussieht. Siehe man speaker-testzur Erläuterung der Optionen.

Mobluse
quelle