音響的特徴量MFCCをプログラムで抽出しようとしています。
そこで、Qiitaで紹介されていたlibrossaで求める方法を利用しようとしています。
参照元: Qiita
https://qiita.com/tmtakashi_dist/items/eecb705ea48260db0b62
参考資料:librosa
https://librosa.org/doc/latest/generated/librosa.feature.melspectrogram.html#librosa.feature.melspectrogram
自前の音声データ: input_(3).wav(音声の長さ:3.058秒, サンプリング周波数:16k)
これを利用して以下のように記述したところ
import librosa.display
import matplotlib.pyplot as plt
import numpy as np
import soundfile as sf
#y: 音声データ sr: サンプリング周波数
y, sr = sf.read('input_(3).wav')
#y: 音声データ sr: サンプリング周波数
#n_fft: FFTウィンドウの長さ
#hop_length: 連続するフレーム間のサンプル数
#n_mels: メルフィルタバンクのチャネル数
S = librosa.feature.melspectrogram(y=y, sr=sr, n_fft=2048, hop_length=512)
print(S.shape)
結果: (128, 96) となりました。
この配列の128は次元数を表していて、96はフレーム数を表しているのでしょうか?
長さの異なる音声で同様に行ったところ、128の方は固定で、96の方が変化したので、上記の見解であっているような気はしたのですが、
・元もとのプログラムで次元数のデフォルトが128となっているのか?
・フレーム数の96はどういった計算で96になったのか?
がわからず質問させていただきました。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/05/08 19:14