#16 AIを使って、音楽を奏でてみよう!
”わからないと感じる、カオスを楽しめ”をモットーに、「え、なにこれ!」の体験を産み、「次もしたい!」の学びを残す
科学実験教室シコウサクゴLAB
今日のテーマは、大学研究で実際に使用される技術を使用した「AIを使って、音楽を奏でる実験」になります!
ーーーーーーーーーーーーーーーーーーーーーー
|どんな科学教育教室?
今回は、熊本大学の研究室の後援のもと、大学の研究室内で実際に体験型の生殖工学ワークショップを実施しました!
実施内容:「オーディオ作製→ChatGPTを利用した作曲プログラミング⇒Arudinoでの読み込み⇒オーディオから音楽を流す」
場所:トランポリンスタジオRafit
本番ぎりぎりまで、TAの大学院生が準備をしています!
|子供達はどんな様子だった?
はじめに講義で、デジタル機器から音楽が流れる仕組みを学んでいきます。
スマホでワンクリックから音が流れるまで、どういう仕組みになっているのか?どうして、音は保存できるのか?を図でイメージつけていきます。
次に、実際音がどうながれるか、簡易のオーディオを自作して、音をパソコンから流してみます。
みんな、音が鳴ったとき、「うわっ!」の驚いた顔をしていました笑
次は、AIの仕組みとプログラミングを学んでいきます。今回使用するのはChatGPT3.5。
説明は、AI大好きお兄さんこと、ショー君。AIで試した、画像生成を使って、説明してきます!
講義を聞いた後は、とりあえずやって試してみよう!ということで、事前に準備されたプロンプトを利用してGPTに指示を出して、プログラムを書いていきます。そして、Arudinoに書き込んで、実際に流してみると…
音楽を作曲できました!
てことで、次は自分で作曲。
「好きなキーワードを3つ入れて、Arudino用のプログラムを書きだす」といった指示を自分たちで入力。▼こんな感じのプロンプト▼
すると、下のようのコードが!
#define NOTE_C4 262
#define NOTE_D4 294
#define NOTE_E4 330
#define NOTE_F4 349
#define NOTE_G4 392
#define NOTE_A4 440
#define NOTE_B4 494
#define NOTE_C5 523
#define NOTE_REST 0
int melody[] = {
NOTE_C4, NOTE_E4, NOTE_G4, NOTE_C4, NOTE_E4, NOTE_G4, NOTE_C4, NOTE_E4, NOTE_G4,
NOTE_C4, NOTE_E4, NOTE_G4, NOTE_C4, NOTE_E4, NOTE_G4, NOTE_C4, NOTE_E4, NOTE_G4,
NOTE_C4, NOTE_E4, NOTE_G4, NOTE_C4, NOTE_E4, NOTE_G4, NOTE_C4, NOTE_E4, NOTE_G4,
NOTE_C4, NOTE_E4, NOTE_G4, NOTE_C4, NOTE_E4, NOTE_G4, NOTE_REST, NOTE_G4, NOTE_A4,
NOTE_A4, NOTE_G4, NOTE_F4, NOTE_E4, NOTE_D4, NOTE_D4, NOTE_REST, NOTE_C4, NOTE_D4,
NOTE_D4, NOTE_C4, NOTE_D4, NOTE_E4, NOTE_E4, NOTE_E4, NOTE_F4, NOTE_G4, NOTE_G4,
NOTE_REST, NOTE_E4, NOTE_G4, NOTE_C5, NOTE_C5, NOTE_B4, NOTE_A4, NOTE_A4, NOTE_REST
};
int noteDurations[] = {
8, 8, 8, 8, 8, 8, 8, 8, 8,
8, 8, 8, 8, 8, 8, 8, 8, 8,
8, 8, 8, 8, 8, 8, 8, 8, 8,
8, 8, 8, 8, 8, 8, 8, 8, 8,
4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4
};
void setup() {
// 圧電スピーカーを接続するピンを設定
pinMode(9, OUTPUT);
}
void loop() {
// 曲を演奏
for (int i = 0; i < sizeof(melody) / sizeof(melody[0]); i++) {
int noteDuration = 1000 / noteDurations[i];
tone(9, melody[i], noteDuration);
int pauseBetweenNotes = noteDuration * 1.30;
delay(pauseBetweenNotes);
noTone(9);
}
delay(2000); // 次の演奏までの待機時間(2秒)
}
以上です。
これをArudinoにコピペして、音楽を流してみます!
コンパイルすると、自分で作曲した音楽が!
その後は、GPTを使って、自分たちの好きなように速度や曲調を変化させていきます!
1時間半もモクモクと…(アシスタントいらんやん笑)
学びが早い子には、アシスタントからMiisionを与えて、難しいことにも挑戦
「みんな、PCほとんど触ったことないん??」って思うくらい、パソコンを使いこなしていました。
最後はみんなで記念写真(カメラマンの自分、写り忘れました…泣)。
10年後、みんなどんな成長があるかな!
昨年からのリピーターの皆様も、はじめての参加者も。
2年間以上継続的に来てくれる子もいて、みんなの成長をみれるのも幸せです!
|シコウサクゴLABの科学実験教室って?
シコウサクゴLABが運営する科学実験教室には、小中学生を中心とし、科学が好きな子、新しいことに挑戦したい子、学校は合わないけど友達と勉強したい子、などなど様々な背景を持った生徒が毎回参加しています!
この科学実験教室は、「科学って面白い!」って感じてもらうことはもちろんのこと、実験を通して、「学ぶ楽しさ」「自分の手で動かて知る面白さ」「この世界にはたくさんの新しいモノがあること」を感じてもらうことも目的としています。
科学実験を通して、好奇心を探求したい皆様、心よりお待ちしております。
Let’s enjoy science!!
BY リュウ先生
\ホームページ/
\インスタグラム見てね!🔬/
公式インスタグラム
【https://www.instagram.com/shikousakugo.lab】