問題タブ [synthesizer]
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.
java - Java シンセサイザー プログラミング
Java を使用してゼロからシンセサイザーを作成する方法を学習しようとしています。いくつかのチュートリアルとコードをつなぎ合わせて、基本的な動作する製品から学習しようとしましたが、音が出ません。正弦波、のこぎり波、方形波を使って音を生成できるようにしたいだけです。プログラムを実行すると、音が出ません。私の問題は Main.java クラスと SamplePlayer.java クラスにあると思います。最後に投稿する SamplePlayer.java クラスでエラーが発生します。基本的なサウンドを作成するために、私が何を間違っているか、または何を変更する必要があるかを誰かが知っていますか?
私は6つのクラスを持っています:
Envelope.java (ADSR エンベロープ ジェネレーターをセットアップします)
Main.java (main 関数を含む)
/li>SamplePlayer.java (ウェーブのサンプリングと音の再生を担当)
/li>SampleProviderIntfc.java (getSamples() メソッド スタブがあります)
SamplePlayer.java で生成されたエラー:
これらのエラーは、次の行で生成されます。
javascript - createScriptProcessor と getChannelData の代わりに createPeriodicWave を使用する方法
Web Audio API を使用して楽器を合成するライブラリをいくつか見つけました。
そのうちの 1 つ (Band.js) はcreateOscillator()
、オシレータ タイプ (sine、square、...) と組み合わせて使用します。 source を参照してください。
しかし、それはあまりにも合成に聞こえます (聞く例) もっとリアルに聞こえるものが欲しいのですが、プリコンパイルされたサウンドフォントを使用したくないので、合成する必要があります。モバイルデバイスでも動作するはずです。
createPeriodicWave
そこで、最初の 32 倍音を参照元と組み合わせてマトリックスとして使用する別のライブラリ (musical.js) を見つけました。音色は素晴らしいです、あなたはそれを聞くことができます
ソースコードのコメントに書いてある通り、ハーモニクスはこのピアノサンプルファイルから取っています。他の楽器のサンプルファイルはもっとたくさんあります。ハーモニクスをすべて 2000 でも置き換えてみましたが、常にピアノのように聞こえます。
高調波と ADSR 値を調整および補間するための値もいくつかあります。ピアノの音だけに最適化されているのでしょうか?
それから、ギターにとって本当に素晴らしい音色を持っている別のライブラリ(guitar-synth)を見つけたので、それを聞いてください。createPeriodicWave
ただし、このライブラリはAPIを使用しません。代わりに、いくつかの「単純な」計算と組み合わせて使用しますが、他のライブラリの高調波のようなものはありません。ソースをcreateScriptProcessor
参照してくださいgetChannelData
だから私の主な質問
createPeriodicWave
APIを使用するためにギター シンセサイザーを移植できますか? musicjsでギターの音色を使いたいです。ピアノの音色とギターの音色を切り替えられるように。
ところで: サウンド インストゥルメントを合成する別のライブラリが見つかりました。ここにデモがあり、ここにソースがあります。音もいいのですが、musical.js ライブラリの方がはるかに美しい音色です。getChannelData
しかし、WAVE としてエンコードされているようなものを使用しているようにも見えます。また、Android を搭載したモバイル デバイスでも動作しません。
wav - netlogo のサウンド ファイルへの書き込み: または netlogo の調整方法
私は単純なシンセサイザーを書いています。
これは私のコードの全体です
私が走るとき
出力をサウンド エディターに 44100 ヘルツでロードすると、1 秒間のサウンドが得られます。これまでのところ、すべて順調です。残念ながら、これは 100 Hz のトーンであることが意図されていますが、代わりに、かなり高い [16kHz 以上] の 1 秒です。
私は何を間違っていますか?
xml-parsing - SSML仕様のssmlリクエストにxmlヘッダーは必要ですか?
次のように、ssml シンセサイザーへのリクエストで厳密に xml ヘッダーを指定する必要があるのでしょうか。
それともSSML標準でもこれが許可されていますか?: