#author("2024-02-28T09:07:28+00:00","","") #author("2024-02-29T00:44:40+00:00","","") [[引き継ぎ(戸田)]] **メモ [#bf7e21d3] リアルタイム判定:https://skimie.com/articles/6a3bfa82712f59cb6b5a6c10d7 3番目のプログラム 広い音階:https://qiita.com/T1210Taichi/items/4daaeb9cec8765add0e **【目的】 [#f04825b7] メロディーのリアルタイム解析を通じて即興演奏や耳コピを支援を行う.高度な音楽的なスキルがなくても演奏ができるようにするために,わかりやすい指板に抑える場所をマークしてあるコード譜を生成し,出力を行う.これにより,ギターの初心者が簡単に練習に取り組めることを目指す. **【使用するファイル全部】 [#l273e485] #ref(111.png) 基本的な音楽知識と音楽理論,ギターの知識がないとプログラムの中身がわからないと思う... #leaf_rotation=0がラベルの向き、orientation="top"がクラスタリングの図の方向 #color_threshold=xでユークリッド平方距離がx以上を同色で表示 #above_threshold_color="color"でユークリッド平方距離がx以上を"color"色に染める ##最新ラベルとラベルされているデータの距離が2000以内の場合同じ場所として判別##### dendrogram(Z, labels=df_label,leaf_rotation='vertical',leaf_font_size=16,color_threshold=2000,above_threshold_color='gray') #各データのクラスター番号出力 group = fcluster(Z, 2000, criterion='distance') **プログラム実行 [#odeac3ee] #ref(chord_visualisation-main tyukanmade.zip)~ zipファイルをダウンロードし、解凍する。プログラムを実行するには、sotu.pyを実行する。~ ※ただし,以下の点に注意が必要である. ・必要なモジュールをインストールする~ "cv2"モジュールの正式名称は"opencv-python"~ "sklearn"モジュールの正式名称は"scikit-learn" ・pythonのバージョンを3.10以降のものにする~ 「pythonのバージョンの変更についての参考資料」~ バージョンアップ方法:https://www.wataichi-nikki.com/pythonversionupgrade/#toc8~ バージョン切り替え:https://python-beginner.blog/multiversion/ **システムの流れ [#jf6a4bbf] 1. 入力された音声(音量が閾値を超えた場合にのみ)をリアルタイムで取得し FFT を用い,音高判定を行う. 2. 判定された音高に合わせ,ギターの指版に抑える場所を〇や×で示したコード譜を作成して画像としてプロットする. ***結果 [#n95d7c4e] #ref(実行結果.png,,30%) ~