月別: 2018年12月

 

Super Collider

音楽を作るというと、多くは楽器などの音源があってそれを演奏したりシーケンサで鳴らしたりというところから始まりますが、その音源も作ってしまうというツールにSuperColliderというものがあります。
音響合成もシーケンスもキャラクタベースのブログラム言語で記述します。
今回は、以前別のプログで作ったものを基本にパートを加え、より音楽的になるように工夫してみました。
(このとき音楽専用のプログを作ってみたいと思い、このブログのきっかけの一つとなりました)

Super Collider


やっていることですが、p1がメロディ、p2がベースパートで、メロディは確率によって音を選んでいます。ペンタトニックスケールの出現率を高くし、ルートと五度は三度の音でハモらせています。
ベースはグルーブを出すために音量をランダムに変えています。
今回は音源についてはシンプルはサイン波ですが、もっとシーケンスで積極的に変化させるものもやってみたいと思っています。(p1のリリースは長め、p2は短め)

Random Music

現代音楽の世界で、バルトークの黄金分割比、ベルクの総音程音列など音を数学などのルールに基づいて選ぶ作曲方法などがあります。(柴田南雄氏「音楽の理解」音楽と数理の章参照)
コンピュータの発達とともにプログラムで音楽を制御することが、専門家でなくても家庭で簡単に実行できるようになり、私もプログラミングでいろいろと試しました。(音楽はプログラムが上達するための題材が豊富です。アルゴリズムコンポジション的なものを除いても、MIDIシーケンサ、音響合成などをC言語で作ると通信、並列処理、ビット操作など一通りのスキルが身につくと思っています。)
当時一番最初にやったのはNEC PC6001のBASIC言語をつかったランダムミュージックでした。音楽に対する考え方がガラッとかわったのを記憶しています。音楽理論に興味をもつようになったり、変拍子の音楽に目覚めたのもこのころです。(コンピュータでガイドラインとなるフレーズを鳴らしてそれ合わせてドラムを叩いたりか・・)
しかしこのランダムというのがとても深いこと気付きました。ランダムをどのように作るかとか、どの程度ランダムにするとか。確率を使うと毎回違ったものになりますが、決定論的につくれば初期値によってバリエーションをコントロールできます。
このあたりのテストは以下プログで。

1/f Noise

Logistic Map

また使う音の数(5音、7音、12音)によって音楽の調性との関係もかわってきます。音程を全てばらばらにすることによって無調とする総音程音列は3856個あり計算で求められます。これを計算できるアプリを以前作ったこともあります。(自分が欲しいアプリを作るのが当時のポリシー(^^;))

この例はC-E-D-Fとキーを押して、それに続く総音程音列を検索します。+ / – キーで次の候補を検索します。

また視覚的な動きと音が連動して奏でるランダムな音はどのように感じるだろうと、音楽ゲームの一つのモードとして試したものもあります。(バウンド角度に乱数を少しかけているのでランダムになる。かけないと周期的。このアプリのアイコンをいろいろなところで使っています。)

音楽と数学の関係を追求していくと、発想がひろがりとても面白いです。今後もいろいろと試していきたいです。

最後にこの機会にIchigoJam BASICでちょっと作ってみました。(MSXでやりたかったのですが、ちょっとしまいこんでて・・)
圧電ブザーなのでかなりチープです。音域がだんだと広がります。