問題タブ [audio-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.
iphone - wav ファイルと openal を使用した iPhone でのビート検出
このウェブサイトを使用して、ビート検出エンジンを作成しようとしました。http://www.gamedev.net/reference/articles/article1952.asp
alDatal と alDatar は (short*) 型です。
myDat は、22050 khz および 16 ビット ステレオにフォーマットされた wav ファイルの実際のオーディオ データを保持する NSdata です。
これは正しく動作していないようです。誰かが私を助けることができれば、それは素晴らしいことです. 私はこれに3日間立ち往生しています。
望ましい結果は、10 秒相当のデータが処理された後、それを 6 倍して 1 分あたりの心拍数を推定できるはずです。
私の現在の結果は、10 秒ごとに 389 ビート、2334 BPM、私が知っている曲は 120 BPM 前後です。
java - オーディオプログラミング、サウンドプロセッシング、DSP
iPhoneのカラオケアプリで遊んでいて、以下の質問を思いつきました:
このアプリケーションにより、ユーザーはアーティストの音量を制御できました。ミュートすることもできます。これはどのように可能ですか?アーティストサウンドの調整/イコライザーの設定などは、必要な周波数の変換を行うことを意味しますか? ここではどのような数学が必要ですか (周波数ドメイン変換)?
このアプリケーションは、マイクを介してユーザーの音声入力を録音しました。サウンドが何らかの形式で録音されていると仮定すると、アプリケーションは録音をカラオケ トラック (アーティストの声をミュート) とミックスすることができました。これはどのように行うことができますか?トラックとボイス レコーディングの両方を同時に再生しましたか? それとも、元のトラックに追加の周波数 (チャンネル?) を挿入したのか、それを置き換えたのでしょうか?
ここにはどのような種類の DSP が関係していますか? これはJava、Objective Cで可能ですか?
ここでメカニズムを理解するのに役立つドキュメントや書籍へのリンクがあれば、共有してください。
ありがとう。
algorithm - オーディオ サンプルのキーを決定するためのアルゴリズム
オーディオサンプルの音楽キーを決定することに興味があります。アルゴリズムはどのように音楽オーディオ サンプルのキーを近似しようとしますか (または可能でしょうか)?
Antares Autotune と Melodyne は、このようなことを行う 2 つのソフトウェアです。
これがどのように機能するかについて、誰でも簡単に説明できますか? コード進行などの周波数スペクトルを分析して、曲のキーを数学的に推測すること。
このトピックは私にとても興味があります!
編集 - この質問に貢献したすべての人から見つけられる素晴らしい情報源と豊富な情報。
特に: the_mandrill と Daniel Brückner から。
algorithm - 2 つのオーディオ シーケンス間の知覚的類似性
2 つのオーディオ間の何らかの距離測定値を取得したいと考えています。たとえば、動物の鳴き声と、その動物をまねた人間の鳴き声を比較して、その音がどれだけ似ているかのスコアを返したいとします。
難しい問題のようです。それにアプローチする最良の方法は何ですか?オーディオ信号からいくつかの特徴を抽出し、それらの特徴に対してユークリッド距離またはコサイン類似度 (またはそのようなもの) を実行することを考えていました。抽出が容易で、音の知覚上の違いを判断するのに役立つのはどのような特徴でしょうか?
(どこかで Shazam がハッシュを使用しているのを見ましたが、それは別の問題です。なぜなら、比較されている 2 つのオーディオは基本的に同じですが、一方にはより多くのノイズがあるからです。ここでは、2 つのオーディオは同じではなく、単に知覚的に違います。似ている。)
audio - オープン ソース FSK デコーダー ライブラリ?
発信者 ID などの wav ファイルで FSK をデコードするためのライブラリまたはツールを探しています。
現在、debian/ubuntu から入手できる Voicetronix ハードウェア用の vpb-driver にバンドルされているツールを使用しています。しかし、これにはデバッグしようとしているエラーがあるようです。オーディオ ファイルを検証するための 2 つ目のツールが役立ちます。
モデムやその他のハードウェア デバイスから発信者 ID データを読み取る無数のツールを探しているわけではありません。純粋なソフトウェアが必要です。
c# - 音声をテキストに変換
オーディオファイルを取得して解析し、そこからテキストを抽出できるビルドインライブラリまたはJavaまたはC#の外部ライブラリがあるかどうかを知りたいだけです。
申請する必要がありますが、どこから始めればいいのかわかりません。
python - Pythonで再生中に曲のbpmを変更する
誰かの心拍数に合わせて曲を調整する方法を探しています。mp3 または wav 形式の曲があり、再生中に速度を上げたいと考えています。またはループで再生し、各ループ間で加速または減速します。理想的には、それは python になります。それを行う方法を知っていますか?
よろしくお願いします。
ブシエール
iphone - コアオーディオを使用した後処理ローパスフィルターの実装
時間ベースの値を使用して、基本的なローパスフィルターを実装しました。これは問題ありませんが、正しいタイムスライスを見つけようとするのは推測作業であり、さまざまな入力オーディオファイルに基づいてさまざまな結果が得られます。これが私が今持っているものです:
このコードを特定のdBレベルで特定のHz以上の周波数をカットできるコードに変換するにはどうすればよいですか?
c++ - オーディオ サンプル バッファーのボリューム ゲインを変更する
音声データでバッファのボリュームを増やしたい。ポイントは、私は DirectSound を使用しており、1 つのプライマリ バッファーと 1 つのセカンダリ バッファーを持っているということです。すべてのストリームのミキシングは手動で行われます。ボイス チャットでは、すべての参加者が個別の音量レベルを持つことができます。各ストリーム データに値を掛けて (ゲイン)、1 つのバッファーに合計します。すべて正常に動作しますが、データに 1.0f より大きい値を掛けようとすると、クリッピングなどの音が聞こえます。
Audacity エフェクト コンプレッサーを使用してみましたが、これは奇妙なノイズを減らすのに役立ちません。
おそらく、他の方法でゲインを変更する必要がありますか?それとも、別の後処理アルゴリズムを使用しますか?
更新: うわー、私は興味深いことを発見しました! 音量を上げる前とその直後にオーディオをダンプしました。
これが写真です
品質については申し訳ありません-それがサウンドの表示方法だと思います(私は自分で赤い線を引きました)。値がサンプル データ型を超えているように見えます。しかし、私はなぜ理解できませんか?私のサンプルバッファは BYTE ですが、短いポインタを介してのみアクセスします。署名されていますが、*ptr が約 15 ~ 20,000 の場合でもクリッピングが発生します。
ruby - Rubyのギターチューナー
リアルタイムのオーディオ機能を使ったことがありません。ギターチューナーのようなものを作成できるルビーライブラリがあるかどうか知りたいです。