Linux (Ubuntu) で周波数 1kHz および電力/音量 = 60% を出力する方法は?
C/C++ のサンプル コードが必要です。ありがとう!
portaudio ライブラリを見てみましょう。http://www.portaudio.com/
非常に使いやすく、クロス プラットフォームであり、多くの小さなサンプル プログラムが付属しています。とりわけ、正弦波を合成して再生するものがあります。
周波数と音量を変更するのは簡単です..私の記憶が正しければ、この例は、初期化とすべてを含む 1 ページのコードに過ぎませんでした。
以下は、ユーザー定義の周波数 (ヘルツ) と長さ (ミリ秒) のビープ音を出力する方法です。音量の設定方法がわかりません。この C プログラムは「echo -e」への system() 呼び出しを行うだけなので、技術的にはこれに C は必要ないことに注意してください。
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char* argv[])
{
long freq;
long len;
char cmd[60];
if (argc != 3)
{
printf("Usage: %s freq_hz length_ms\n", argv[0]);
return 1;
}
freq = strtol(argv[1],(char**)NULL,10);
len = strtol(argv[2],(char**)NULL,10);
sprintf(cmd,"echo -e \"\33[10;%ld]\33[11;%ld]\a\33[10]\33[11]\"",freq,len);
system(cmd);
return 0;
}