Bézier Curve
楽器音合成AIデモバージョン
- 松本龍太郎
- Keywords:AI, Music, Instruments, Virtual
- Interactive Python Notebookへのリンクはこちら
概要
これは何?
楽器音合成AIのデモバージョン。
やりたいこと
楽譜を入力すると、その楽譜を演奏しているかのような楽器音を合成してくれるAIを作りたい。
- ブラウザに楽譜をD&D
- サーバー上で音を生成する
- 生成音がDLできる
背景
音=情報である。より良い音、情報を扱えるようになれば、音楽業界や社会がよくなる、というソーシャルデザイン。ここでの良い音を生演奏と定義する。
しかし、生演奏にはとてもコストがかかり、演奏者との繋がりなども必要だ。誰もが出来る環境にないにも関わらず、最終的な楽曲のクオリティには雲泥の差がある。
現状調査
一般の利用者には理解しにくい専門用語や複雑な表現で満ちており、情報の理解やアクセスが制限されている状況。
利用者とってわかりやすく作成することが必要。
先行事例
目的
人間の生演奏とコンピューターでの打ち込みの差を埋めることができるようにする。
そのためのプロトタイプを作る。
コンセプト
打ち込みで楽曲制作をしている人が生演奏に近い音を扱うことができるようになる楽器音合成AI。
自分の狙い通りに出せることが利点。
打ち込みとの違い
通常打ち込みとは、録音した音をつぎはぎして本物っぽく聴かせる手法。
このAIは、人間の特徴を再現しほぼ0から作り出すため、より人間に近い音が作れる。
成果物の仕様
聴き比べ
オリジナルの音(org)と出力した音(tts)へのリンクはこちらから
制作ツール
- Python
- Logic Pro 11
プロジェクトの期間
2024.04.09 - 2024.06.24
まとめ
2年間かけて成果を出すため、そのプロトタイプ制作をしていた。
問題点も少々あるが、当初想定したゴール、学習させて音を出す、というところへ辿り着いた。
今後の展望
- 出力される合成音のクオリティを向上させる。
- 生成した合成楽器音を使用できる範囲(ライセンス)を決める。
- 今回の研究を伝えるため、webアプケーションの作成。
調査
現状調査
- 一般の利用者には理解しにくい専門用語や複雑な表現で満ちており、情報の理解やアクセスが制限されている状況。
- 利用者とってわかりやすく作成することが必要。
先行事例
Melismaという楽器音合成AIがある。musicxml 形式の楽譜を入力するとヴァイオリンの音を合成してくれるAIである。中迫酒菜氏という作曲家の個人制作AIであるが、生演奏されたデータや現代の楽曲に頻出するフレーズを学習しているため、非常にクオリティの高いものとなっている。
- pythonで学ぶ音声合成 機械学習実践シリーズ
技法・技術情報
- Python
- Tacotron 2
プロジェクト管理
スケジュール
ToDo
- データの正規化についての研究
日本語 to Speech での実験- サンプル数のを増やす
- 水増しサンプルの作成
2024.07.09
MusicXML to Label についての調査をしていた。
NEUTRINOの変換結果を詳しく見たところ
- 現在の音素
- 前の音素とその属性
- 無音区間(パウゼ)
- 次の音素
- その他の記号(さらに詳細なコンテキスト情報)
という構造になっているようだ。
バイオリンなどの楽器の場合、アーティキュレーションやダイナミクスの情報を含める必要がある。
2024.07.02
MusicXML to Label についての調査をしていた。
深く読み込むことにする。
2024.06.25
0から学習させなくても、シーケンサーでの音を不均一にするAIも良いのではないか、という意見が出たが、権利関係の問題が多い。
渡されたデータを改変して良いのか、改変して再配布して良いのか。
深く調査する必要がある。
2024.06.18
音程が出た。
2024.06.11
誤魔化した所が失敗の原因だったが、それを解決することで学習ができた。
サンプル数を増やすことで解決する問題が多いだろう。
2024.06.04
進捗なし。体調を崩した。
AI学習も手こずっている。困るねえ。
2024.05.28
合成には成功したが、楽譜通りの出力ではなかった。
楽譜に歌詞を入力する必要があるようだ。そうしなければ学習させることができない。おそらく、TTSの技術を応用しているからであろう。
2024.05.20
今までlabファイルを作る工程で戸惑っていたが、NEUTRINOが同じことをしていることに気づき、labファイルをNEUTRINOに作らせてみた。
使って良いかどうか不明なため、実際に公開する際は注意する必要がある。
2024.05.14
発表の準備をした。
煮詰まってきたので、一旦寝かせることにする。
2024.05.07
なし
2024.04.30
- ロゴや名前があれば良い
- もう一度本を読み返してみる
- Tacotoronを一度日本語化していたが、そもそも日本語化する必要はないのでは?
2024.04.23
- 日本語 to Speech での実験成功
2024.04.16
- テンソルサイズを揃えられた!やったぜ!
- npyの正規化できた!やったぜ!
- テンソルサイズを揃えなければならない。なぜできないのか分からない。
2024.04.09
- npyの正規化がうまくできない。沼にハマってしまった;;


