ソフトウェアシンセサイザーを構築するために知っておくべきことは何ですか?


19

ソフトウェア開発の経験があり、シンセが大好きで、デジタルオーディオ表現の[非常に]基本を知っている人にとって、DSPのように音楽シンセサイザーをプログラミングするために従うべき最初のステップは何ですか?

回答:


17

インタラクティブアプリケーション用のリアルサウンド合成を取得し、合成ツールキットをダウンロードします。これにより、使用中のほとんどのデジタル合成方法の実用的な紹介と高品質のソースコードが得られます。次に、最もおもしろい方法を選択し、対応するSTKコードを変更して、必要なことを行います。 次に、同様の何かをゼロから構築してみてください。

さらに、提案されたhotpaw2のように、JOSのすべても優れた入門資料です。特に、デジタルの概要オーディオ・アプリケーションでフィルタし、離散フーリエ変換の数学基礎から両方の開始を、背景の多くを負いません。

デジタルフィルター/効果の観点から、もう1つの良い出発点はFaustをチェックすることです。ブロックダイアグラム信号処理言語を学ぶ必要さえありません。サンプルを使用して、VST、LADSPAなどのテンプレートコードをダンプすることができます。

そうは言っても、基本的に同じことですが、リアルタイムの操作や対話性を心配することなく、サウンドレンダリングを開始するのはさらに簡単です。wavファイルをディスクに保存するだけです。すぐに実行するという問題を経験する前に、新しいテクニックを試してみるのに最適な方法です。


完璧な答え-それは非常にバランスのとれた問題に及びます。ありがとうございました!
vemv

6

DSPの入門書に加えて、コンピューター音楽のテーマに関する本(Amazonや他の書店にいくつかリストされています)を読みました。スタンフォード大学の DSPおよびサウンド合成に関する資料も豊富にあります。人間の聴覚システムと音響心理学に関する本も役立つかもしれません。


5

まず、構築するシンセサイザーの種類(加算、FM、サンプルベースなど)を決定する必要があります。また、既存のアナログシンセサイザーをエミュレートするか、独自のシンセサイザーを設計するかを決定する必要があります。

残りは非常に簡単です-さまざまなシンセサイザービルディングブロック(オシレーター、フィルター、ノイズジェネレーター、エンベロープシェーパーなど)をソフトウェアで実装し、これらを一緒に「配線」してパラメーターを制御する方法を実装するだけです。

Hal Chamberlinの著書「Musical Applications of Microprocessors」を参照してください。


4

誰もまだSynthMakerについて言及していないことに私はかなり驚いています。それはとてつもなく使いやすく、低レベルにすることは難しくなりますが(開発者モードを使用するようにしてください)、Synthesizerアーキテクチャと一般的なDSPについて多くを学ぶことができます。そして、あなたは実際にそれで構築されたものを利用することができます。実際、私はそれを使用してほとんどすべてのプラグインを構築します。


ソフトウェア開発者として、私は常にウィザードには消極的でしたが、DSPは深い世界であるため、SynthMakerは便利です。さらに、数人の仲間がそれについて良い経験をしました:)
vemv

私は自分でSynthMakerについて言及するつもりでした。それは素晴らしいプログラムです。
マットM.

4

他の貢献者の一部が言及したように、DSPの優れた入門書は必須です。これは素晴らしい本です> http://www.dspguide.com/そして著者は親切に完全で無料のPDFダウンロードを提供しました。さまざまな合成技術の高レベルなビューを提供する別の一般的な音楽技術のコースブックは、http://www.amazon.com/Computer-Music-Tutorial-Curtis-Roads/dp/0262680823です。また、VSTプラグインを開発するための非常に便利な視覚的開発環境である以前の貢献者であるSynthmakerが提案したことを繰り返します。最後に、深く掘り下げずに実験したい場合は、サウンド合成専用に設計されたプログラミング言語であるCsoundを使用してみてください。


2

答えのほとんどはDSPの問題に焦点を合わせているので、私はただチャイムしたいだけです。SynthMakerのようなブロックデザインシステムを使用しない場合、音声管理の処理に多くの開発時間を費やすことになります。VSTiインストゥルメントプラグインをゼロから作成している場合、学習曲線はエフェクトプラグインよりもはるかに長くなります。各ノートオブジェクトを管理し、DSPが16ボイスに対して十分に速い場合に20ノートがあるときに何が起こるかを決定し、ピッチベンド、ポルタメント、モジュレーションなどに応答する必要があります。これは簡単な作業ではなく、 BuzzまたはSynthMakerから始めて、最終的に壁にぶつかったときに自分でロールバックすることをお勧めします。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.