Wizard Notes

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

楽曲解析

Pythonで楽曲のリズム・テンポ分析: Novelty Function

はじめに この記事では、Onset 検出や局所/大域のテンポ分析などリズム分析においてよく使われる、Novelty Function についてPythonのコードとともに紹介します。実装と理解の助けになれば幸いです。 はじめに Novelty Curve/Function (Onset_envelope) 実…

Jupyter notebooksで音楽信号処理の基礎を学べるフレームワーク:FMP Notebooks

AudioLabs @ FAU の、音楽信号処理の権威、Meinard Müller 先生が、ご自身の著書 "Fundamentals of Music Processing (FMP)."に沿った教材として、Jupyter notebooks で音楽信号処理の基礎を学べるフレームワーク:FMP Notebooks を公開しています。 音楽信…

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

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

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

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

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

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

Flask:オーディオファイルをjQuery.ajaxでアップロードしながら、クライアント側でローカルのファイルを再生

スクリーンショット 背景 実装戦略・参考ページ サーバへの複数オーディオファイルのアップロード(ドラッグアンドドロップ) サーバ側でのファイルアップロード処理・ファイル保存 クライアント側で、ローカルにあるオーディオファイルを再生 実装 ディレク…

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がステレオ信…

Flask+Flask-Dropzone+LibROSAで作るオーディオ信号処理基盤

はじめに 実装 index.html Flaskの主要部(app.py) オーディオ信号処理モジュール 最後に はじめに NumPyやLibROSA、scikit-learnなどのPythonの素晴らしい信号処理・統計解析モジュールを利用してオーディオ信号処理アプリを作るため、学習コストが低いマ…

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

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

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

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

YouTubeの音楽をPythonで解析:YouTube Data APIによる複数の動画コンテンツID・メタ情報収集

はじめに 今回は、動画に紐づいた動画メタ情報・統計情報の抽出、およびYouTube-dlによる楽曲解析スクリプトの入力となる複数動画のコンテンツID・メタ情報を収集する方法を紹介します。 抽出には、YouTube Data API を利用します。 はじめに YouTube Data A…

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

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