素数を使用して繰り返しのないバックグラウンドを作成することについての素晴らしい
記事をハブで読んで、これを実装して音楽を生成してみませんか? 熟考の上、私はすべてを次のように実装することにしました。 ゼロと1のシーケンスを含むいくつかのメッセージが作成されます。 メトロノームからの信号に従って、1つの要素が各メッセージから抽出され、その後、すべての要素が要約されます。 メッセージ内の要素の数は異なり、素数を表します。 出力では、特定のノートにマップされるゼロから%% message_
%の整数が期待されます。
PureDataを選ぶ理由
客観的な理由はありませんが、2つの主観的な理由があります。
a)デモ版のmaxを配置したくない弱いネットブックしか手元にありません。
b)最近
pattr.ruを Max / MSPに関するサイトと呼び
ましたが 、これは完全に真実ではありません
。Maxは私にとって個人的に最も便利なツールです。
実際、
PureDataと
Max / MSPには音の面で同じ機能があり、
Pdだけです。そのオープン性(はい、
Pdは
オープンソースであり、Linux用です)により、使いやすさが大幅に低下します。
できればパッチを当ててください
まず、メッセージからアトムを順番に読み取るアルゴリズムを組み立てる必要があります(アトムは
Pdの基本単位で、メッセージは複数のアトムで構成されています)。 多くのMax / MSPオブジェクトが移植される
PureData用の
Cycloneライブラリが作成されているため、前の
記事からパッチの一部を取り出して
Pd(counter-list.pd)で再コンパイルして
ください 。

このパッチには、7つのアトム、
1から
7までカウントするカウンター、および着信メッセージから特定のアトムを抽出するオブジェクト
[zl nth]を含むメッセージがあります。 カウンターからの番号が
[tbi]オブジェクトに送信されることに注意してください。 最初に番号を右インレット
[zl nth]に送り、オブジェクトに取得する原子番号を伝え、次に
BANGをメッセージに送り、その内容を表示させます。 その結果、ボタンをクリックすると、次々に原子が表示されるようになります。
これを数回すべて複製して、以下を収集します。

ご覧のとおり、抽出された原子は
exprオブジェクトによって追加されます。この場合、合計は
0〜5の範囲で変動し
ます 。
selオブジェクトは、加算結果に応じて、シンセサイザーに入力されるノートの数である5つの数字のいずれかをトリガーします。 音符の番号は天井から取られたものではありません-これは五音音階です。つまり、「黒」ピアノの鍵のみがこのパッチを演奏します。 シンセデバイスについては説明しません。4ボイスのポリフォニーを備えたシンプルな正弦波シンセです。
おわりに
この単純なパッチは実験のために作成されたもので、パターンを生成するためにセミの原理を適用したいと思いました。 ご覧のとおり、結果は興味深いものでした:メロディーの一定の再現性は感じられますが、ループの明確な境界は聞こえません(
3 * 5 * 7 * 11 * 17 = 19635ステップのシーケンスが得
られます)。 一般的に、アルゴリズムの断片の私の武器はもう1つ補充されました、ありがとう、Habr。 :)
パッチは次の場所で入手できます。
pattr.ru/sites/default/files/pattr_cicada-test.zipPdを手元に持っていない人のために、結果をファイルに書きました。
http://pattr.ru/img/cicada-test/cicada.mp3