以前から、タイミングと印象という話を考えていて、なぜかと言うと、人間とコンピュータ(ロボット、スマートスピーカー、チャットボット等)が対話する機会が増えてきたときに、その内容を高度化する研究は多数あるものの、微妙なタイミング(数ミリ秒~数秒)が人間の印象に与える影響は、あまり考慮されていないなと思ったからである。
チャットボットに「Amazonで本を購入して」と書いたときに、すぐに「注文しました」と回答が来るのは良いのだけど、ロボットに「おはよう」と言った時に、「おはよう」の返事が、あまりにも速すぎると微妙にいらっとする、とか。
とりあえず、チャットボットの話やスマートスピーカーの件は、情報処理学会のインタラクションの論文(それぞれ 2018, 2019)にも書いたので省略すると、最近は、ちょっとした遊びで、音楽のサウンドのタイミングを制御するとどうなるか、というのをやってみている。たとえばピアノで、同じ曲でも鍵盤を押す微妙なタイミングにはいろいろな個性が出る。意図的に制御する場合もあれば、ジャズピアノなどは、ミュージシャンの個性になっているような場合もある。
と言うわけで、まずは単なるアルペジオのタイミングを、プログラムで制御する実験を始めてみた。
以下、アルペジオが上下する間の各音に入れる遅延の値を、サインカーブ(0~πまで)で制御してみた(要するに、高音は遅延が大きい)。1小節ごとに、だんだん遅延の量を大きくしている。今後、フレーズや、制御関数をあれこれ変えて実験してみたい。
まあこれ自体はどちらかと言うと、Ableton liveとMax 8を買ったので、node.js と連携させてエフェクターを作る動作確認をしてみただけなのだけど。
ここから先は、ものすごくいろいろな話があるのだが(Googleのmagentaでは、performance RNNで、深層学習を使ってタイミングの制御をやっているとか)、長くなるのでまた。