JuliaTokyo #3 Speech Signal Processing in Julia
-
Upload
ryuichi-yamamoto -
Category
Technology
-
view
1.248 -
download
0
Transcript of JuliaTokyo #3 Speech Signal Processing in Julia
Juliaで音声信号処理をしばらくやってみた
山本りゅういち (@r9y9)
2015/04/25 JuliaTokyo #3
ノートブックとか: https://github.com/r9y9/JuliaTokyo3
自己紹介
• 山本りゅういち (@r9y9)
– 音声/音楽の信号処理、機械学習が好き
– コンピュータビジョン(初心者)
– Julia歴 8ヶ月くらい
• ブログ– LESS IS MORE http://r9y9.github.io/
今日の話
1. 音声信号処理に便利なパッケージの紹介
2. 僕が書いたパッケージの紹介
WAVファイルの読み込みusing WAVx, fs = wavread("test16k.wav")
スペクトログラム
バンドパスフィルタを掛ける
基本周波数 (Fundamental Frequency; F0)
スペクトル包絡 (Spectrum Envelope)
非周期性指標 (Aperiodicity ratio)
音声波形の再合成
※誤差は、分析条件、分析方法に依存します
WORLDの良いところ
• 高品質
– 業界デファクトのSTRAIGHTと同等
• BSDライセンス
• 高速
応用
Robust PCA による歌声分離
混合音のスペクトログラム
低ランク行列
スパースな行列 (歌声)
Huang, Po-Sen, et al. "Singing-voice separation from monaural recordings using robust principal component analysis." ICASSP 2012.
https://github.com/r9y9/RobustPCA.jl
統計的声質変換
http://r9y9.github.io/blog/2014/11/12/statistical-voice-conversion-code/
画像+スペクトログラム
所感
• 既存のCライブラリを活用したい場合にラッパーを書く
– ccallかんたん慣れれば簡単に感じます(当たり前
• Juliaは本当に速かった
– 例えば反復計算を含むアルゴリズムで、C実装のたかだか1.3倍程度
– https://github.com/r9y9/MelGeneralizedCepstrums.jl/blob/35feece580fb121803ed6ace7f80e6b694c9aa69/perf/mgcep.jl
• 音声信号処理全然できるよ!
• パッケージは必要なら自分で書く!!
僕が音声系で使う/作ったパッケージ一覧
• dancasimiro/WAVWAVファイルの読み込み
• JuliaDSP/DSP窓関数、スペクトログラム、STFT、デジタルフィルタ
• r9y9/WORLD音声分析・合成フレームワーク
• r9y9/MelGeneralizedCepstrumsメル一般化ケプストラム分析r9y9/SynthesisFiltersメル一般化ケプストラムからの波形合成
• r9y9/SPTK音声信号処理ツールキット
• r9y9/RobustPCAロバスト主成分分析(歌声分離へ応用)
• r9y9/REAPER基本周波数推定
• r9y9/VoiceConversion統計的声質変換
※発表中に紹介しなかったものも含む。僕が書いた公式パッケージは現在WORLDのみです。上から順に、汎用的(だと思います)