太子プログラミングクラブ中級第2期・初級第2期(2026年10月)~音を作る~
太子プログラミングクラブは、音をプログラミングの続き。初級は、3D造形に取り組みます。
初級は3DCADの腕を磨く
初級は、9月に引き続き3DCADで形を作り、3Dプリンターで造形することに取り組んでいます。基本的なパーツの作り方をいくつか説明したら、あとはそれぞれが好きなものを作っていくスタイルです。
驚くのは、作り方をいくつか知っただけで、すぐに自分のアイデアを形にし始めるところです。いつもは冷静なメンバーが、今日はなぜかはしゃいでいました。こういうこともあるんだなと思いながら見ていました。自分の作ったものが、画面の中ではなく実際の形として現れるのが楽しかったのかもしれません。

3DCADで考えるべきことは、複雑な立体を小さなパーツに分けられないか、ということです。小さく簡単なパーツに分けられれば、あとはそれをどう組み合わせれば複雑な形になるかを考えればいい。これはプログラミングでもまったく同じ考え方です。
小さく分ければ分かりやすくなる。このことを私がはっきり意識したのはいつだったか、思い返してみました。社会人1年目のとき、本社の課長が「分けたら分かるんだ」と言っていたのを覚えています。それまでの私は、なんとなく体で覚えて物事を理解していたように思います。
小学生のうちに「分けたら分かる」を肌感覚で身につけられたら、きっといろいろな場面で役に立つのではないかと考えています。

この日は3Dプリンターが空いている時間があったので、他のクラブのメンバーが作った立体も印刷してみました。すると、データはできているのに、うまく造形できないものがありました。一部宙に浮いていたため、途中で材料が剥がれてしまいました。
3Dプリンターには造形しやすい形と、しにくい形があります。これは私も見落としていたところです。
3Dデータは、パソコンの仮想空間の中なら好きな場所に配置できます。しかし3Dプリンターが造形するのは実際の空間です。重力がありますし、ほかのものとぶつかることもあります。そこを理解しておかないと、仮想空間ではできていたものが、実際には作れないということが起こります。今回はまさにその問題が表に出てきました。
これはいい題材だと思っています。好きにデータを作るのはいい。けれども、実際に形にするにはやるべきことがある。そのことを、どこかの回できちんと一緒に考える時間を取りたいと思います。
音色を作る
中級のメンバーは、引き続き音のプログラミングに取り組んでいます。
その前に、まずタイピングです。これは毎回必ずやります。速さもいいのですが、大事なのは正確に入力できることだと思っています。

タイピングの後はコーディングを進めます。今月のお題は「音色を作る」です。
これまでのコーディングでは、正弦波(なめらかな波の形)で音を鳴らしてきました。正弦波でドレミファソラシドも鳴らしました。けれども現実の世界には、ピアノ、フルート、バイオリンと、さまざまな音色があります。どれも同じように音階を持っているのに、聞こえ方はまったく違う。その違いはどこから生まれているのかを、これから理解していきます。
10月第1回の今回は、正弦波・矩形波(四角い波)・三角波の3つの波形で、それぞれ音を出すプログラムを作りました。波形が違っても、周波数が同じなら音階は同じです。ただし音色は変わります。それを実際に耳で確かめました。
このとき、「同じ周波数なのに、矩形波は正弦波や三角波より音が大きく聞こえる」と気づいたメンバーがいました。とてもいい着眼点です。音の大きさ、つまり音のエネルギーは、波形の面積で決まります。同じ高さの波であれば、矩形波は正弦波や三角波よりも面積が大きくなるので、音も大きく聞こえる、と理解できます。
見えないエラー、全角スペース
コーディングのミスは、かなり減ってきました。カンマをピリオドと間違える、括弧が抜けるといった記号のミスはだいぶ少なくなり、今回目立ったのはほとんどがスペルミスでした。スペルミスは NameError などの形で出てきます。ミスの種類が絞られてきたのも、成長だと思います。
印象的だったのは、全角スペースを使ってしまったことによるエラーです。これは見つけるのが非常に難しいエラーのひとつです。見た目はまったく同じなので、どこが間違っているのか目で見てもわかりません。
実は私の学生時代にも、さんざん悩んだ末に「全角スペースだったのか」と気づいた経験があります。今回も1人か2人、このエラーに引っかかったメンバーがいました。
こういう間違いはいいんですよね。覚えますから。私も25年くらい前のそのエラーをしっかり覚えていて、それ以来二度とやっていません。メンバーもきっと、このエラーのことは覚えておいてくれると思います。
一番いいのは、自分で気づくことです。人に言われて気づいたことは忘れてしまいがちですが、自分で苦労した後に「そういうことか」と気づいたことは、よく覚えているものです。
スマホからピアノの音が出るのはなぜか?
ひと通りコーディングが終わったメンバーは、別の課題に取り組みました。ピアノやフルートの音を出すプログラムを作る課題です。こちらは手で書くのではなく、生成AIを使ってコーディングしてもらいました。プログラムでこんなに違う音が鳴らせるんだ、ということがよくわかる題材だと思います。
写真は、1人がフルートの音を作っているのを、みんなで確認しているところです。よくできていました。ビブラート、つまり音が揺れるところまでよく再現できていました。あとはコードを読んで、実際にどうやって再現しているのかを理解していければいいですね。

こうした波形を作ることの裏には、大学レベルの数学があります。フーリエ級数展開、フーリエ変換といった理論です。どんな音も、正弦波と余弦波、それに直流分の組み合わせで表せる、という考え方です。理屈はかなり難しいのですが、25年前、私が学生時代に感激した、とても印象に残っている理論でもあります。
理論の細かいところは、大学生や高専生になったときに学べば十分です。ここでは仕組みをさらっと知った上で、「世の中のものはどうやってできているのだろう」と考え、それを自分の手で再現していきたいと思います。
たとえば、スマホの中にピアノやバイオリンが入っているわけではありません。それなのに、YouTube などで再生すれば、ピアノの音もバイオリンの音もフルートの音も出てきます。なぜそんなことができるのか。10月の後半は、それを実際に自分の手で確かめていきます。
