問題タブ [sound-synthesis]

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.

0 投票する
0 に答える
295 参照

android - OpenSL ES を使用した Android での音声合成

私は、いくつかの合成、FMまたはAMを使用して、Androidでオーディオアプリを作成しています。待ち時間を短縮するために OpenSL を使用しています。私は Audiotrack ライブラリを使用し、遅延はひどいものでしたが、音を作ることは OpenSL よりもはるかに簡単です。私はネイティブオーディオプロジェクトから始めました。音の生成は少しありますが、どうやってそれを続けることができるかわかりません。

これがノコギリ音のコードです

誰かがなぜこれらの数字を説明できますか? OpenSL API を調べましたが、サウンドの合成については何も見つかりませんでした。

ありがとう

0 投票する
0 に答える
41 参照

android - Android 合成 2 トーン (またはそれ以上) から 1 へ?

2音(またはそれ以上)を1音に合成して演奏する方法は?

Android で任意のトーンを再生するで Android で任意のトーンを再生する を見つけました。

誰も関連情報を持っていますか?

0 投票する
5 に答える
781 参照

c - 時間の経過とともに正確に正弦波を計算する方法

使用例は、デジタル合成用の正弦波を生成することです。そのため、sin(dt) のすべての値を計算する必要があります。

tはサンプル番号を表す整数です。これは可変です。CD 品質の 1 時間のサウンドの範囲は 0 ~ 158,760,000 です。

dは double で、角度のデルタを表します。これは一定です。範囲は次のとおりです: 0 より大きい、pi より小さい。

目標は、従来のintおよびdoubleデータ型で高い精度を達成することです。パフォーマンスは重要ではありません。

単純な実装は次のとおりです。

しかし、問題は、tが増加すると、"sin" 関数に大きな数値が提供されるため、精度が低下することです。

改善されたバージョンは次のとおりです。

ここでは、「sin」関数に 0 から 2*pi の範囲の数値を指定するようにします。

しかし、問題は、dが小さい場合、小さな追加が多くなり、毎回精度が低下することです。

ここで問題となるのは、精度を向上させる方法です。


付録1

「「sin」関数に大きな数値が提供されるため、精度が低下します」:

出力:

0 投票する
2 に答える
68 参照

sound-synthesis - Csound のインストゥルメント定義にデュレーションを含める方法

関数 を使用して、oscil特定の周波数と振幅でオシレーター バンクを定義します。

セクションで期間を設定できることを知っていorchestraます。しかし、さまざまな振動にさまざまな期間を与えるにはどうすればよいでしょうか? instrument定義でこれを行うことはできますか?の1行で楽器(3つのオシレーター)を呼び出すことができるようにしたいのでorchestra

0 投票する
1 に答える
946 参照

python - Python Pyo midi キーボード シミュレート

Python と Pyo を使ってシンセを開発したいと考えています。コンピューターのキーボードを MIDI キーボードとして使用してメロディーを演奏したいと考えています。

コンピューターのキーボードを MIDI キーボードに偽装するにはどうすればよいですか?

どうも