NTS-1コラボ連載第4回の補足(DSPの基礎2)

  KORG, NTS-1, プログラミング, 未分類

こんにちは、フランク重虎です。
前回はビットクラッシャーで遊んで頂きました。
NTS-1のカスタムエフェクトの転送も慣れてきたと思います。

第4回のストップエフェクトは如何でしたでしょうか。
ちょっとトリッキーで難しかったですよね?
今回のブログでは配列についてフォローアップしていきます。

変数はデータを入れる箱と例えられますが、配列は棚だと思ってください。
箱に人参、かぼちゃ、きゅうりと個々の名札をつけたのが変数、棚に野菜(3個)と名札をつけたのが配列というイメージです。
その中身を出し入れするのに野菜1,野菜2みたいな感じで番号(インデックス)で指定します。

変数いっぱい作ればいいんじゃないの?って思いますよね。
でも番号で箱を指定できる事はプログラムにとって凄い都合が良いです。
お気づきの通り、計算結果を使えるからですね。
あと単純に1000とか2000とか大量のデータを効率よく格納できます。

そして、この配列が使える事こそDSPの武器でもあります。
時間で流れてしまう情報を格納していつでも瞬時に扱えるのですから、もう配列作ってそこに音データいれて、好きなタイミングで出して再生したらそれだけでポン出しサンプラーですよね。
デジタルって便利だなぁ!(2021年現在)

前回ちょっとお話したディレイなんかも配列が必須です。
一番単純な方法では
1.データを出す
2.データを書く
3.配列の番号を進める

この順番を繰り返すだけ配列の長さ分(サンプル分)音が遅れます。

例えば配列の長さが5つ、全部初期値は0とします。
そして入力から1,2,3,4…という値のデータが入ってくるとしますね。
まず初めの配列からデータを取り出せば当然その値は0です。
次に1が入ってきたので配列の同じ場所に入れます。
これを5つ目まで進めたら1つ目の番号に戻ります。

すると!

データを取り出したときに前に書いた1を取り出すことになります。6回目なのに。
つまり取り出したデータは0,0,0,0,0,1,2,3,4…と5つ分の遅れを作れるんですね。
この結果を元音にミックスしたら単純なディレイじゃないですか。

今回は凄くシンプルな例ですが、大量のデータを番号指定で好きに出し入れできる仕組みを与えられたら、どのように利用して何ができるか楽しいので考えてみましょう!

それでは次回は総まとめです!

twitter facebook