やること
こんにちは、Suzuです。前回はモノマネをしているウマ娘声優さんの声をフーリエ変換しました。
ここからはスペクトログラムの定量比較を行います!
前回の題材のままではやりにくいので、新しい題材として「うまぴょい伝説」という曲を使用します。曲はリズムが揃っているため、時間軸を揃えた比較がしやすいからです。
ズキューン、ドキューン、走り出し〜 ₍₍ (ง ˘ω˘ )ว ⁾⁾
「うまぴょい伝説」はウマ娘のアニメや映画で流れるED曲です。一度聞いたら頭から離れませんフッフーウ↑↑
参考文献
音声データのフーリエ変換については前回の記事をご参照ください。
選出したウマ娘
まずは選出されたウマ娘の紹介です。
1人目:ライスシャワー(以下ライス)
ライスシャワーはアニメ2期で活躍し、メジロマックイーンとミホノブルボンの3連覇をそれぞれ阻止しました。素直で可愛くてファン投票では(略
2人目:トウカイテイオー(以下テイオー)
トウカイテイオーはアニメ2期の主人公です。3度の骨折を乗り越えて挑んだ1993年の有馬記念は奇跡の復活と呼ばれ、このレースを観戦した著者は涙腺が崩壊し鼻水を(略
3人目:メジロマックイーン(以下マックイーン)
メジロマックイーンは「ですわ」系のお嬢様でありながら、甘いものと野球が大好きなウマ娘です。前回の記事に登場したゴルシの祖父にあたり、レースでは(
使用した音声データ
3人がソロで歌っている音源から「こんな~レースは~初めて~♪」を切り出しました。ポジティブコントロール(陽性対照、類似度100%になるはず)用にライスシャワーの素材は2個用意しました(音源は同じ)。
ライス①
声優は石見舞菜香さん。同じく声優の花澤香菜さんと声が似ているともっぱらの噂です。
ライス②
テイオー
声優はMachicoさんです。「しゃくり」がある声だと思います。
マックイーン
声優は大西沙織さんです。あー、いい(語彙力
音声のフーリエ変換
前回のコードの後ろにこちらを追加しました。「spec」を算出してからの続きです。
import cv2
#-infを削除
for i in range(len(spec)-1, -1, -1):
if -np.inf in spec[i]:
spec = np.delete(spec, i, 0)
#規格化
spec[spec<0] = 0
spec = (spec / 100) * 255
print(np.min(spec), np.max(spec))
#画像化
spec = spec.astype('uint8')
#高周波領域を破棄
spec = spec[:, :150]
#左右反転(後に転置するので上下反転に相当)
spec = cv2.flip(spec, 1)
#画像保存
cv2.imwrite('rice1.png', spec.T)
ライス①
ライス②
テイオー
マックイーン
それぞれFFT画像が保存できました。横軸が時間、縦軸が周波数、色が成分量です。
高周波成分は少なかったのである程度カットしています。縦軸は揃っています。横軸は音源切り出しのズレがあるので揃っていません。なんとなく成分が類似していることが分かりますね。
FFT画像のトリミング
横軸(発話タイミング)を揃えるためにFFT画像をトリミングします。パワーポイントで「こんな~レースは~はじめて」の部分を慎重にトリミングしました。
赤線で発話タイミングを吟味します。
四角を置いて、
重なりを抽出。
ライス①
ライス②
テイオー
マックイーン
これに加えてネガティブコントロール(陰性対照)として真っ黒な画像も用意しました。
blank画像
手作業なので多少のズレはあるかと思いますが、これで横軸も揃いました。
テイオーのスペクトログラムは「しゃくり」がよく見える気がします。マックイーンは高音域の倍音がよく確認できます。うまく個性が抽出できていると思います。
続きます
今回は「こんな~レースは~初めて~♪」のFFT画像のトリミングまで終わりました。次回は最終回、類似度を定量的に比較します↓