音声特徴比較システムの開発 Development of Voice Feature Comparison System 動機 班員全員が 音楽好き フーリエ変換を 活かせる 4つの動機 歌の 数値解析 のコーディング 上手さを科学的 に理解したい をしたい 目的 歌の上手さを 科学的に理解 結果を考察 サンプルデータの 収集及び統計 音声特徴比較 システムの開発 開発環境 Microsoft Visual C++ 2010 Express Edition MCIとは? Media Control Interface の略 音楽や動画を再 するための命令 群 システムの説明手順 1 2 3 4 ボーカルキャンセリング フーリエ変換 比較手法以前 比較手法 システムの説明手順 1 2 3 4 ボーカルキャンセリング フーリエ変換 比較手法以前 比較手法 ボーカルキャンセリング 定義 L=LV+LB R=RV+RB LV=RV ボーカルが中央に定位 していることを利用、 ボーカル音声を除去! L-R=LV+LB-(RV+RB) =LV-RV+LB-RB =LV-LV+LB-RB =LB-RB 伴奏だけ 取り出せる! システムの説明手順 1 2 3 4 ボーカルキャンセリング フーリエ変換 比較手法以前 比較手法 システムの説明手順 1 2 3 4 ボーカルキャンセリング フーリエ変換 比較手法以前 比較手法 波の分解 f ( t )=? 波の分解 f ( t )=sinωt+sin2ωt+sin3ωt フーリエ変換 フーリエ理論…全ての周期関数は単純なsin波cos波に分解可能 an …cos波の各振幅 f (t ) ( an cos nωt bn sin nωt)bn …sin波の各振幅 n…基本周波数1に対する倍音周波数 2~ n 0 3つの定数が分かることによって波の特徴を解析できる 波形を周波数分布へ変換できる! 波形グラフを G( f ) ,周波数グラフを f ( t ) とすると G( f ) f (t )e in 2πft dt スペクトル 3 2.5 2 1.5 FT 0.5 1 1 2 3 4 5 6 7 f(t) G( f ) 時間 周波数 8 9 DFT(離散フーリエ変換) in2πk N 1 n N DFT(離散フーリエ変換) G τ f (kτ) e …PC用のデジタルフーリエ変換 Nτ k 0 τはサンプリング間隔 Nはデータ点数 フーリエ変換 ↓デジタル化 離散フーリエ変換 ↓ 高速化 高速フーリエ変換 バタフライ演算 → → → → ← ← → → ← ← → ← → ← → ← → ← 7 → → → ← → ← ← → 5 ← → ← → → → → → → ← → → → → 3 → → ← → → ← → → → → → → → → → → → → → 1 → → → ← ← → → ← → 8 ← → ← ← 6 ← → → → 4 → ← → ← → → → ← 7 ← → → → 6 → → ← ← ← → ← → ← → ← → ← → ← ← 5 → → 4 → ← → 3 → ← 2 ← → ← → 2 → → → → → → → → → → → 1 → 8 → データ点数を2のN乗個とする →PCの仕様に合わせるため,周期を崩さないため。 ・データ点数が64個の場合 窓処理 フーリエを利用する大前提は周期性 窓関数…初めと終りが最小,終始2点の中間が最大 3 2 1 0 0 0.2 0.4 0.6 0.8 1 -1 -2 -3 →窓処理・・・波形f ( t )に窓関数をかけること。 1.2 システムの説明手順 1 2 3 4 ボーカルキャンセリング フーリエ変換 比較手法以前 比較手法 システムの説明手順 1 2 3 4 ボーカルキャンセリング フーリエ変換 比較手法以前 比較手法 音声比較以前 ボーカル音声波形データの抽出 失敗 ボーカル音声スペクトルの抽出 ボーカル音声以外の 中央音源が少ないデータでは成功 比較アルゴリズム概要 音階判定 標準偏差、偏差値 を利用 音階変化判定 得点を算出 声量判定 抑揚判定 精度向上のために フィルタリング 標準偏差 標準偏差 散らばり具合を表す数 偏差値の計算に用いられる S x x N i 1 i N 2 偏差値 母集団の平均か らどれだけ離れ ているかを示し た値 10 xi x 50 S -4.0 -3.0 平均値を 変更 -2.0 0.45 0.4 0.35 0.3 0.25 0.2 0.15 0.1 0.05 0 -1.0 0.0 1.0 2.0 3.0 4.0 10 x x 70 S i フィルタリング 音声周波数帯150-2000[Hz] を通過させるフィルタを使用 解析したい周波数帯域の特定ができる システムの説明手順 1 2 3 4 ボーカルキャンセリング フーリエ変換 比較手法以前 比較手法 システムの説明手順 1 2 3 4 ボーカルキャンセリング フーリエ変換 比較手法以前 比較手法 音階判定 録音音声スペクトル ボーカル音声スペクトル 1200 400 1000 800 300 600 200 400 100 200 0 0 0 1000 2000 3000 4000 5000 6000 0 音階 取得 この音は「ド」だ! 音程比較 1000 2000 3000 4000 5000 6000 音階 取得 この音は「ド」だ! 音程合致! 音階差分判定 t秒時のスペクトル t+1秒時のスペクトル 1200 1400 1000 1200 800 1000 1秒 経過 600 400 200 800 600 400 200 0 0 1000 2000 3000 4000 5000 6000 音階 取得 この音は「ド」だ! 0 0 1000 2000 3000 4000 5000 6000 音階 取得 この音は「ラ」だ! 「ラ」-「ド」は正、このことを利用して… 音程比較! 声量判定 マイク入力時のパワーの平均値で比 較する手法 1600 1400 1200 1000 800 600 平均値で比較 400 200 0 0 60 120 180 240 抑揚判定 マイク入力時のパワーの変化の度合 いで比較する手法 1600 1400 1200 1000 800 600 400 200 0 0 60 120 180 240 -4.0 -3.0 -2.0 0.45 0.4 0.35 0.3 0.25 0.2 0.15 0.1 0.05 0 -1.0 0.0 1.0 2.0 3.0 4.0 結果 Rank 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 Human test23 test21 test01 test04 test13 test00 test07 test09 test12 test06 test16 test18 test03 test11 test08 test14 test05 test17 test19 test22 test02 test10 test15 test20 System test23 test04 test00 test21 test15 test20 test13 test22 test17 test08 test12 test03 test11 test02 test10 test07 test01 test09 test06 test18 test14 test19 test05 test16 メンバー が採点 システム で採点 比較 上位、下位 ほぼ一致 考察 ボーカル音声を綺麗に消せる曲は 高得点になる傾向がある 原因 解決策 中央音源に楽器音が含まれている ボーカルキャンセリングアルゴリズ ムを改善する 比較アルゴリズムを改善する 参考文献 C言語ではじめる音のプログラミング WAVプログラミング C言語で学ぶ音響処理 Windowsサウンドプログラミング フーリエ変換 http://luckypool.hp.infoseek.co.jp/Fourie/ ご清聴ありがとうございました 仲道 嘉夫 先生 比較手法検討協力 データ比較 石川 浅子 幸治 卓亨 先生 班長 木立 本多 寛也 隼也 GUI開発協力 西田 侑央 本多 菱沼 隼也 和弘 監督 桑原 悠太 データ収集協力 資料作成 浅子 安藤卓亨 駿 フーリエ変換指導 桑原 河野 悠太 西田 杏那 侑央 木立 大輝 西松 寛也 ・・・等他多数の方々 西田 侑央 GUIコーディング 本多 本多 隼也 隼也 協力ありがとうございました システムコーディング スペシャルサンクス 桑原 悠太 フーリエ変換指導協力 グラフィックス 石川 幸治 先生 木立 寛也 質疑応答のじかん VFCS Project Wiki http://www29.atwiki.jp/vfcs/ ここから先は予備 DFTとFFT FFT 16 8 10000000000 8 64 24 1000000000 16 256 64 100000000 32 1024 160 10000000 64 4096 384 1000000 128 16384 896 100000 256 65536 2048 10000 512 262144 4608 1000 1024 1048576 10240 100 2048 4194304 22528 10 4096 16777216 49152 1 8192 67108864 106496 16384 268435456 229376 32768 1073741824 491520 65536 4294967296 1048576 DFT FFT 20 48 81 92 32 76 8 4 51 2 2 12 8 4 2 2 32 DFT 8 N ボーカル音声スペクトル抽出 原曲スペクトル-伴奏スペクトル ⇒ボーカル音声スペクトル 300 スコアブックと 照らし合わせて 成功しているか 確認した 250 200 150 100 50 0 -50 -100 -150 -200 -250 0 200 400 600 800 1000 1200 1400 1600 1800 比較アルゴリズム改善 音階判定 音階変化判定 声量判定 抑揚判定 + ビブラート判定 New! リズム判定 New! ビブラートに関して 波形データ同士で比較 失敗 ビブラートは波形で検出するもの だが,波形の抽出ができていない ため,現状ではビブラートを扱う ことができない ボーカルキャンセリグ改善 原曲(波形データ) FFT,ハートレー変換 を利用 周波数スペクトル 原曲波形と周波数スペクトルの両方 のアプローチにより精度向上 ボーカル音声波形抽出失敗理由 定義 L=LV+LB R=RV+RB LV=RV LB-RB⇒伴奏 L-(LB-RB)=LV+LB-LB+RB =LV+RB⇒伴奏が残ってしまう WAVEファイル仕様 データ形式 : 1 (1 = PCM) チャンネル数 : 1 (モノラル) サンプリング周波数 : 44100 [Hz] バイト数 / 秒 : 88200 [bytes/sec] バイト数 × チャンネル数 : 2 [bytes] ビット数 / サンプル : 16 [bits/sample] 声域とBPFの閾値 声域 歌声の声域 : 約70 ~ 1500 [Hz] BPFの閾値 BPFの閾値: 150 ~ 2000 [Hz]
© Copyright 2024 ExpyDoc