「waveファイルの音声データをバイナリのファイルとして出力する」アプリケーションが欲しかったので、これにトライしてみることに。
とりあえず、プログラムとして動くためには以下の3つの要素を満足する必要があります。
1.waveファイルを読み込む
2.音声データを配列やリストとして分離する
3.配列のデータをそのままバイナリファイルに書き出す
waveファイルを取り扱うのに便利な「waveモジュール」がありますので、これを使用します。
このモジュールを使うことで、ヘッダ部以外の音声部を直接取り出すことができます。
ソースコードは以下の通り。
# -*- coding: utf-8 -*- import wave if __name__ == '__main__': wavefile = "./input.wav" #waveファイルのパスを指定 wf = wave.open(wavefile,"rb") #ファイル読み込み numdata = wf.readframes(wf.getnframes()) #文字列データに変換 bindata = open("output.bin","wb") #ファイルを開く bindata.write(numdata) #ファイルに書き出し bindata.close() #ファイルクローズ print("Conv Finished.")
現状使うのは8kHzのモノラルだけですのでこれで十分といえば十分です。
あとはGUIでファイルが選べたり、変換の設定がいじれるようにしておけば形としてはしっかりするかな。
そしてSyntaxHighlighterが導入できない……と思ってたらプレビューだと動かないのね…。
0 件のコメント:
コメントを投稿