またもや久しぶりのエントリになってしまいましたが、こないだjavaでやってたようなことを今度はpythonでやってみました。OSXの人はterminalでpythonと打ち込んであげればさくっと起動するあれです。interactive modeでpysndobjを駆使すればchuckやsc3でお馴染みのon the fly programmingなんかもできますね。それはまた別の機会に譲るとして、とりあえず普通にpythonです。
ソースコードはこちら。
Download file
作ったのはテキストファイルをwavファイルに変換するもので、コードを実行するには、terminalでこのファイルと同じ階層に移動して、
python tex_ts.py
と打ち込むだけ。すると入力待ちになるので、読み込みたいファイルの名前を入れてreturn。
再び入力待ちになるので今度は書き出すサウンドファイルの名前を入れてください。
読み込むファイルの行数とサンプリングレートの関係でエラーが出るようですが解決法は調査中です。誰か知ってたら教えてください。あと結構環境によって動かないことがよくあるのでそういうのも報告していただければと思います。
とりあえず変換前の数値ファイル
Download file
サンプリングレート44100で変換したwavファイル
Download file
変換前の文字ファイル
Download file
サンプリングレート100で変換したwavファイル
Download file
てな感じです。第三項音楽とかもこういうことやってますね。もっと音いいし精度高いけど。
ソースコードのSAMPFREQという変数(pythonではデータ型の宣言が不要です)を変えてみたり、色んなファイルを読み込ませたりしてみて下さい。
pythonの開発環境としてはIDLEなどを使ってみるのもいいと思います。
ここからどうやって聴いた感じ単なるよくあるノイズじゃないものを作るか、というのは難しい問題ですが、是非とも取り組んでいきたいところであります。
次回はpysndobjを使ってリアルタイムにコーディングしながら音を出すことについてでも触れたいと思います。
