音声ファイルの書き出し

リアルタイムに音を再生するだけでなく録音してみる。とても簡単で1行追加するだけ。

rtsetparams(44100, 2)
rtoutput("filename") //ファイルが書き出される
load("WAVETABLE")
waveform = maketable("wave", 1000, "sine")
WAVETABLE(0, 3, 440, 20000, 0.5, waveform)

ただし、このままでは既にディレクトリにfilenameという音声ファイルが存在するとエラーになります。これはそのままではファイルの上書きができないようにしています。そこでファイルの上書きをできるようにするのは

rtsetparams(44100, 1)
set_option("clobber=YES") //上書きを許可
rtoutput("filename")
load("NOISE")
NOISE(0, 3, 20000, 0.5)

いつも同じ楽器では飽きるのでノイズを3秒鳴らしてます。さてメインの話ですが、関数set_optionの引数を上記のようにすると上書きできるようになります。また音声を再生しないで録音するのに

set_option("audio=false")

を追記することで可能になります。またtrueやYES、falseやNOは0と1でもよろしい。