問題タブ [supercollider]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
supercollider - Buffer.read への相対パスを指定するにはどうすればよいですか?
そのため、相対パスを使用してサウンド ファイルをバッファにロードしたいと考えています。(私は自分のものをバージョン管理下に置いており、誰かがファイルシステムのどこにレポを複製するかについて仮定したくありません。)
したがって、最初は、相対に見えるパスを指定すると、SC はそれを実行中のファイルの場所に相対していると解釈するだろうと想定していました。
しかし、SC はファイルを見つけることができませんでした。だから私は調べてasAbsolutePath
それを試しました:
SCは相対パスから絶対パスを導き出すことができないため、これも機能しません。
...実際には、ファイルシステムに存在しない場所を返します。万歳!
この面倒な作業をどのように達成するかについて、誰か提案できますか?
audio - C言語用のSuperCollider(または同様のリアルタイム合成システム)インターフェースはありますか(できればDLL形式で)?
ゲーム エンジン内で SuperCollider のさまざまなプラグインを使用することに興味があります。しかし、私のプログラミング言語 ( SwiftForth ) の FFI は、単純な古い C 言語の DLL ファイルしかサポートしていません。
まず、ある種の OSC インターフェイスが必要であることはわかっています。次に、SuperCollider を何らかの方法で実行する必要があります。これがゲームでどのように行われるかについての詳細はまだわかりません。
また、SuperCollider へのコマンドライン インターフェイスについても読んだことがあります。それは私がやりたいことにとって実用的ですか?
私は提案や代替案を受け入れますが、交渉の余地がないのは SwiftForth だけです。私は既にエンジン関連のコードを大量に作成しており、その独自性と柔軟性のためにリアルタイム合成を追加したいと考えていました。
linux - ジャックサーバーなしのスーパーコライダー
私のプロジェクトの要件の 1 つは、組み込みシステムのランタイム フットプリントを削減することです。Linux では必須のように見えますがjackd
、現在は依存関係が強く、libasound
代わりに直接使用することはできないようです。本当ですか? jackd
また、組み込みデバイスで使用し、リソースの使用状況を要約できる人からの連絡も素晴らしいでしょう。とはいえ、比較的十分なメモリを備えた BeagleBone を使用する予定ですjackd
。
terminology - 「タイプ」、「インスタンス」、「クラス」、「オブジェクト」の概念の違い
クラスとオブジェクトの概念を理解しようとしていて、「型」と「インスタンス」という言葉に出くわしました。タイプはクラスとまったく同じことを意味し、インスタンスはオブジェクトを意味しますか? それとも使い方の違いなど違いはありますか?
processing - SuperCollider - Synth インスタンスの制限
私は SuperCollider と Processing を試しています。基本的には、Processing から SC にメッセージを送信するだけです (このメモを再生する、この時点でなど)。
ただし、SC で 1 つのことを理解するのに問題がSynthDef
あります。 を作成し、Processing からさまざまな MIDI ノートが入っているとしましょう。シンセの 1 つのインスタンスだけで、すべてのノートの再生を処理することはできませんか?
現在、SC はすべてのノートに対してシンセの新しいインスタンスを作成しているため、必然的にインスタンスが膨大に蓄積されます。私は試してみましたSynth(
がSynth.new
、すべての状況で、受信したメッセージごとに新しいインスタンスが作成されるようです。
コード例:
基本的に、SynthDef とリスナーを作成します。Processing から整数を受け取り、それを配列キーにマッピングして、再生する MIDI ノートを決定します。しかし、リスナーがトリガーされるたびに、シンセの新しいインスタンスを取得します
supercollider - この非リターン エンベロープが再トリガーされないのはなぜですか?
非リターン エンベロープを使用しようとしています (つまり、その中のセグメントが 0 に戻りません)。次のコードでは、エンベロープenv
を複数回トリガーできないことがわかりました。
私が望んでいたのは、シンセが再トリガーされるたびに、ピッチがどんどん高くなることでした。実際に何が起こるかというと、最初のノートがピッチ エンベロープを再生し、後続の各ノートがちょうど最終 (つまり高い) 周波数になります。env
明らかに再トリガーされていません。
これがなぜなのかはわかりません。エンベロープは、再トリガーする前に 0 に戻す必要はありません。終了する前にエンベロープを再トリガーすることは完全に可能です。私の封筒に何か問題があります。
私は基本的に の動作を持つものを探していますが、再Line
トリガーしてカスタマイズ可能な曲線を持つこともできます。
私がやろうとしていることは可能ですか?