「Pythonではじめる音のプログラミング」を読んでみて
カンファレンスで音に関連する話しをするにあたって、音のプログラミングを基礎から学んでみたいと思って買ってみた。
Python である必要はなかったが、音のプログラミング本は C 言語で書かれた古い本が多い。2022年と比較的新しいものがこれしかなく、レビューもそんなに悪くなかったので選んでみた。
ちなみに C 言語の音プログラミング本も購入をしてサラッと読んでみた。
買った後に気づいたが同じ人が書いている笑
内容として被っている部分も多かったが、C 言語本の方がより数式が多めで敷居が高いので、初心者向きなのは新しい本のように感じる。
(とは言え、こちらもレビューが高く読みやすい本である)
話を戻して、本の内容について触れていく。
1. 構成
全部で12の章で構成されている。
序盤は音楽の基礎、中盤は電子音について、終盤は具体例を用いた音作りという構成になっており、初心者にもわかりやすい流れになっている。
章の数から分厚く見えるが、ページ数は300もいかないので、比較的読みやすい長さであった。コード部分を試したりしなければ、すぐに読み終えられる。
2.内容
以下はそのざっくりした内容と所感。
第1章:音響学
音の波について書かれている。波の高さ・幅によって何が違うのか、といった説明があり、次章のデジタルな音を理解するために必要な導入を学べる。
第2章:サウンドプログラミング
デジタル音について書かれている。音の波をどのように扱うのか、変換(サンプリング)するのか、といった今後のサウンド・プログラミングに必要な知識を学べる。
第3章:コンピュータミュージック
譜面の読み方や記号について書れている。音楽(特にピアノ)をやっていたことがある人にとっては、サラッと読む程度で流しても問題ない。
第4章:MIDI
MIDI の仕組みについて書かれている。この辺りから専門用語が増えて、少し読むのが大変になる。
最後の方に、Python での読み取りコードがあって、かなり長い(次章以降に備えあえてだろう)。Swift だと Apple の提供する MusicSequence を使い簡潔に書けるので、良い時代になったなとしみじみ。
第5章:ディジタル信号処理
周波数の分析と音色のコントロールについて書かれている。フィルタ(音色コントロール)の説明に出る図や数式を完全に理解するのは厳しいので、ざっくりとした概念を頭に入れておくと良い。
第6章:シンセサイザ
音の合成について書かれている。0から音を作るための仕組みを学べる。前章と同じく難しいので、概念を頭に入れると良い。
リアルな音(楽器など)を電子で作る時、音を誇張して真似ることの方が心理的なリアリティが増す、というのはモノマネ芸人がやってる事と同じで、なんか納得したり。
第7章:エフェクタ
各エフェクタの説明と原理が書かれている。エフェクタの知識がある人(ギター経験者など)にとっては、なぜ音がそうなるのかを仕組みから説明してくれるので、とても面白みがある。
音を変化させる関数を、先人たちのおかげでだいたい固まっているので、提示された関数を模写するだけで実装できる。
第8章:ミキシング
音楽制作について書かれている。ステレオとモノラルの違いをより詳しく理解でき、たまにネット上がっているボーカルなしのカラオケ音源の作り方などを学べて、とても面白い内容である。
第9章:打楽器の音をつくる
打楽器の音作りについて書かれている。さまざまな打楽器の音をプログラミングしていく。楽器ごとの癖をどうやって再現するのかが書かれており、先人達が編み出した職人芸が詰まっている。
第10章:管楽器の音をつくる
管楽器の音作りについて書かれている。9章と構成は同じ。管楽器が奏でる高音や音の揺らぎを作り出すテクニックを学べる。
第11章:弦楽器の音をつくる
弦楽器の音作りについて書かれている。9章と構成は同じ。弦楽器のビブラード再現やベースのスラップ奏法を学べる。
第12章:鍵盤楽器の音をつくる
鍵盤楽器の音作りについて書かれている。9章と構成は同じ。オルガンのパイプ音再現などを学べる
3. 所感
冒頭にも書いたが、比較的読みやすかった。体系的な内容の理解をしたいのであれば、8章まで読んでおけば問題なく、さらっと読めてしまう。
冒頭に挙げた C 言語の本に比べると、数学的な要素をだいぶ減らしており、敷居が下がっている点も大きい。(それなりに出てくるが、それを理解しなくても、コードを書けば動くので。試していないが笑)
純粋に楽器を電子で完全再現するのってかなり大変なことを実感する。楽器ごとにもつ細かな癖を実際に再現ために、楽器音を分析して、それを再現するためエフェクトやフィルタをかけていくことになる。
再現するための関数を考え、近い音になるためのエフェクトやフィルタを模索していく作業が、気の遠くなるような作業な気がしており、すでに出回っている音は先人達の努力が詰まっているんだなと。
そう思うと、Apple が出している GarageBand を含め、無料ツールの音の再現度はすごいことを改めて感じる。
現代において、自分でプログラムせずとも多くのツールが出回っている。
音のプログラミングについて、0から学び直す必要はないかもしれないが、ベースの知識として持っていると、改めてそう言ったツールを使う時に、何か新しい発見があるかなと思っている。
そんな方への1冊としてオススメしておきます。
ちなみにこの後は、以下の本を読む予定である。
また書簡でも書けたら記載しようかなと。
(全部は読まないかも…笑)