2021年5月20日作成

音楽情報処理講義補助資料関西学院大学工学部)

作成:森鈴果

Google Colaboratoryと

Librosa(音楽解析のためのPythonパッケージ)を用いた  

音楽音響情報処理環境構築マニュアル

1.Google Colaboratory(環境設定)

参考:https://www.python.jp/train/experience/colab.html

1-1.Google Colaboratory開き方

Google Driveを開く

新規→その他→Google Colaboratoryを選択

(ない場合は「アプリを追加」からインストール)

1-2.Google Driveと連携(fileの置き場所のpathの設定)

このコードをセルに入力→実行

from google.colab import drive
drive.mount(
'/content/drive')

実行後、出力されたURLに移動

(別タブ)

Google Colaboratoryのタブに戻り、コピーしたコードを貼り付け

2.Librosaライブラリをインポート

参考:https://www.wizard-notes.com/music-analysis

このコードをセルに入力→実行

import librosa
import librosa.display

(結果は何も表示されません)

3.グラフ表示と計算のために必要なライブラリをインポート

参考:https://techacademy.jp/magazine/17472(matplotlib)

https://ai-trend.jp/programming/python/what-is-numpy/(numpy)

このコードをセルに入力→実行

import matplotlib.pyplot as plt
import numpy as np

(結果は何も表示されません)

4.Librosaライブラリから音の特徴を抽出

参考:https://www.wizard-notes.com/music-analysis

https://www.wizard-notes.com/entry/music-analysis/pitch-and-chroma

*Google Driveに音源ファイル(?????.mp3)を入れてください

今回使用:1414.mp3:(ド→ファ→ド→ファ)

4-1.使用する音源ファイルの視聴

IPython.display:音源や画像の表示モジュール。(3と同様インポート)

?????.mp3を読み込み→音源再生を表示

import IPython.display
IPython.display.Audio(
"drive/My Drive/?????.mp3")

フォルダに入れた場合は"drive/My Drive/フォルダ名/?????.mp3"

4-2.音源ファイルの読み込みと波形の表示

?????.mp3を読み込み→波形を表示

y, sr = librosa.load("drive/My Drive/?????.mp3")
librosa.display.waveplot(y, sr=sr, color=
'blue')

4-3.メル周波数ケプストラム(MFCC)の表示

参考:https://www.wizard-notes.com/entry/music-analysis/insts-timbre-with-mfcc

楽器音でいう音色に対応。ケプストラムを人間の聴覚感覚に対応させた(メル尺度)もの。

ケプストラム:音のスペクトルの内、低次成分(音色)のみ抽出したもの。

音源ファイルの読み込みは4-2参照 (y, sr)

n_mfcc = 20
mfcc = librosa.feature.mfcc(y=y, sr=sr, n_mfcc=n_mfcc, dct_type=
3)
librosa.display.specshow(mfcc, sr=sr, x_axis=
'time')

4-4.クロマ特徴の表示

参考:https://qiita.com/Nelca/items/8c0aaaf2a8452352ffe4

全周波数帯域をのパワーを12音階に落とし込み、音の成分を可視化したもの。

音源ファイルの読み込みは4-2参照 (y, sr)

C = librosa.feature.chroma_cqt(y=y, sr=sr)
plt.figure(figsize=(
12,4))
librosa.display.specshow(C, sr=sr, x_axis=
'time', y_axis='chroma', vmin=0, vmax=1)
plt.title(
'Chromagram')
plt.colorbar()
plt.tight_layout()

1414.mp3:(ド→ファ→ド→ファ)

1818.mp3:(ド→ド(1オクターブ上)→ド→ド(1オクターブ上) )

5.Tensorflowライブラリをインポート

(後のGMMやNMFの演習に利用)

参考:https://www.sejuku.net/blog/38134(tensorflow)

import tensorflow

(結果は何も表示されません)