AviUtl で作成している動画で、音楽に同期したモーションを付けたいためさつき氏の追加スクリプト を導入しようとしたところ、追加スクリプトが認識されずに時間を費やしてしまいました。 最終的に上手く認識できたので、その方法のメモ書きです。 ・参考サイト detail.chiebukuro.yahoo.co.jp 結論としてはフォルダ構成のミスで、scriptフォルダをpluginsフォルダ以下に置くことで解決できました。 AviUtlが置いてあるフォルダ ├── aviutl.exe ├── plugins │ ├── exedit.auf │ … │ └── script │ ├── ANM…
7つのレベルでジャズハーモニーを学べる動画:"7 levels of Jazz Harmony"
www.youtube.com ジャズにおける和音進行のリハーモナイザーションについて、段階ごとに分かりやすく説明してくれている動画です。 ニ短調(D minor)であるボーカル+ピアノの曲(Juice - Lizzo)の一部を題材に、7段階のリハーモナイザーションの実例を示しています。 Level 1:"Bell Pepper" - II-V進行 Level 2:"Poblano Pepper" - 裏コード・テンション Level 3:"Jalepeño Pepper" - コードエクステンション Level 4:"Piri Piri Pepper" - ペダルポイント Level 5:"…
librosa.core.magphaseで、複素信号から振幅スペクトルと位相スペクトルを抽出
LibROSAの便利な関数として、librosa.core.magphaseがあります。 この関数を使うことで、短時間フーリエ変換librosa.stftや定Q変換librosa.cqtで出力される複素信号から、振幅スペクトルと位相スペクトルを抽出することができます。 それでは、librosa.core.magphaseについて、もう少し詳しく説明したいと思います。 librosa.core.magphaseの中身 # https://librosa.github.io/librosa/_modules/librosa/core/spectrum.html#magphase def magph…
www.youtube.com PyQt5の習作として、PyQt5とPyAudioを使ったBPM計測アプリを作ってみました。 よくあるBPM計測器の仕様となっていて、ユーザが拍位置でボタンクリックやキータイピングをすることで、BPMを計測をすることができます。 インターフェースもアルゴリズムもシンプルなので、音楽アプリ制作の入門に良さげです。また、PyQt5やPyAudioのよい勉強になります。 それでは、実装の紹介について説明します。 アプリの設計 PyQt5 によるGUI作成 PyAudoで、タッピング時に音を鳴らす BPM計測アルゴリズム ソースコード アプリの設計 シンプルかつ実用的な…
音楽鑑賞録:変わった楽器、革胡(ゲフ)・低音革胡 (ディーインゲフ)
音楽鑑賞録:題名のない音楽会「低音楽器女子の休日」 を書いている時に、低音楽器について調べていたら偶然見つけた楽器です。 革胡 www.youtube.com 見かけが非対称な、変わった楽器です。 (しかし、見かけと)音色はほぼチェロですが、奏法のせいか、二胡っぽさも感じられます。 胴体の側面には、二胡と同じく、蛇皮が貼ってあるようです。ただし片面だけのようです。 低音革胡 革胡、大きくなりました。 見た目はオリエンタルですが、音色はほぼコンバスなようです。 歴史 想像通り(?)、比較的新しい楽器のようです 革胡_百度百科 の意訳です もともと、中国の伝統的な楽器のアンサンブルではベースパート…
所感 www.tv-asahi.co.jp この日の「題名のない音楽会」は、コントラバス、チューバ、ファゴット、バリトンサックスの女性プロ奏者を招いての、低音楽器の特集回でした。 楽器演奏を未経験の方だと、4つとも初めて耳にする楽器かもしれません。 ・コントラバス ja.wikipedia.org ・チューバ ja.wikipedia.org ・ファゴット ja.wikipedia.org ・バリトンサックス en.wikipedia.org どれも大きい楽器です。 コントラバスは2メートル弱もあり、大人でも隠れてしまいます。 番組の中で、低音楽器に関するおもしろいマメ知識?を紹介していたので…
Python+Mutagenで、複数の楽曲から情報(楽曲の長さなど)を高速に抽出
Pythonで複数の楽曲データの長さを調べる時、真面目に楽曲ファイルを読み込んでNumpy配列のshapeを調べて…とすると、かなり時間がかかってしまいます。数百曲以上になると、それだけで時間の無駄です。 そこで、Mutagenを利用して、メタタグ情報から長さを得るPythonスクリプトを作りました。 ※mutagenの仕様上、今回はmp3, m4a (aac), flacファイルに限定します。 実行結果 速度比較(Mutagen v.s. librosa.load) 実装 補足 実行結果 flacとmp3とm4aの3つのファイルが入っているディレクトリパスをコマンドライン引数で与えました。 …
生成した音信号を気軽に鳴らせるシステムが欲しくなり、結果的にシンセサイザもどきを作ってみました。 MIDIを扱うと面倒なので、Numpy/Scipyで生成した音信号を直接オーディオ出力できるような構造になっています。 また、一応シンセサイザっぽい見た目なので、PyQt5を使ってクリック&キーボード入力可能な鍵盤を描画し、実際に音を鳴らせるようにもしてみました。 設計 実装の要点 PyQt5による簡易シンセ鍵盤の作成 Numpy, Scipyによる信号生成 PyAudioによるオーディオ出力 実装 補足 設計 今回はプロトタイプなので、VCF,VCA,といった機能すら持たない、オシレータだけのシ…
PyQt5の練習がてら、ピアノ鍵盤(もどき)を作ってみました。 タプル型の引数keysetで鍵盤の数を変えられます。 ハマったところ: 参考にしたドキュメント:https://doc.qt.io/qt-5/ buttonClicked に引数を渡すなら、partial()が便利 PythonはQtの情報が少ないので、他の言語(e.g. C++)でのQtの例を探したほうがよさそう ※synthesizerはバックエンド開発用の引数なので、無視してください。 ''' License: MIT ''' from PyQt5.QtWidgets import QApplication, QPushBu…
2019年10月31日にYouTubeで公開された椎名林檎(+宇多田ヒカル)の新曲、「椎名林檎と宇多田ヒカル - 浪漫と算盤」です。 宇多田ヒカルの、包み込むような安定感と透明感のある歌声。 椎名林檎の、ハスキーで鋭く蠱惑的な歌声。 2つの歌声のの対比と調和が心地よく、天才的な歌声をもつ2人がいてこそ成り立つ曲です。 MVは、それの対比・調和を視覚的にも際立たせるような作りになっているように思います。 音楽ジャンルとしてはアンセム的ですが、古臭さを感じないサウンドメイキングが印象に残りました。 具体的には、上モノは定番(ビッグバンド+ストリングス主体)なのに、リズム隊は暖かみのあるモダンなエレ…
np.fft.fftとnp.fft.rfftの処理速度の比較
np.fft.fft v.s. np.fft.rfft 以下の記事を読んで、np.fft.fftとnp.fft.rfftの実行速度の比較に興味がわいたので、やってみました。 pman0214.github.io 音信号処理の場合、短時間フーリエ変換などでFFTをかなりの回数実行する機会が多いと思います。 時は金なり。 そこで、FFTする信号の長さ n_fft と実行する回数を変えて処理時間を計ってみました。 処理速度の比較結果 FFTする信号の長さ n_fftが長くなるほど、処理速度の差が大きくなっています。 予想通り、だいたい2倍弱の差です。 若干の誤差はあるものの、扱う信号が実数であり、F…
Perfume The Best "P Cubed" の全52曲をデータ分析:テンポ特徴+主成分分析+類似度行列で楽曲推薦
東方プロジェクトの音楽をデータ分析:テンポ特徴+主成分分析+類似度行列で楽曲推薦 に引き続き、「Perfume The Best "P Cubed"」で似たテンポの楽曲を探すためのデータ分析をしてみました。 (以下の記事で)以前にも分析しましたが、今回は類似度行列を算出し、似た楽曲を列挙しています。 www.wizard-notes.com 分析手法の概要 以下の記事とほぼ同じなので、そちらをご参照ください。 www.wizard-notes.com この記事の分析の中で、テンポ特徴(サイクリックテンポグラム)はBPMに基づいて循環する構造になっていると予想が立ちました。 今回分析するPerf…
Perfume The Best "P Cubed" の全52曲で、テンポの似た曲を探せるデータベースの作成
東方プロジェクト原曲の、テンポの似た曲データベースを作ってみた と同じ手法を使って、Perfume The Best "P Cubed" の全52曲の中から、テンポの似た曲を列挙し、データシート/プレイリストとしてまとめてみました。 技術の詳細は、以下の記事をご参照ください。 www.wizard-notes.com データベースに基づく、テンポの似た楽曲の実例 例1:ポリリズム 例2:チョコレイト・ディスコ 例3:ナナナナナイロ データシート まとめ データベースに基づく、テンポの似た楽曲の実例 例1:ポリリズム www.youtube.com 似ている楽曲は、「FLASH」でした。 www…
東方プロジェクトの音楽をデータ分析:テンポ特徴+主成分分析+類似度行列で楽曲推薦
前回、東方プロジェクト原曲(紅魔郷~輝針城)のBPM(テンポ)分析では、近年の作品ほどテンポが速くなっている傾向があるなど、いくつも興味深い結果が得られました。 今回は、BPMではなく、テンポ特徴(サイクリックテンポグラム)という最近の手法を使うことで、もう少し踏み込んだテンポ分析を行いたいと思います。 使用楽曲 分析方法 分析結果 各主成分の寄与率 各主成分と楽曲のプロット 第1主成分、第2主成分 第3主成分、第4主成分 第5主成分、第6主成分 主成分を使って似ている楽曲を探す 楽曲推薦(似た楽曲を探す) まとめ 付録 第1主成分、第2主成分、第3主成分の3Dプロット 使用楽曲 東方プロジェ…
付録:東方プロジェクト原曲の、テンポの似た曲データベースを作ってみた
東方プロジェクトの音楽をデータ分析(テンポ特徴+主成分分析+類似度)にて作ったアルゴリズムで、東方プロジェクトの曲で似たテンポの楽曲を算出し、データベース化してみました。 基本的には、BPMが近い楽曲が似ている曲として列挙されています。しかし、BPMよりもリッチなテンポ特徴量 を使っているので、ノリ・グルーブ感の近い楽曲が列挙されていると思います。 テンポの特徴だけを使っているので、メロディや和音進行は考慮されていません。また、大域的なテンポを分析しており、局所的なテンポチェンジや細かいリズムパターンはほとんど考慮できていないと思います。 もし何かございましたら、コメント、お問い合わせフォーム…
Matplotlibで主成分分析の寄与率・累積寄与率を左右2軸プロット
多変量解析の一般的な手法である主成分分析を使っていると、寄与率と累積寄与率を確認することが多いです。 それぞれを別にプロットしてもよいのですが、 1つのプロットで確認できたほうが便利だと思い、matplotlibで実装してみました。 一つのプロットで左右2つの軸を描画するには、matplotlibではax.twinx()をいう関数を使うことで実現できます。 プロット例 サンプルコード import numpy as np import matplotlib.pyplot as plt n_sample = 1000 n_dim = 30 mean = np.random.normal(0.0,…
numpy では、N次元の正規分布を出力するnumpy.random.normal() がありますが、こちらでは共分散を設定できません。 共分散を指定する場合、N次元の多変量正規分布を 出力できる、numpy.random.multivariate_normal () を使う必要があります。 numpy.random.multivariate_normal(mean, cov, size) ここで、キーワード引数sizeに出力する配列の shapeを入力します。 サンプルコード import numpy as np import matplotlib.pyplot as plt n_sampl…
エスニックな響きのベル音源:Circle Bells (SOUNDIRON)
Circle Bells - SOUNDIRON 自分が持っているKontakt音源の中でも、特に気に入っていてよく使っているベル音源、SOUNDIRON社のCircle Bells を紹介します。 Circle Bells (SOUNDIRON) の概要 Circle Bellssoundiron.com この Circle bells はサンフランシスコ・ベイエリアの金属加工職人 Pete Engelhart 氏が作った「Blossom Bells」という、カウベルに似た楽器を録音したものになっています。 出典:Soundiron "Circle Bells"より、Blossam Bell…
法律に関する疑問を弁護士に無料で法律相談できる「弁護士ドットコム」というWebサービスがあります。このWebサービスの特徴は、無料相談の場合、質問と回答が公開されます。 その弁護士ドットコムに、音楽のプレイリスト・ランキングに関するFAQがいくつかあったため紹介したいと思います。 注:回答については、その弁護士さんの意見なので、ご自身の責任で適法性・有用性を考慮する必要があります。 弁護士ドットコムより1件目 www.bengo4.com 素材をある意図に基づいて選択して配列したリストについては、素材に関する著作権とは別に、選択・配列に関する著作権が成立 ... なお、曲名やアーティスト名など…
マルコフ連鎖でコード進行を自動生成 において、定常分布を求めるのに少し分かりにくい箇所ががあったので説明します。 マルコフ連鎖の定常分布は、遷移行列の固有値1に対応する固有ベクトルを確率密度関数として正規化することで算出することができます。 ここで、マルコフ連鎖でコード進行を自動生成 のように、遷移行列 P の各行ベクトルが、ある状態において次の各状態への遷移確率を格納しているとします。 その前提で、任意の初期状態 s に対して以下のように(極限分布である)定常分布 π を考えます。 このとき、π は次の式を満たします。 np.linalg.eig() などを使ってこの固有値問題を解けばよいの…
伝統的な自動作曲・文章生成システムで使われている代表的アルゴリズムとして、マルコフ連鎖があります。 アカデミックな研究やアプリケーションとしては常套手段なのですが、Web上には音楽での 利用例・実装例があまりないようです。 そこで、マルコフ連鎖を使ったコード進行の自動生成を作ってみたので紹介します。 マルコフ連鎖によるアルゴリズムの設計 マルコフ連鎖の概要と設計方針 Python での実装 実行結果 デモ 参考文献 補足 マルコフ連鎖の関連技術 固有値分解で定常分布の導出するときの注意点 マルコフ連鎖によるアルゴリズムの設計 マルコフ連鎖の概要と設計方針 ※マルコフ連鎖に関する説明はWeb上に…
Python + LibROSAでクロマ特徴(クロマグラム)を使って和音推定:(1) テンプレートマッチング
音楽の三大要素、メロディ・ハーモニー・リズムの内、ハーモニーの根幹を担っているのが和音です。 おそらく、楽器を演奏したり、曲の耳コピをしたことがある人は、一度は計算機で和音(進行)を自動で分析できたらいいな、と思ったことがあるはずです。 一般的な楽曲での和音の正確な推定は難しく、音楽情報検索・音楽信号分析の分野でも長く研究されている分野です。ただ、論文は見つかりますが、エンジニア向けの簡単な資料・参考文献はそう多くないと思います。 この記事では、和音推定のベーシックな方法であるテンプレートマッチング法をPython実装とともに紹介します。 和音推定アルゴリズムの設計 設計方針 1. 和音テンプ…
ゲームやCGの実装をしていると,「いい感じに偏った乱数が欲しい」と思うことが多々あります*1。 よく知られている方法として、rand関数などで算出した一様乱数を元に逆関数法で乱数を作ることができます。 ただ、数式の意味が分かりにくいところもあります。 そこで、備忘録として逆関数法を理解をまとめ、また、Pythonで実装してみました。 逆関数法の理解 逆関数法の説明は、以下の資料が分かりやすいです。 Rで学ぶ逆変換(逆関数)法 from Nagi Teramo C言語による乱数生成 ただし、いきなり○○分布の累積密度関数の逆関数から考えると分かりにくい気がします。 結局のところ、図のように [0…
歌入りオリジナル音源から、カラオケ音源を引くことで、ボーカルだけを抽出できることはよく知られています。歌声りっぷのようなソフトウェアもこの仕組みを利用しており、また、オーディオ編集に慣れている人であればDAW上で簡単に抽出することができます。 一方で、自身の音源ではボーカル抽出されたくないと考えている制作者さんもいると思います。 しかし、それを防ぐ方法はあまり知られていません。 「カラオケ音源も頒布したいけれど、ボーカル抽出はされたくない…」 そこで、カラオケ音源からのボーカル抽出を防ぐための対策法を、いくつか紹介したいと思います。 基本戦略 方法1:トラックを加える/減らす 方法2:エフェク…
、 まだ少し肌寒かった3月中頃。 用事があって出かけたときに、駅前で安く売られていた、小さなドラセナ。 ふと、家にぴったりかもしれないと思い、衝動買いしてしまいました。 おそらく、品種はドラセナ・デレメンシス・ワーネッキー。 m-plant.shop-pro.jp 白くも灰色にも見えるストライプがアクセントの、綺麗な葉です。 この頃は、テーブルの上にもちょこんと置けるくらい小さかったのを覚えています。 あれから半年。 あれほど暑い夏が過ぎて、また肌寒さを感じるようになったこの頃。 もうテーブルの上には載りません。 まさか半年でここまで大きくなるとは…。 それでも、まだ成長途中みたいです。 半年…
LibROSA:Pythonで音楽のデータ分析や機械学習がすぐできる、音楽分析ライブラリ
LibROSA とは? 出典:https://librosa.github.io/ 「自分の好きな音楽をPCで分析したり、音楽データで機械学習やディープラーニングをやってみたい。でも、音データの信号処理やデータの扱いに困っている」と、悩んでいるエンジニアの方は多いと思います。 理由としては、 音信号専用の計算・アルゴリズムが多い 内容を理解して実装するのは骨が折れる パラメタチューニング・実装ノウハウの試行錯誤 面倒なテスト 音響・音楽データを扱うためのドメイン知識(e.g. 音響的特性、音楽理論など)が必要 が挙げられると思います。特に前者は、Web上にも(特にノウハウの)情報が少ないため、…
MS処理のためのMid/Side変換の実装解説(Pythonスクリプト付き)
MS処理(Mid/Side変換)とは? MS処理のイメージ 音響機器やマスタリングプラグインでMS処理という表記を見かけたことはありませんか? MS処理は、通常左右に分かれているステレオの信号を、 中央(ミッド)成分と非中央(サイド)成分に変換し、それぞれにコンプやEQなどのエフェクトをかけて、LR信号に戻す処理を指します。 このMid/Side信号を得る計算は Mid/Side変換(Mid/Side分解)と呼ばれています。 上記の画像のような環境で録音したステレオ信号に対してMid/Side変換を行うと、Mid成分にはボーカルやドラム、Side成分にはベースやギターの音が集中することが期待さ…
PhonicMind: 2-mix 音源からボーカル・ベース・ドラム・その他音源を分離できるオンラインサービス
概要 出典:https://phonicmind.com/ 2-mix 音源からボーカルを分離できるオンラインサービスであった PhonicMind ですが、現在は、 ボーカル ベース ドラム その他音源 の4つの音源に分離できるようになっていました。 これを組み合わせることで、カラオケ音源を作るだけでなく、楽曲間でベースやドラムを交換したり、DJの際により高度な演出をすることができそうです。 音質 有料版では、分離したトラックは、CD品質(44.1 kHz、16ビット)のロスレス形式(.flac)でダウンロードできます。 無料版では、一部のみ(区間は選択不可能)でしたが、320kbpsのmp…
くるくるなドラセナをお迎えした。可愛い pic.twitter.com/XbEWWXqTu0— Kurene (@_kurene) November 2, 2019 ふとドラセナについて調べていたら、この「ドラセナ・ドラドルコ」と出会い、お迎えしました。 くるくる。 こぢんまり。 艶やかなライムグリーンの班入り。 とても可愛らしい佇まいです。 元々はツイスターと言われる品種の外斑のものらしいです。 ドラセナ・ドラドルコ|株式会社山田農園 さらに元をたどると、ドラセナコンパクタと呼ばれる品種から派生したようです。名前の通り、他のドラセナ種よりも背丈が低いことが特徴です。 コンパクタは細かい分類が…
LibROSA で MFCC(メル周波数ケプストラム係数)を算出して楽器の音色を分析
MFCC 算出の流れ この記事では、 音に関するデータ分析や機械学習・深層学習で良く使われている MFCC*1 (メル周波数ケプストラム係数)という特徴表現を使って、楽器の音色を分析できるかどうか確認したいと思います。 MFCC とは? LibROSAを使ったMFCCの算出方法 1. 時間信号から直接算出 2. メルスペクトログラムから抽出 楽器音のデータ作成 MFCCの比較 MFCC-時間表現の比較 時間平均したMFCC係数の比較 まとめ 参考文献 補足(MFCCの闇?) DCTのTypeについて 正規化などのデータ整形処理の闇 パワー or 振幅 ? その他のパラメタ MFCC とは? M…
レトロで可愛らしい音色のオルガネッタ音源:AudioThing Organetta
"出典:https://www.audiothing.net/instruments/organetta/" オルガネッタ (Organetta) という楽器をご存知でしょうか?オルガネッタはリードオルガンの音色を室内で楽しむことのできる、コンパクトな手回し*1オルガンです。 古いものだと見かけはアンティークで、中には教会のオルガンをそのまま小さくしたような格調高いものもあります。 その鍵盤ハーモニカとアコーディオンの中間のような音色は、レトロで可愛らしく、聞く人を魅了する音です。 そんなオルガネッタの音源ですが、20世紀中ごろに作られたものをサンプリングした音源が販売されています。 この記事…
高音質の無料ハープ音源「Etherealwinds Harp II CE」 の紹介とデモ
hoge 民族音楽やヒーリングミュージックで良く使われる楽器、ケルティックハープ。その包まれ感のある優しい癒しの音色は、それらの音楽には欠かせません。 そんなケルティックハープですが、使いやすく、手頃で、良い品質の音源。はなかなか見つからず、悩んでいる人も多いと思います。 この記事では、高音質かつ無料*1のケルティックハープ音源である、Etherealwinds Harp II CE を紹介したいと思います。 製品版 Etherealwinds Harp II との違い デモ音源 ライセンスに関して 製品版 Etherealwinds Harp II との違い ETHEREALWINDS HA…
1枚絵+音楽のTwitter用スクエア動画の作成メモ(AviUtl)
心残りだった、幻象アリスの2017秋M3作品 "Noctiflora" の歌詞付き動画、ようやくできました。女性ボーカル × 病み系ゴシックオルタナティブロック? です pic.twitter.com/JxHuQHLhAB— Kurene (@_kurene) November 1, 2019 2年前の自作曲のTwitter用スクエア動画を作ったので、AviUtlの設定をメモとして書きます。 動画サイズ 以下を参考に設定しました。 developer.twitter.com 720 x 720 フレームレート:25Hz 音声ビットレート: 112kbps TwitterはHE-AAC対応してい…
1枚絵+音楽のTwitter用スクエア動画の作成メモ(AviUtl)
心残りだった、幻象アリスの2017秋M3作品 "Noctiflora" の歌詞付き動画、ようやくできました。女性ボーカル × 病み系ゴシックオルタナティブロック? です pic.twitter.com/JxHuQHLhAB— Kurene (@_kurene) November 1, 2019 2年前の自作曲のTwitter用スクエア動画を作ったので、AviUtlの設定をメモとして書きます。 動画サイズ 以下を参考に設定しました。 developer.twitter.com 720 x 720 フレームレート:25Hz 音声ビットレート: 112kbps TwitterはHE-AAC対応してい…
BPMから楽曲、楽曲からBPMを検索できるWebサイト: GetSongBPM
はじめに https://getsongbpm.com BPMを検索できそうなWebサイトやデータベースを探していると、このGetSongBPM という海外のサイトを見つけました。 getsongbpm.com 洋楽のBPMを調べたり、DJをやっている人には便利そうと感じたので、紹介したいと思います。 はじめに GetSongBPMは何ができるのか? アーティスト/曲名を入力して、BPMを検索 アルバム/ジャンル/チャートから、曲とBPMを検索 BPMを入力して、楽曲を検索 BPMを算出 ONLINE TAP TEMPO MP3 TO BPM (SONG ANALYSER) 日本のアーティスト…
概要 以前鑑賞した、「チェンバロ&クラヴィコード 静かな音楽会 」の感想です。 https://www.westa-kawagoe.jp/event/detail.html?id=1149 概要 楽器について チェンバロ クラヴィコード 曲の感想 F. クープラン 「クラヴサン曲集」から8つのプレリュード 「シテール島の鐘」 「幸福な思い」 「神秘の障壁」 まとめ 楽器について チェンバロ 音色のコントロール(ヴェロシティ)がほとんどつけられないそうなので、奏者は緩急のある遠足速度の変化や、音数・重ね方、トリルの使用などによって感情を表現しているように思います。 日本はチェンバロ製作者が比較的…
「ブログリーダー」を活用して、Kureneさんをフォローしませんか?