音楽の特徴分析について、当ブログでは音響信号からテンポや音色のような音楽的特徴を分析する手法を紹介してきました。 一方で、音楽は音響的な要素だけでないので映像や自然言語(歌詞)からのアプローチや、ソーシャルデータを用いた手法も数多くあります。 そこで今回は、昨今流行っている ChatGPT4を歌詞から感情特徴へのエンコーダとみなし、ChatGPT で J-POP 楽曲の歌詞の感情分析を試してみました。 プロンプト 例 Ado - うっせぇわ 米津玄師 - Lemon supercell feat.初音ミク - メルト 藤井風 - 死ぬのがいいわ 椎名林檎 - 丸の内サディスティック 平沢進 -…
ChatGPT4にピアノ曲の演奏難易度・演奏の注意点を聞いてみる(ブルグミュラー25/18の練習曲)
ChatGPT Plus (有料版) を契約したのでいろいろ試しています。 その中でも、ピアノの練習曲の演奏難易度・演奏の注意点に関する回答が興味深かったので紹介したいと思います。 題材 プロンプトのポイント ChatGPT4の場合 ChatGPT3.5の場合 所感 おまけ (GTP4) 関連Webサイト 題材 ピアノの練習曲としてよく利用されているブルグミュラー25の練習曲*1/18の練習曲*2を題材としています。 25の練習曲はバイエル終了程度、18の練習曲は25の練習曲が終了後(ツェルニー30番程度)のレベルであり、メロディや展開が美しい練習曲となっています。 どちらも基本的に後半になる…
VST3 Project Generator を使ったエフェクタ (VSTe) の実装メモ
前回の記事でWindows11での VST3 開発環境構築が整ったので、試しに簡単なエフェクタを実装してみました。 VST3 SDK 3.7.0 から追加された VST3 Project Generator を使うことでプロジェクトを簡単に作ることができましたので、参考にしたWebページやメモを残したいと思います。 検証環境 開発環境の準備 プロジェクトの準備 パスの設定 プロジェクトの設定入力 簡単なエフェクタの実装 GUIの実装 関連Webページ 検証環境 Windows 11 Pro Microsoft Visual Studio Community 2022 (64 ビット) Visu…
VST3開発環境の構築 (Windows11, Visual Studio 2022, VST SDK ver. 3.7)
[2023/5/2: Twitterで頂いたすずむし様からのご指摘を元に,VST SDK ver. 3.7.7での動作確認ができたため修正。ご情報ありがとうございました。] 前々からやろうと思っていたWin11,VS2022,VST3.7 でのVST開発環境の構築にトライしてみたところ、とりあえず VST SDK ver. 3.7.7(もしくは ver. 3.7.3)を導入して VSTe を作成・正常動作するところまで確認できました。 基本的には、うつぼかずら様のWebサイトの記事「VST3プラグイン開発01 – VST3開発環境の準備」の手順に従うことで環境構築できました。 VST3プラグイ…
振幅パンニング:サイン則(sine law)とタンジェント則(Tangent Law)の分配係数プロット
2台のスピーカを用いたステレオ再生において、左右のスピーカに振幅差をつけて再生することで両耳間位相差と両耳間強度差を実音源に近づくようにする手法を振幅パンニングといいます。 この振幅パンニングの代表的な手法としてサイン則とタンジェント則が知られています。 サイン則は頭を正面位置に固定した場合のパンニング則,タンジェント則は頭を仮想音像の方向に向けた場合のパンニン グ則と言われています*1。 本記事では、それぞれの分配係数(左右のゲイン)のプロットを紹介したいと思います。 プロットの条件 サイン則 振幅和を一定として分配 二乗和を一定として分配 タンジェント則 振幅和を一定として分配 二乗和を一…
Overlap-Add法・Overlap-Save法(重畳加算法,重畳保留法)のPython実装
音信号処理の代表例として、コンボリューションリバーブ*1のような入力信号にインパルス応答を畳み込む処理が挙げられます。 この畳み込み演算をリアルタイムのブロック処理で実現する*2実用的な方法としては、 Overlap-Add法とOverlap-Save法が有名です。 特に Overlap-Save 法はちゃんと実装したことがなかったため、勉強も兼ねてOverlap-Add法とOverlap-Save法の実装例を紹介します。 Overlap-Add法 Overlap-Save 法 まとめ 参考文献 Overlap-Add法 Overlap-Add法 では、ブロックごとの直線畳み込みを効率的に行う…
「ブログリーダー」を活用して、Kureneさんをフォローしませんか?