2008-08-27 9 views
1

ARM Cortex-M3コアにwavetable synthesizerを実装する必要があります。私は始めるのを助けるコードやツールを探しています。無料ウェーブテーブルシンセサイザー?

私はthis AVR implementationを知っています。私は実際にそれをPICに戻しました。今私は似たようなものを探していますが、少し上手く聞こえます。

ANSI Cコードが優れています。すべてのコードスニペット(CまたはC++)、サンプル、ツール、または一般的な情報だけが大歓迎です。

ありがとうございました。

答えて

4

合成ツールキット(STK)は優れているが、これはC++のみである:

http://ccrma.stanford.edu/software/stk/

あなたががSTKからウェーブテーブルシンセサイザコードを抽出することができるかもしれません。

3

2つのオープンソースウェーブテーブルシンセサイザは、FluidSynthTiMidityです。

0

すべてのARMシンセは、1日以内にwavecannerに変更することができます。ファイルから波をスキャンするか数学的に生成することは、オーディオワイズとほぼ同じです.WTは処理コストがゼロの大規模な波形バンクを提供します.WTオシレータコード自体は20ラインです。波形のノブを3から100に変更して、読み込んでいるWAVを指定し、ランプ/カウンタを使ってWAVファイルを読み込みます(アレイとして)。 WTが修正されました。

7年のSynth経験から、お気に入りのシンセサイザーのオシレーター機能を20行変更することをお勧めします。 LFO、フィルター、入力パラメーター、プリセットメモリー...お気に入りのシンセを代わりに使用し、WAVファイルライブラリーをWAVファイルとフォルダーとして探し、 WT機能を備えたシンセオシレーターは、ほとんど同じで、処理コストが低くてすみます。

シンセが正常シン、Sqr指定し、のこぎり波用アンチエイリアスOSC機能を使用しています...

ウェーブテーブルシンセベース、および波10/20/100ds、各それにコードの約20行を使用してい理想的には1オクターブごとにサンプリングされたウェーブ。ウェーブテーブルサウンドライブラリーを手に入れることができれば、シンセループ、ピッチシフト、サウンド、プロシンセもオクターブをミックスするために複数のオクターブを持つことができます。所望ヘルツ

wavescanner関数=

WTfunction =

  • 負荷WAVファイルは、Nアレイへ
  • 変化波形WAVリストから=を選択し、波形アレイ
  • 読み出し波形アレイ
    • crossfade 2波の間でxfadeをLFO、すなわちサインとxフェードに割り当てる。

    エンベロープ、フィルタ、振幅、その他のすべての機能は、すべてのシンセの波形生成機能とは独立しています。

    シンセサイザー用の最も強力な心理音響ツールは、ノートのデジタルトーンからのずれであることを覚えています。これはユニゾンデチューンと呼ばれ、シンセサイザーのソニックキャラクターは主にコーラスとユニゾンデチューンから来ています。

    WTは、より高度なシンセでは、長いセクションの波の単一周期です。単一期間のものは、コードへの書き込みが非常に簡単です。先進のWTはN周期(2〜3秒、つまりピアノ)まで続く音で1オクターブごとにサンプリングされます。つまり、オクターブで音質が変化するため、複雑なWTは1オクターブごとに複数オクターブの録音でクロスフェードされます。