2019年12月09日

DSPの処理分配について

GranularDelayの出力をTripletEnvelopeGeneratorでコントロールしている。



DSPの分配を調整するのは至難の業だったが、今回はTimelineのRowを入れ替える方法でなんとか稼動状態に持ち込めた。

Screen Shot 2019-12-09 at 11.25.31.png

これは、試行錯誤を行う過程でDSPの処理パターンを観察した結果思いついた手法で、トラックの位置を変えることでコンパイルのプライオリティーが決定されるルールに影響を与えている。

時間軸の配置をズラすだけでは処理のプライオリティー設定が行えなくなった場合に試す奥の手の対処法で、実質的にはシャッフルを行うようなものなので直接的な結果は想像出来ないが、タスクが特定のDSPに集中している場合に処理の配分先を変更出来る可能性がある。
posted by Yasuski at 11:28| Symbolic Sound Kyma

2019年12月08日

LiveInputにTriggerTripletを実装する

ライヴ入力にTriggerTripletを実装したが、効果がイマイチだったので残響系のGranularDelayの出力にEGを追加した。 

Screen Shot 2019-12-08 at 23.20.57.png

所謂ゲートリヴァーブの亜種のようなものだが、好みな雰囲気に仕上がっている。

出来ればFilter系やDelay系にも機能の追加を行いたいところだが、既にDSPの分配がアウトっぽいので、この件はペンディング。

現状でも効果は十分に実感出来ているので、全てのアウトプットにこの手当を行うことは却って無粋なのかもしれない。

Main入力では、効果がイマイチで全く使うことのなかった「ベースラインに出力を同期させる機能」を実装していた部分をそのまま入れ替える形でTriggerTripletを導入している。

Screen Shot 2019-12-08 at 23.21.31.png

いまのところ機能が発動するスイッチはライヴ入力全て共通で行っているが、

Screen Shot 2019-12-08 at 23.20.13.png

使い難い場合は個別にオン・オフの設定を行うことになる。



posted by Yasuski at 23:34| Symbolic Sound Kyma

TripletTriggerを他のオブジェクトに展開する

パルス状のエンヴェロープを供給するTripletTriggerをリズム音源の一部に追加した。

Screen Shot 2019-12-08 at 14.37.19.png

ついでにRecCにもトリガーを移植した。当初は、サンプル再生オブジェクトの出力値を設定する箇所にEGを配置して直接駆動を試みたのだが、これが何故か失敗。 最終的にはより下流のミックスアウトにEGを組み込んでいる。

Screen Shot 2019-12-08 at 18.57.08.png

実験の結果、クリックノイズの発生はEnvelopeの立ち下がりに発生する傾向が強いことが判明しているが、立ち上がり側の時定数は数msでも問題はなさそう。

posted by Yasuski at 18:58| Symbolic Sound Kyma

BassSequencerの設定について

BassSequencerに実装したパルスっぽいフィルイン機能が、システム全体に行ったぱっつんノイズ対策の煽りで無効化されていることが発覚、EGの設定を修正することになった。

Screen Shot 2019-12-07 at 22.24.49.png

ノイズの発生を恐れてEGのGate信号を10msでスムージングしていたのがパルス状のトリガーには応答速度が間に合わなかった。 

今回は折衷案としてこれを5msに変更している。
posted by Yasuski at 00:01| Symbolic Sound Kyma

2019年12月07日

StepPlaybackSamplerの設定について

StepPlaybackSamplerは録音したソースを16分割にスライスしてリズムに合わせたタイミングで各ピースを再生するオブジェクト。

Screen Shot 2019-12-07 at 19.12.40.png


これには短いパッセージを3ch記録出来るのだが、パラメーターの設定が複雑過ぎるのが問題で、特に !OneRecUnitAR * !MagR によって、再生ピースの尺の調整を行う部分の理解が遅れていた。

アイデアを具現化する過程で生じる齟齬をパラメーターの追加によって使える形に合わせこむ作業を行っている。

このパラメーターの設定がクセモノで、意外とスイートスポットが狭かったりするのだが、そのあたりの整理を怠った結果が今の混乱した情況を招いているのであった。
posted by Yasuski at 19:54| Symbolic Sound Kyma

録音回路にクリックノイズ除去用のディレイラインとEGを追加する

全録音回路の録音オブジェクトの手前に音声キャプチャーの開始/終了時に発生するクリックを除去するためのディレイラインとEnvelopeGeneratorを追加した。

録音開始のゲート信号のタイミングによって、入力信号が20msのエンヴェロープでミュートされる。

Screen Shot 2019-12-07 at 13.32.50.png
posted by Yasuski at 13:43| Symbolic Sound Kyma

2019年12月06日

PanPot関連の構造をリファインする

Pan関連のオブジェクトをスクリプトベースな構造に変更した。

Screen Shot 2019-12-06 at 21.33.47.png

これは、オシレーター系オブジェクトをコントローラーとして扱った時の動作がイマイチ信用出来ないことがタイミング制御機構をリファインする過程で発覚したために行った改定で、、、

Screen Shot 2019-12-06 at 16.17.53.png

変更後は値の境界で発生するブチブチがなくなった模様。
posted by Yasuski at 16:52| Symbolic Sound Kyma

クロック制御系のリファイン(続き)

今日は、不要なタスクを可能なかぎり排除する方向でオブジェクトをリファインする作業を始めているが、まずはサンプラーの制御信号を生成するオブジェクト内に展開していたGraphicalEnvelopeを取り除くことにした。

Screen Shot 2019-12-06 at 15.13.03.png

デューティーサイクルをほぼパルス状の信号が出力されるレベルに調整したが、サンプラーの同期に問題は発生しなかった。

Screen Shot 2019-12-06 at 15.12.55.png

midiClockの出力をモニターしたところ結果は上々で、



120BPMの再生環境で信号を測定した結果、より正確なタイミングでクロックが出力されるようになった。
posted by Yasuski at 15:34| Symbolic Sound Kyma

同期信号系の動作を確認する

今日はサンプル・プレイバックをコントロールする同期系の調整を行っているのだが、立ち上げ時の儀式をしくじると、Percussion音源を駆動するトリガーのタイミングが狂って、周期的に再生が行われないことが判明した。

不安定な再生情況を把握すべく、過去に表示系を設置していたようだが、

Screen Shot 2019-12-05 at 20.58.17.png

何故か非表示扱いになっていたので、これを修正して視認が行えるようにした。

今回の改装では、録音時のテンポを視認するためBPMに合わせてボックスタイプのGUIが点滅する機構を追加したものの、

Screen Shot 2019-12-06 at 1.05.02.png

動作の精度が悪く、対症療法としてToggleで信号を分周してエラーの発生率を下げる手当を行っているのだが、何れにしても視認性がいまひとつな状態なので、この箇所は今後の改良を検討しなければならない。

追記:

その後、動作の軽さを考慮してスクリプトベースでクロックを発生させるメトロノームを試作してみたが、パルスジェネレーターの動作が不安定なうえ、シーケンスをスタートさせるタイミングでリセットを掛けられなかった。 最終的には、同期信号によってタイミングのズレを補正しながらpulseTrainからクロックを生成する「録音機構に準じた仕組み」でシステムを構成しているが、反応が読み切れないVCSのタスク管理に関してプリミティヴなレベルで検討を行う必要を感じた。

Screen Shot 2019-12-06 at 3.06.34.png

今回の改装では他に暫定でmidiクロックを出力する機構を組み込んでいる。


posted by Yasuski at 01:07| Symbolic Sound Kyma

2019年12月05日

Timelineの改装を進める

FakeKeyboardのバグっぽい動きは、インターフェイスに付随する!keyTimbreというパラメーターがTimelineにリストアップされない「仕様」によって、存在そのものが認識されなかったことが原因だった。

Screen Shot 2019-11-30 at 12.19.23.png

要はグローバルコントローラーがリストアップされない仕様を忘れていたのだが、不可視な項目はなにかとトラブルの元になりそうなので、この辺りのルールの再確認を徹底した方がよい。

Screen Shot 2019-12-04 at 16.21.24.png

外部入力を選択した場合の!keyTimbreを削除して問題は解決した。

Screen Shot 2019-12-01 at 1.18.55.png

例の如く、過去に行った謎な配線の所為でラインの再構築が混乱させられてしまったが、RevPianoとGrainSyntheで共用していた音声駆動のソース元を、個別で切替られるようにデータラインの構造を変更した。

フィードバックループの接続が怪し気で修正を行ったGranularDelayの配線を試しに元に戻した(タスキ掛け→並列化→タスキ掛け)ところ、普通に動作したのが意外だった。

Screen Shot 2019-12-05 at 16.56.33.png

このオブジェクトは音の空白が生じることを防ぐ為にキャプチャーのタイミングを相互にずらした2つのディレイユニット配置し、その間にフィードバックループをタスキ掛けに繋いでリレーションを行っていたのだが、

Screen Shot 2019-12-05 at 16.56.23.png

トラブル発生時はこのフィードバックループが無効になって、本来得られていたReverb的な効果が消滅していた。

厳密にはオリジナルからフィードバック値を再設定しているので「元に戻した」とは言いきれないのだが、変更後のフィールは大きく変化した。
具体的には出音が安定サイドに振れて低域が強化された感じで、並列にフィードバックを返した場合と比較して強烈な倍音が発生する確率が低くなるようだ。

そもそもこれは同一である筈の信号処理回路の構成が微妙に変化してしまった結果発生した問題だが、コンパイラのクセと理解すればよいのだろうか、、、。

HeaveyTask版に合わせて、LightTaskヴァージョンのTimelineを更新している。

Screen Shot 2019-12-03 at 16.22.25.png

HeavyTaskな方に行った制御系の変更を移植しているのだが、RevPiano周りに行った機能強化の影響は予想していたよりも大きく、コンパイル行う優先順位を若干ではあるが変更する必要があった。

生楽器を中心に扱う場合は、音がクリアに聴こえるこちらのTimelineを選択した方が良いかもしれない。
posted by Yasuski at 14:32| Symbolic Sound Kyma