2011-11-18 13 views
3

私は本当にシンプルなシンセを作りたいです。要するに本当にシンプルなシンセサイザーを作っていきたいですか?

は、私は、wavファイルを再生したい、とのタッチが解放されるまでには、ある時点でループを持っています。

私はいくつかのサンプルコードを探しています(無料である必要はありません)。この正確なトピックの何もないように思わかかわらず、私はいくつかの重要な用語を欠けている場合を除き

、このような基本的な質問のために申し訳ありませんが、私は、これをグーグルされています。また

、私は、ウェーブテーブルシンセ、または響板を説明しています何ですか?

答えて

0

サウンドデータをメモリに格納し、サウンドカードに送るバイト配列を埋め込む何らかの種類のread()コマンドが必要です。 read()コマンドは読み取り間の位置を追跡する必要があるため、永続ポインタを維持する必要があります。ポインタの位置をテストし、最後に到達したかどうかを確認し、必要に応じて先頭にリセットします。

具体的な内容は、選択した言語に依存します。

私はこれをJavaで行いました。これは、異なる速度で再生する可能性が追加されました。 http://www.hexara.com/VSL/VSL2.htm 少し遅れています。私はそれを投稿してから少しは学んだが、まだそれを修正するために戻っていない。プログラムは許可を求め、コンピュータからwavファイルを読み込みます。 16ビット、ステレオ、44100fps、リトルエンディアンでなければなりません。

ウェーブテーブル合成波の単一の反復は、ソースデータとして格納され、使用されることで、少し異なっています。 https://ccrma.stanford.edu/~bilbao/booktop/node9.html 私はウェーブテーブルではJavaの「テルミン」 http://www.hexara.com/VSL/JTheremin.htm

を作るために、このメソッドを使用し、あなたは、配列のサイズを決定:ここで

は、スタンフォード大学のCCRMAのウェブサイトから、短い議論です。 2の累乗であれば、増分した後にポインタをビットマスクすることができます。これは比較やリセットよりも高速です。

関連する問題