音楽を始めたのでフリーハンドで波形を描いて任意の周波数で鳴らす
はじめに
こんばんは。
数か月ほど少し鬱気味になって大学を休学し、まるで死んだかのような日々を過ごしていたのですが、そろそろ人間的な活動をしようとここ2~3週間ほど音楽を始めてみました。
メロディもコードも初心者感満載すぎる。
ハモリがスケール外してるの今気づいた。
そんなこんなで音楽とは何か、音とは何かといったことをここしばらく、文字通り丸一日中、様々な音楽を聴きながら考え続けておりました。
僕は現在20代前半なのですが、今の今まで音楽というものを本当に一切聞いてこなかったので、音の世界は新鮮で、とても奥深く感じられるものでした。
音楽の二面性と階層構造
なぜこうも奥が深く感じられるのかというのを考えてみたところ、もちろん単純に言葉で表すことができるものではないのでしょうが、
音楽の持つ感覚性と理論性という二面性及び、それらの階層構造の多層性にあるのではないかと今のところは結論付けました。
音というものは元をたどれば空気の振動です。この周波数によって音の高さが決まります。たとえばある1周期の波形が1秒間に440回現れるときはA4でラの音になります。
そして別の周波数の音同士を重ねると和音、いわゆるコードとなります。コードについても、どの音同士を重ねると聞き心地がよくなるか、明るいか暗いかなどがだいたい理論的に決まっています。
そして(基本的には)コードにメロディをつけると一応は曲ができます。しかし曲作りの工程はこれだけで終わりではなく、実際にはdtmで言えば編曲、ミックス、マスタリングといった音作りの工程にかなり時間が割かれることになります。
僕自身はまだそこまで詳しくはないのですが、こういった工程にもある程度の理論性があります。音響学などの学問的な意味でもそうですし、EQやコンプレッサーのかけかた一つとってもノウハウや理屈による説明付けがあるみたいです。
我々は煌びやかなアーティストや、学祭の主役を担うバンドマンなどにばかり目が行きがちですが、世の中にはこういった音楽活動を支える「サウンドエンジニア」という職業も存在します。
(正直こいつらが一番すごいと思う)
とにかく、音楽というものは解剖していくと理論的な説明ができたりできなかったりし、その理論というものも一枚岩ではなく、多様かつ多層なのです。
では音楽に関する理論を詰め込みまくれば良い曲ができるのか……。
と言われるとそうでもなかったりそうだったりしそうなのです。
理論的なのに感覚的
少し曲を作ってみて思ったのは、そもそも音楽理論的なものをそこまで知らなくてもそれっぽいものは作れてしまえそうだということです。でもやっぱりもっと詳しくなった方が表現の幅が広がりそうで、ほとんど知識ゲーな気もします。
そもそも音楽に関する理論自体が、人間の感覚的なものを言語化、体系化したものであるため、当然と言えば当然なのですが、
理論は感覚で、感覚もまた理論で説明される関係にあります。
ちょうど、図形を数式で表すことができ、数式もまた図形で表すことができるような関係と似ていると感じています。
しかし、理論と感覚という一見相反する概念が表裏一体となって芸術を生み出しているのがやはり面白いところです。
前置きはさておき音の波形を描いてみる
と、ここまでがクソ長前置きなのですが、今回の本題は、フリーハンドで音の波形を描いてみちゃおうというものです。
正直シンセサイザーのことをまだよくわかっていないのですが、だからこそ理論的かつ感覚的に理解しようと思い、オシレーター(+フィルター?)的な機能をpythonで実装してみました。
※オシレーター
シンセサイザーの音の元になる波形を発する装置
シンセサイザーによる音作りのスタート地点
通常サイン波やノコギリ波などを生成する
pythonで画像を音にとか聞くとフーリエなんちゃらが出てきそうな予感がしますが波形自体を描いてのでやってることは超シンプルです。
(フーリエなんちゃらは)ないです。
ということで。
これを2値化して座標データにする。
そんでもって任意の周波数に変換。
これをサンプリングレート44100Hzでwavにしてあげる。
実はオーディオ機器から聞く音は全部サンプリングレートのある離散データなのです。
できたのがこれ。(うるさいから注意)
そのままだとサイレンですねこれは……。
でもオシレーター的なものを再現できたのでOKです。
本当に描いた波形で鳴ってるのかaudacity(フリーの音声編集ソフト)で見てみましょう。
jpgからwavを作ってる(しかも原始的に)のが個人的にちょっと面白いと思います。
フリーハンドで描く際に一周期の波形の始点と終点をうまく合わせとかないと波が途切れ途切れになってブツブツ言う羽目になるので同じことやりたい人は気を付けましょう。
おわりに
音とかいうのおもしれ~~。
daw用のVSTpluginを自作してみたかったのですがC++で書けと言われたんでもういっそpythonでdaw作ろうかと思っています(無理)。
多分こんな意味わかんないことをするより今あるもので曲作りに専念した方が音楽技術的には上達すると思われです。
さいなら。