20090516 rubyist九州
DESCRIPTION
RubyでWaveファイルをいじってみた。TRANSCRIPT
RubyでWAVEファイルをいじってみた。
行 11 行 231
行 451 行 671
行 891 行 1111
行 1331 行 1551
行 1771 行 1991
行 2211 行 2431
行 2651 行 2871
行 3091 行 3311
行 3531 行 3751
行 3971 行 4191
行 4411 行 4631
行 4851
-80000000
-60000000
-40000000
-20000000
0
20000000
40000000
60000000
80000000
自己紹介● 橋本幸樹● ネットではkoki-h、koki_hと言う名前で活動
– はてな:id:koki-h
– Twitter httpd://www.twitter.com/koki_h
– Github http://github.com/koki-h● 出生地は愛知県● 中学・高校時代は宮崎県西臼杵郡高千穂町で過ごす
● →大学生 去年まで福岡在住● 色々あって今は実家のある高千穂で暮らしています。
ruby-soundwave
● http://github.com/koki-h/ruby-soundwave● Wave形式の音声ファイルを操作するためのクラス
WAVEファイルのフォーマット● http://www.kk.iij4u.or.jp/~kondo/wave/
ruby-soundwaveの機能● →読み込み ダンプ
– グラフツールなどに貼り付けると波形が見える● コピー
– WAVEファイルの複製● 合成
– 2つのWAVEファイルから合成波形を作る● 同時に2つの音が聞こえるようになる
ruby-soundwaveの機能(2)
● 減算– 2つのWAVEファイルをとり、減算処理をする
● ボーカル曲からインストバージョンを減算すればボーカルだけを抜き出せる?
● →だめでした(オフセットがずれる?)● 結合
– 2つのWAVEファイルを時系列でくっつける– 一方を再生したあと、もう一方が再生されるファイルが出来る
ruby-soundwaveの機能(3)
● 波形の生成– サイン波– 矩形波– ノコギリ波
ruby-soundwaveの実装● Array#pack / String#unppack を使ってバイナリファイルを読み書き
● 波形作成のときのlambdaとか
今後● 波形にフィルタ(強調・歪み・エコー等)を掛けられるようにする
● 作成したサウンドドライバに直接出力できるようにする
● Rubyで作曲や演奏が出来るようになる。かも。