今日は予定通り音を弄りました。久々にやるとめちゃ楽しいね。
手が動き始めるまでがめちゃくちゃ長かったけどな… 「どう操作したいか」っていうのがずっとわからなかった。
まぁ操作するものが何か、っていうのもわかってないけど。
でもある程度拡張可能でかっこいいUIの作りみたいなのを思いついたので、まぁこれでいってみようかなという感じ。
そこまで考えてからメインの実装をやるわけですが…どうしようかなーと考えて…さっぱりわからなくなったので。
これを参考にしました。
つまりScriptProcessorNodeの内部でレンダリングを走らせるやつです。
AudioWorkletだとダメなんだろうねこれ。deprecatedだと思うので悩ましい気持ちだったんですがまぁ使われてるしいいかという決心がついた。
どうせelectronだし。
で、あとはぽいぽいっと。まぁめっちゃバグらせてましたけど。
きょうはここまで pic.twitter.com/Uca8X7eew0
— phi16 (@phi16_) 2020年11月13日
元々よく使ってた謎のambient生成コードは永遠に続くノイズを対象としていたんですが、今回はちゃんと区間を区切って…まぁそれこそちゃんとした Granular Synth の仕組みに則ってやろうとしました。
glslは実際 (Karplus-Strong Synthesis なんかよりは圧倒的に) Granular Synth を実装するのに向いてると思うんですが、単純ではない部分がまぁあって。
ScriptProcessorNodeの周期処理タイミングとGrainの繰り返しタイミングは別に一致しないんですよね。
だから1度処理した後で、基本的に「最後のGrainは繰り越さなければならない」のです。もっと言うと最後2つ。
んで綺麗に周期をつないであげる必要があると。まぁやるだけではあるんですけど。
まぁその辺の基礎はなんとか今回できたと思うので、あとは同時に再生できるGrainを増やしたり音源ロードしたり…それこそやるだけね。
あ、でも今bufferSizeを1024にすると謎のノイズ (click noiseではない) が入るバグに見舞われてたんだった。まぁ困ったときにアレします。
まだambient生成器にはなってないんですがその辺の処理増やしていけばそのうちなってくれるかな~と願っています。
それはそうと寝る前ちゃんになるには足りないなと思う物が多くあってですね…
ク聴いてたりするとどうしてもリズムいれたくなっちゃうね。どうしようもないね。
ambient側の制御はSenselで済みそうなので余ったnanoPad2くんをリズム用にしちゃおうかなとか思った。そんなに複雑なのはきっと作れないけど。
んー。いいかんじになったらいいな…。
一応ちょっとだけメインタスクに手をつけようとしたんですが圧倒的なやる気のでなさに呆然とした。
「何もしない昼の時間がもったいない」ということには対処できたけど「やらなきゃいけないことをやってない」ことの対処にはなってませんでした。
なんか時たま「いけるような気がする」という感覚は生じるんですが、うん、まぁ、長く続かない。
とりあえずもうちょっと様子見します。日曜日に森AdC書き終わるくらいじゃないと予定がアレかしら…
明日はKinoの続きをやりたいと思っています。まる。
おやすみなさい。