/dev/audioに特定のトーンを送信する方法は?

/dev/audioに特定のトーンを送信する方法は?

しかし、どのように同じことをすることができますか?ランダムノイズ/トーンの代わりに1つを選択してください。一つ可能なすべての値から値を選択し、cat それオーディオデバイスに無期限に送信しますか(任意の値ではなく同じ値のシーケンスを生成します)?

これにより、一貫した単一のトーンが生成されます。

相互作用

他の値を手動で試すことはできますが、仮想の「インターフェース」を使用すると、必要な値を簡単に選択/クリックできます。

  • 頻度(Hz) 例: 440
  • 振幅(0-1) 例えば0.8

むしろいいえオーディオを使う文書、file.wav、file.mp3、file.oggなどのbashスクリプトとデフォルトのcliアプリケーション(例cat:file.mp3 padsp、file.oggなど)のみが必要です。

ベストアンサー1

sin数学(特に)を実行し、数値を標準出力に文字として書き込むすべてを試すことができます。たとえば、

awk --characters-as-bytes 'BEGIN { freq=2200; amp=0.3; for (i=0; i>=0; i++) { printf "%c", 127+ amp*(127.0*sin(2*3.14159265/44100*i*freq)); } }' | padsp tee /dev/audio > /dev/null

設定方法によってはfreqサイレンの音のように聞こえることもあります。ユースケースによっては遊べるものかもしれません。

amp振幅は最大1.0まで調整できます。

私はGNU awkを使用しているので--characters-as-bytes動作します。 stdoutに書き込むときに文字がUTF-8でエンコードされることを望まない!

また、システムによってデフォルトのサンプリングレートが異なる場合、44100 を 48000 または他の数字に置き換える必要があります。

おすすめ記事