最近音楽を機械学習で扱うことに興味があって色々と調べているのですが、せっかくなので備忘録と理解促進を兼ねて記事にしてみます。 機械学習に限らず、音楽をデジタル情報として扱う際には楽譜や調、歌詞など、メタな情報を扱う方法と、オーディオデータそのものを扱う方法とに大別されますが、今回はオーディオデータそのものを扱う方法の一つとして、MFCCについてまとめます。 お急ぎの方向け mp3 を wav にして MFCC して現実的に扱えそうな次元に落とす # ffmpegのインストール $ brew install ffmpeg # ffmpegで mp3 を サンプリングレート 44.1kHz wavに変換 $ ffmpeg -i hoge.mp3 -ar 44100 hoge.wav # 必要なPythonパッケージのインストール $ pip install --upgrade sklearn
FFTを行う際によく窓関数というものが用いられます。しかし何のために使うのかよくわからずに何となく使っている方も多いのではないでしょうか。後学のためにここで少しだけ説明しておきましょう。 まずその前にFFTを行う際の大前提について知っておかなければなりません。フーリエ変換の定義によれば、「あらゆる周期関数は正弦波と余弦波の重ね合わせで表すことができる」ことが知られています。ここで「周期関数」というところに深い意味があるのですが、要するに周期関数とはあるパターンが一定の周期で繰り返される関数のことを言うわけです。逆に言えば、フーリエ変換を行うためには周期関数でなければならないということになります。 しかしコンピュータでFFTを行う場合、無限のサンプルを取るわけにはいきませんから、当然ある限られた範囲のサンプルを取って変換を行うことになります。特にFFTの場合はサンプル数に制約があって、102
前回の投稿では、多くの皆様から「いいね」を頂きました。 この場を借りて御礼申し上げます。 前回は画像ファイルでしたが、音ファイルでもやってみたいと思います。 やりたいことは、音ファイルでどの技術が一番効果があるのか数値化します。 以下の流れでやっていきます。 (基本のCNN) → (3つの技術を追加していく) 基本のCNNに、3つの技術を追加しながら、分類精度の上昇幅を比較します。 コードはkerasで書いています。 画像ファイルと同じ結果になるのか? 乞うご期待! #データのダウンロード 使うデータはESC-50です。 これは、人の音声や自然界の音を集めたデータで、50個のラベルが付与されています。 #データの前処理 音の生データは波になっています。 import librosa import pandas as pd import os # define directories bas
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く