wheezyでの可聴端末ベル/ビープ音の有効化


8

rapsberry piモデルbでdebian wheezyの1/8 "ミニrcaオーディオ出力(ヘッドフォンジャック)を介して可聴端末ベル/ビープ音を有効にしようとしています。たとえばgnash。

私はなっ可聴ベルの設定LXTerminalの好みをONし、次のことを試してみました:

$ xkbbell (無音)

$ xkbbell -dev 0 (X失敗した要求のエラー:146)

$ beepそして$ beep -f 500 -l 700aptでそれをインストールした後(音なし)

とはいえ、これはすべて、PuTTYによってトリガーされるベルの音を聞くためのものですベルが発生したときに実行するアクションが[デフォルトのシステムアラート音を鳴らす]に設定されている場合に発生します。Windows版のPuTTYのように、ベルが鳴ったときにカスタムサウンドファイルを再生するオプションはありません。

# modprobe snd_hda_intel他のLinuxマシンで実行すると、PCスピーカー(ラズベリーにはない)用のサウンド出力をALSAにリダイレクトできることを読みました。このコマンドを実行すると、このモジュールが見つからないことがわかります。aptでそれを取得する方法がわかりません。

私は誰かが洞察力を持っていることを本当に望んでいます...私はグーグルからめまいです!


わかりやすくするために、Raspberry Piからベルが鳴っているのをそれ自身で聞きたいのか、それともSSHでベルを鳴らしたいのか?
syb0rg 2013

Raspberry Piから鳴っているベルを自分で聞きたいのですが。わかりにくいかもしれません。
humbolight 2013

回答:


4

softbeepというプログラムを使用して、目的の結果を得ることができました。

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

libncurses5およびlibX11開発パッケージを入手してコンパイルする必要がありました。

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

make)をコンパイルした後、sb-beepファイルを編集して、(1)piで使用可能なサウンドファイルをポイントし、(2)インストール前とaplayは対照的にesdplaymake install)でサウンドを再生する必要がありました。

魅力のように働いた!Lennart Poettering(softbeepの作者)に感謝します。


4

私はあなたがRaspbianにサウンドドライバとものをロードできることを発見しました:

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

最初のコマンドはサウンドドライバモジュールをロードし、2番目のコマンドはサウンド出力を3.5mmソケットに設定すると思います。

次に、を使用alsamixerして音量を調整しspeaker-test -c2 -t sine、スピーカーをテストできます

また、speaker-testutilを使用して、-c1forモノラルを使用して異なるサウンドを生成したり、c2ステレオの各チャネルを切り替えたり-f、ノイズの異なる周波数を実行したりすることspeaker-test --helpができます。

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

したがって、2秒のビープ音を生成するために、これは正常に機能しました。

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

より良いビープ音を出すために、Audacityで0.25秒のビープファイルを生成し(新しいオーディオトラックを作成し、440 Hzのトーンを生成し、11倍に増幅しました)、それをPiにコピーしました-で再生できaplay beep.wavます。これを次ににコピーし~/.local、このbashスクリプトを~/.local/bin/beepmkdir ~/.local/bin最初に実行した)で作成しました。

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

次に、次の行を作成しました~/.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

そして、私は以下を実行しました

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

そして、私はbeepビープ音を出すために単に走ることができました


貼り付けて移動するコードのサンプルのspeaker-test -c1 -t sine -f 800 -P 2 -p 0.4 -l 1
+1、2

1

以下を使用して、より短い音を出すことが可能です:

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

これは0.09秒後に信号を送信して停止します(ただし、オーバーヘッドのために長くなります)。私のシステム(Raspberry Pi 3のRaspbian Stretch)で音を出した最短時間は0.06秒でした。すべての出力を/ dev / nullにリダイレクトするので、通常のコマンドのように見えます。man speaker-testオプションの説明については、を参照してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.