問題タブ [signal-processing]

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 投票する
4 に答える
7217 参照

audio - 帯域制限波形生成

私はソフトウェア シンセサイザーを作成しており、44.1 kHz のサンプルレートで帯域制限されたエイリアスのない波形をリアルタイムで生成する必要があります。のこぎり波を 2 つ混ぜ合わせることでパルス波を生成できるので、現時点ではのこぎり波で十分です。

これまでのところ、次のアプローチを試しました。

  1. 起動時に異なる帯域制限周波数で 1 サイクルの完全に帯域制限された波形サンプルを事前計算し、次に最も近い 2 つのサンプルを混合して再生します。大丈夫だと思いますが、あまりエレガントではありません。多くのサンプルが必要です。そうしないと、それらの間の「ギャップ」が聞こえます。補間とミキシングも、かなり CPU を集中的に使用します。

  2. のこぎり波を得るために、一連の DC 補償 sinc パルスを統合します。DC補償を正確に行わないと、波がゼロから離れてドリフトすることを除いて、素晴らしい音です(これは本当に難しいことがわかりました)。DC の問題は、積分器に少し漏れを追加することで軽減できますが、低周波数が失われます。

だから、私の質問は:これが行われる通常の方法は何ですか?提案されたソリューションは、一度に多くのボイスに対してリアルタイムで実行する必要があるため、CPU の点で効率的でなければなりません。

0 投票する
4 に答える
70826 参照

c# - C# で正弦波または方形波を作成する

特定の周波数のオーディオ正弦波または方形波を生成するにはどうすればよいですか?

機器を校正するためにこれを行うことを望んでいますが、これらの波はどのくらい正確ですか?

0 投票する
3 に答える
5650 参照

algorithm - DSP/FPGA 位相アキュムレータはどのように機能しますか?

位相アキュムレータのコードを見ていますが、理解できないので単純な人に違いありません。コードは非常に単純です。

accum は 32 ビットのレジスタです。明らかに、ある時点でそれはロールオーバーします。

私の質問は本当に次のとおりです。これはフェーズにどのように関係していますか?

0 投票する
4 に答える
3259 参照

c# - C#を使用してラインインから継続的にサンプリングする最も簡単な方法は何ですか?

C# を使用して PC のオーディオ ラインから継続的にサンプリングしたい (そのデータを処理する)。サンプリングを行う最良の方法は何ですか?

0 投票する
10 に答える
25304 参照

audio - デジタル オーディオへのダウンサンプリングとローパス フィルターの適用

16 ビット PCM サンプルの配列として表される CD から 44Khz オーディオ ストリームを取得しました。11KHz ストリームにカットしたいと思います。それ、どうやったら出来るの?何年も前のエンジニアリング クラスの時代から、ストリームが 5500Hz を超えるものを正確に記述できないことを知っているので、それを超えるものもすべてカットしたいと思います。何か案は?ありがとう。

更新:このページには、単純なアルゴリズムと { 1, 4, 12, 12, 4, 1 } のような係数配列を使用して 48KHz から 8KHz に変換するコードがいくつかあります。それが必要だと思いますが、6倍ではなく4倍にする必要があります。これらの定数がどのように計算されるか考えていますか? また、最終的には 16 バイトのサンプルを float に変換することになるので、ショートではなく float でダウンサンプリングを行うことができます。

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

winapi - マイク入力をリアルタイムで処理するにはどうすればよいですか?

私は自分が持っているアイデアの概念実証を作成し始めています。この時点で、どのように開始すべきかについてのガイダンスが必要です。

しばらくの間「録音」するのではなく、マイク入力をサンプリングし、その信号をリアルタイムで処理する必要があります (Auto-Tune を考えてみてください。ただし、ライブで動作します)。

私がやっていることは、「一種の」「マイク入力から MIDI へのコンバーター」なので、非常に高速に応答する必要があります。

オンラインで少し調べたところ、どうやら進むべき道は DirectSound または WaveIn* API 関数のいずれかです。今、私が読​​んだことによると、WaveIn API を使用すると、特定のサイズのバッファーを埋めることができます。これは、記録と後処理には問題ありませんが、どうすればリアルタイム処理を行うことができるのでしょうか?

10 ミリ秒のバッファーを使用し、50 ミリ秒または 100 ミリ秒の循環配列を自分で保持し、10 ミリ秒ごとに分析をトリガーする関数を取得しますか? (最新の 100 ミリ秒の入力にアクセスでき、そのうち 10 ミリ秒のみが新しい)

ここで何か不足していますか?

また、これは DirectSound でどのように行われますか? 通常の Win32 API よりも機能が向上していますか?

0 投票する
7 に答える
1475 参照

audio - DirectSound で帯域フィルタリングを簡単に行うことはできますか? そうでない場合は、どうすればよいですか?

このようなことが可能かどうか(そして比較的簡単にできるかどうか)疑問に思っています。

再生中の Wave ファイルにバンド フィルタリングを適用したいと考えています。ほとんどの Winamp のようなアプリケーションで見られる「イコライザー」に似たもの。
ただし、私の考えは、サウンドをイコライズするのではなく、非常に高い負の dB 値を使用して、フィルタリングしている帯域をほとんど殺すことです。

最初の質問は次のとおりです。DirectSound は、これを可能にする何かを提供してくれますか?
そうでない場合: これをどのように実装しますか?
高速フーリエ変換を使用して、サンプリングされた波形から周波数の分布に変換できることは知っています (完全には理解していませんが)。さて、特定の周波数の振幅値を変更した後、明らかにその分布から元の波形に戻ることはできません:-)

どうすればこのようなことができますか?

また、これらのフィルターをどの程度正確に作成できますか? (2250Hz から 2275Hz までのすべてを除外したい場合、フィルターの誤差はどうなるでしょうか? 得られる最大精度は何に依存するでしょうか?)

ありがとう!

0 投票する
6 に答える
16804 参照

audio - ノートオンセット検出

ミュージシャンが採譜を行う際の補助としてシステムを開発しています。目的は、単一の楽器のモノフォニック録音で自動音楽トランスクリプションを実行することです (ユーザーが後でグリッチ/ミスを修正するため、完璧である必要はありません)。ここに自動音楽トランスクリプションの経験がある人はいますか? それともデジタル信号処理全般?あなたの経歴に関係なく、誰からの助けも大歓迎です。

これまで、高速フーリエ変換をピッチ検出に使用する方法を調査してきました。MATLAB と私自身の Java テスト プログラムの両方で多くのテストを行った結果、高速フーリエ変換が私のニーズに十分に対応できることが示されました。作成された MIDI データを楽譜として表示することも課題の 1 つですが、これについては今のところ気にしていません。

簡単に言えば、私が探しているのは、ノート開始検出、つまり新しいノートが始まる信号内の位置の良い方法です。スローオンセットを適切に検出するのは非常に難しいため、最初はピアノの録音でシステムを使用します。これは、私がピアノを弾くという事実にも一部起因しており、テストに適した録音を取得するのにより適した立場にあるはずです. 前述のように、このシステムの初期バージョンは単純なモノラル録音に使用されますが、今後数週間の進捗状況に応じて、後でより複雑な入力に進む可能性があります。

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

signal-processing - ローパスフィルターソフト?

できれば c、c++、または c# で記述された、.net Windows フォーム プロジェクト用のデジタル ロー パス フィルター コード/ライブラリ/クラスを探しています。おそらく、極数、係数、ウィンドウ処理などを設定する必要があります。利用可能な gpl されたコードはどれも使用できず、他に何があるかわかりません。任意の提案をいただければ幸いです。

0 投票する
6 に答える
6703 参照

iphone - ココアタッチでのトーンジェネレーション

周波数と波を操作できるトーンを生成する必要があります。全体的な目標は、基本的なピアノを作成することです。どうすればこれを達成できるか知っている人はいますか?

私の開発プラットフォームは iPhone 2.x です