今回はSpotifyの音声エフェクトライブラリ
Pedalboardを試してみました。
解説動画はこちら
Pedalboard
spotify pedalboard
Spotifyの開発した
音声用のエフェクトライブラリです。
本来のペダルボードは

こんな感じのイメージで
ギタリストが良く使う
足踏みエフェクター群を
沢山置いた板(エフェクトセット)
という意味合いかと思います。
それを再現出来るライブラリということになります。
pedalboardの
中にはたくさんのエフェクターが
内包されています。
インストール方法
Google Colabでの使用方法ですが
一般PCも同じ方法でコマンド一発です。
ライブラリのインポート
pedalboardを使用するには
始めにたくさんのライブラリを
読み込んでおく必要があります。
matplotlibに関しては後ほど
音声波形の可視化に使用します。
エフェクターの種類
一般的な音声エフェクターと同じ
エフェクトが存在します。
サンプルコード
音声ファイルの読み込み
どんな音声になるかは
動画を見てみて下さいね。
エフェクトをかける
ライブラリで読み込んだ関数
Pedalboard を用いて音声を変換できます。
Pedalboardの引数には
エフェクト関数をリストで渡します。
読み込みしたライブラリ のエフェクト関数が
それに該当します。
コンプレッサー
ゲイン
コーラスをかけるコードはこうなります。
エフェクト関数にはそれぞれ
引数が指定できるものも有りますが
ここでは割愛しますので
細かく設定したい方はSpotifyの資料を
みてみて下さい。
オリジナル音声との波形の違い
オリジナルの音声と
エフェクトをかけた後の音声の違いを
可視化するコードはこちらです。

こんな感じで結果が見れます。
音声を保存する
Colabでも、エフェクトをかけた音声を保存できます。
指定したファイル置き場に音声ファイルが出力されます。
最後に
ギターは弾けませんが
BOSSのエフェクターとか結構好きで
あれを沢山集めるのって
すごく憧れが有るんですよねー
それをデジタル上で再現できてしまう
ライブラリになるので
色々遊んでみて下さい。
それでは。
Pedalboardを試してみました。
解説動画はこちら
Pedalboard
spotify pedalboard
Spotifyの開発した
音声用のエフェクトライブラリです。
本来のペダルボードは

こんな感じのイメージで
ギタリストが良く使う
足踏みエフェクター群を
沢山置いた板(エフェクトセット)
という意味合いかと思います。
それを再現出来るライブラリということになります。
pedalboardの
中にはたくさんのエフェクターが
内包されています。
インストール方法
Google Colabでの使用方法ですが
一般PCも同じ方法でコマンド一発です。
!pip3 install pedalboard
ライブラリのインポート
pedalboardを使用するには
始めにたくさんのライブラリを
読み込んでおく必要があります。
import librosa from pedalboard.io import AudioFile from pedalboard import ( Pedalboard, Gain, Chorus, Phaser, Reverb, Compressor, LadderFilter, ) import IPython.display as display from matplotlib import pyplot as pltlibrosaは音声用のライブラリです。
matplotlibに関しては後ほど
音声波形の可視化に使用します。
エフェクターの種類
一般的な音声エフェクターと同じ
エフェクトが存在します。
Compressor:音を圧縮する
Gain 音量を上げる
Chorus:コーラスをつける(ちょっと厚みを付ける)
Phaser:位相を変え、うねりを付加する(シュワシュワさせる)
LadderFilter:フィルターをかける
Reverb:反響音をつける
サンプルコード
音声ファイルの読み込み
まずはじめに音声ファイルの読み込みを行います。
librosaのサンプル音声ファイルの「trumpet」
を使っていきます。
librosaのサンプル音声ファイルの「trumpet」
を使っていきます。
(サンプリングレート44.1KHz、モノラル、音の長さ5秒)
# サンプル音源を読み込む audio, sr = librosa.load(librosa.example('trumpet', hq=True), sr=44100) print(type(audio)) print(audio.size) display.Audio(audio, rate=sr)
どんな音声になるかは
動画を見てみて下さいね。
エフェクトをかける
ライブラリで読み込んだ関数
Pedalboard を用いて音声を変換できます。
変換後の音声の変数 = Pedalboard([エフェクト関数 , ・・・])
Pedalboardの引数には
エフェクト関数をリストで渡します。
読み込みしたライブラリ のエフェクト関数が
それに該当します。
コンプレッサー
ゲイン
コーラスをかけるコードはこうなります。
# コンプレッサー、ゲイン、コーラス board = Pedalboard([ Compressor(threshold_db=-50, ratio=25), Gain(gain_db=30), Chorus(), ]) effected_audio = board(audio ,sr)
# エフェクトかけた音源を再生 display.Audio(effected_audio, rate=sr)
エフェクト関数にはそれぞれ
引数が指定できるものも有りますが
ここでは割愛しますので
細かく設定したい方はSpotifyの資料を
みてみて下さい。
オリジナル音声との波形の違い
オリジナルの音声と
エフェクトをかけた後の音声の違いを
可視化するコードはこちらです。
# オリジナル音源 plt.figure() plt.subplot(2, 1, 1) librosa.display.waveshow(audio, sr=sr, color='b') plt.title('Original') # エフェクトかけた音源 plt.subplot(2, 1, 2) librosa.display.waveshow(effected_audio, sr=sr, color='r') plt.title('Effected') plt.tight_layout() plt.show()

こんな感じで結果が見れます。
音声を保存する
Colabでも、エフェクトをかけた音声を保存できます。
# オーディオファイルの保存 with AudioFile('ファイル名.wav', 'w', sr, num_channels=1) as f: f.write(effected_audio)
指定したファイル置き場に音声ファイルが出力されます。
最後に
ギターは弾けませんが
BOSSのエフェクターとか結構好きで
あれを沢山集めるのって
すごく憧れが有るんですよねー
それをデジタル上で再現できてしまう
ライブラリになるので
色々遊んでみて下さい。
それでは。
コメントする