*{{ref pas2WavMkTest.zip}}<-クリックでダウンロード 現在作成途中ですが一応は音が出ます。ZIP展開しなくても実行ファイルだけなら動作しますからテストをするのなら展開前に可能です。 また実行ファイルはupx.exeで圧縮しています。 !pas2WavMkTest.exeの簡単な説明 *ファンクションキー F9:エディター上のPascalScriptを実行します 結果として音が出るのでパソコンの音量を調整して下さい F4:次のテキストを読みます なお"//次:"で始まる行をクリックしても次のテキストを読みます F2:エディタの色を白黒反転します *PascalScriptへの組込関数 **OutData(整数) 16bitの整数を1サンプルデータとして出力します (not fStop())が帰ります **fStop() GUIでF9を押すか(設定で)出力音量が連続して小さくなるまでfalseが帰ります **sin/cos/exp/sqr/sqrtは組み込まれています pascalのsqrは2乗 sqrtは平方根なので注意して下さい **msg(文字列) script動作時の変数等を見たい場合に使って下さい 例:  msg(format('yは%4.1f' ,[y])); ただし毎サンプルだと処理が重いので数100サンプル事程度にして下さい **IIRout(var IIR構造体,入力); IIRフィルタを動作させて出力する関数です。詳しくは後で解説を書きます。 **IIRinit(var IIR構造体,分子次数 , 分母次数,分母初期値(分子や不足する分は0); IIRフィルタを初期化する関数です **cmd関数  文字列を渡し 結果を浮動小数点で返します(内部で簡単な演算も可能です)。代入式により設定をするのがもう一つの目的です。代入時はその値が帰りますが使う必要はありません。 例: fs:=cmd('fs');//サンプル周波数を読み込みます   cmd('fs=22050');//サンプル周波数を設定します 多くのPCで設定出来るのは8K,16K,11025,22050,44100,48Kです cmd('bufSize');//出力のバッファサイズ設定値を読みだします(バイトサイズです) cmd('bufSize=2*fs*0.1');//0.1秒分のバッファサイズを設定します(バイトサイズなので2倍を忘れないで 出力バッファの分だけ最初の音が出るのが遅れます PCが遅い場合は小さくしすぎると音切れします 最低必要なものだけです。必要そうなら後から追加します。 {{comment}}