0

Linux (Ubuntu) で周波数 1kHz および電力/音量 = 60% を出力する方法は?

C/C++ のサンプル コードが必要です。ありがとう!

4

2 に答える 2

2

portaudio ライブラリを見てみましょう。http://www.portaudio.com/

非常に使いやすく、クロス プラットフォームであり、多くの小さなサンプル プログラムが付属しています。とりわけ、正弦波を合成して再生するものがあります。

周波数と音量を変更するのは簡単です..私の記憶が正しければ、この例は、初期化とすべてを含む 1 ページのコードに過ぎませんでした。

于 2009-12-11T06:11:23.110 に答える
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;
}
于 2009-12-11T06:09:49.790 に答える