Wizard Notes

Python, JavaScript を使った音楽信号分析の技術録、作曲活動に関する雑記

ChatGPT4にピアノ曲の演奏難易度・演奏の注意点を聞いてみる(ブルグミュラー25/18の練習曲)

ChatGPT Plus (有料版) を契約したのでいろいろ試しています。

その中でも、ピアノの練習曲の演奏難易度・演奏の注意点に関する回答が興味深かったので紹介したいと思います。

題材

ピアノの練習曲としてよく利用されているブルグミュラー25の練習曲*1/18の練習曲*2を題材としています。

25の練習曲はバイエル終了程度、18の練習曲は25の練習曲が終了後(ツェルニー30番程度)のレベルであり、メロディや展開が美しい練習曲となっています。

どちらも基本的に後半になるほど難易度が上がります。

ただし、必ず楽曲順=難易度ではないので、そういった詳細を知るには実際に弾いてみるか、経験者・指導者に聞くことになるかと思います。また、人によっても難易度の感じ方は異なります。

そこで今回は、ChatGPTでどのような回答が得られるか試してみました。

プロンプトのポイント

まずはブルグミュラーという作曲家および曲集を理解しているかの確認をしました。

ここまではよさげなので、いきなり本番の質問をしてみました。

しかし、回答をみると曲の名前や順番が間違っているようです。

そこで、回答しやすいように曲順と曲名を与えました。

なお、曲順と曲名のテキストデータは以下のWebサイトからお借りしました。

ブルグミュラー 有名な練習曲

ChatGPT4の場合

ChatGPT4だと、割と直観に合う回答が得られました。

これがどの程度正しいのか、正確なのかを確かめるのは難しいですが、

  • 演奏時の注意点が曲調とあっている
  • 後半になるほど難易度が上がっている
  • 25の練習曲よりも18の練習曲の方が難易度が高い

という点から、それなりに納得できる結果になっていると思います

ただし、

  • 10段階と指示したはずなのに難易度10の曲がない
  • 難易度の根拠がわからない

という問題/課題がありました。

2番目については、難易度の算出根拠を説明させるようなプロンプトが良いかと思います。また、その回答の根拠となるような文献があれば引用元を示すようにするとよさそうです。

ChatGPT3.5の場合

興味深いことに、GPT3.5だと同じような入力でも違う結果になりました。

GPT4の結果のような傾向はみられず、曲を知っていると、この難易度がいい加減なことが分かります。

質問の仕方によって出力は変わるかと思いますが、やはりGPT3.5とGPT4は別物として考えたほうがよいのではないかと思います*3*4

所感

ChatGPT自体が楽譜や音響信号を学習しているわけではないですが、すでに人間が残している、大量の自然言語のデータがあれば音楽的な分析ができるのは興味深いと思いました*5

難易度の具体的な値はプロンプトや乱数シードなどによって変化すると予想されますが、ChatGPT4ではそれらしい分布っぽいのが興味深いです。

今まででも似たようなアプローチとして、Webサイトをクローリングして大規模データデータ分析する方法があったかと思いますが、データ収集・整形、分析手法の検討など手間がかかるので、それっぽいをなんとなく示したり、参考情報として利用して最終的なジャッジは人がする/人が修正する用途には非常に便利だと感じています。

なお、以下のような条件はまだ試しておらず、気になるところです。

  • 他の曲集
  • 複数の性質の異なる曲集を混ぜた場合
  • 曲の知名度(ポピュラリティ)による違い
  • ピアノ以外の楽器

おまけ (GTP4)

・他の曲に関して聞く

・次の練習曲を決める

関連Webサイト

*1:Burgmüller : 25 etudes Op.100

*2:Burgmüller : 25 etudes Op.100

*3:特に日本語

*4:どちらも同じような回答を返す質問もありました

*5:他のタスクだと情報が少ない楽曲は不正確性が高いような傾向がありました