アカデミック

【Pythonお悩み解決】簡単な打楽器音分離をしたい。

この記事は, Pythonを利用して研究を行なっていく中で私がつまずいてしまったポイントをまとめていくものです。同じような状況で苦しんでいる方々の参考になれば嬉しいです。Pythonつまずきポイント集の目次は以下のページをご覧ください。

【超初心者お悩み解決】Pythonつまずきポイント記事まとめページ この記事は,Pythonを利用して研究を行なっていく中で私がつまずいてしまったポイントをまとめていくものです。同じような状況で苦しんで...

本記事で紹介する解決策がBestという保証はできません。正確な情報を発信するように心掛けていますが図らずも誤った情報を記載してしまう場合があります。もしご指摘等がありましたら,コメント欄またはお問い合わせページよりご連絡下さい。

環境

●Ubuntu 16.04
●Python 3.7.3
●conda 4.7.12
●pytorch 1.2.0

目的

あるwavファイルから簡単に打楽器音だけを分離させたい。

手法

librosaのメソッドを使えば一発です。精度もある程度出ますが,完璧ではありません。簡単な前処理としては活用できそうです。

import libosa

# まずは読み込み
y, sr = librosa.load(wav_file, sr=sr)

# 分離の実行
y_harmonic, y_percussive = librosa.effects.hpss(y)

# 名前の一部を変えて保存
root, ext = os.path.splitext(wav_file)
basename = os.path.basename(root)
wav_name = path_store + "/" + basename + "_hpss.wav"
librosa.output.write_wav(wav_name, y_percussive, sr)

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です