Flash、Soundの速度や音程を操作したい


nekome_sound_130430
Flashで音の速度や、音程を操作したい。
動的に再生したサウンドを制御する
を参考に、音の扱いについて学びました。

音の速度変更

音操作、スロー再生とか – wonderfl build flash online

固定の音声だけでなく、デスクトップやローカルにあるmp3ファイルを読み込ませられたら
面白そうと思い挑戦したのですがFileRefarenceやFileStreamで
読み込んだデータはByteArrayなのでSoundオブジェクトとして扱えず困りました。
調べたところ、読み込んだバイナリデータ(ByteArray)をSoundオブジェクトにする
メソッドがFlash Player11、AIR3以降から実装されているとのコト。
loadCompressedDataFromByteArrayを駆使してなんとかローカルファイルの音声を元にいじることに成功しました。

参考リンク
 動的に再生したサウンドを制御する
 ByteArrayオブジェクトからサウンドデータをSoundオブジェクトに読込むメソッド
 FlashPlayer11 の細かすぎて伝わらない変更点
 

音の音程変更

Get Adobe Flash player


AIRアプリとして PC向け、スマホ向けに ボイスチェンジャー的なものを作ったら楽しかろうといろいろ調べたところ
「PhaseVocoder」
という便利なライブラリを見つけました。
しかし処理が重すぎてリアルタイムの変換は無理っぽいです。用意した音声に対しての音程操作ならそれなりに動きました。

参考リンク
 Cat Voice Keyboard – ActionScript3
 Real-time pitch shifting (without change of duration)
 

 

電車の広告で「らくらくホン/ゆっくりボイス」というものを見かけました。
通話音声の無言箇所を詰めて、音程を変えず、ゆっくり聞こえるように調整する技術のようです。
Flash上でも技術的には、ゆっくりボイスを再現できそうな予感がします。

Comments are closed.