Wizard Notes

音楽信号解析の技術録、音楽のレビューおよび分析、作曲活動に関する雑記です

音響音楽信号処理

Python: LibROSA で調波打楽器音分離 (HPSS)

調波打楽器音分離とは? 一般的な楽曲では、様々な楽器音が含まれています。 そのため、元の楽曲信号から直接、音楽的な情報(例:コード進行)を分析するのは 計算機ではなかなか難しいです*1。 そこで、分析の前処理として、 打楽器の音と非打楽器(調波楽…

Python: LibROSAによるBPM自動算出の詳細 

はじめに この記事では、Pythonの音楽分析モジュールである LibROSAで 実装されているBPM算出手法について、コードをベースに 解説をします。 BPM自動算出の概要・設計方針については、以下の記事をご参考ください。 www.wizard-notes.com はじめに LibROSA…

Python で楽曲のBPMを自動算出する方法

はじめに 音楽を分析する際に,楽曲のテンポを表す BPM (Beats Per Minute) は非常に重要な情報です。 例えば、音楽ジャンルごとに典型的なテンポが存在します。 従って、ある楽曲がどんな音楽ジャンルに属するかを知る手がかりとなります。 一般的ないくつ…

LibROSA: ステレオ信号のWAV書き出し(write_wav)におけるstruct.errorの解決方法

問題点 表題の通り、以下のコードでエラーが発生します。 import librosa sr=44100 #オーディオ信号をNumpy形式でロードし、yに格納 y, sr = librosa.core.load(input_filepath, sr=sr, mono=False) # yをwavフォーマットで書き出し # ここで、yがステレオ信…

ロバスト主成分分析(Robust PCA)による歌声抽出(Python実装)

概要 以前から気になっていた、 Robust PCAによる歌声抽出 *1 を実装し、実際の楽曲でボーカル抽出をやってみました。 Robust PCAについて Robust PCAによる歌声抽出では、楽曲を表す行列\({\bf X}\)を低ランク行列\({\bf L}\)とスパース行列\({\bf S}\)の和…

NMF2DのPython実装と楽曲への適用

動機 近年、深層学習による音信号処理が流行しており、様々な分野で優れた成果が報告されています。 よく利用されているネットワーク設計であるCNN(畳み込みニューラルネット)を眺めてみると、単層ではNMFD、NMF2Dと似た信号処理であることに気づきます。…

YouTubeの音楽をPythonで解析:youtube-dlによる動画メタデータ収集

はじめに 投稿日時や再生数といった動画メタデータを収集するスクリプトを作成しました。 はじめに youtube-dlによる動画メタデータ収集スクリプト 実行結果 楽曲の分析に利用できそうなメタデータ一覧 コーデック関連 コンテンツ関連 動画の評価 まとめ you…

Pythonによる音響音楽信号処理:クロスフェード自動生成 (2)フェードイン・フェードアウト関数

概要 フェードイン・フェードアウト関数の設計 関数の例 直線 f(x)=x コサイン関数 f(x)=cos(x・π/2) 平方根 f(x)=sqrt(x) フェードイン・フェードアウト関数の適用例 結局、どれを使えばいいのか? 概要 本記事では、クロスフェードで用いるフェードイン・フ…

Pythonによる音響音楽信号処理:クロスフェード自動生成 (1)アルゴリズムの概要

※2018/10/19: Bloggerから移行しました 概要 LibROSAについて 問題設定 アルゴリズム設計と実装 必要な処理の列挙 Pythonスクリプトの全体像 get_highlight() add_fade() gen_xfade() 結果 まとめ 補足 概要 Python(LibROSA)を用いた音響音楽信号処理とし…