質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
86.12%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

解決済

Librosaによる音響的特徴量MFCCの出力結果について

take_take9
take_take9

総合スコア12

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

1回答

0リアクション

0クリップ

680閲覧

投稿2022/05/07 16:42

編集2022/05/07 16:48

音響的特徴量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になったのか?

がわからず質問させていただきました。

以下のような質問にはリアクションをつけましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

リアクションが多い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
86.12%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。