タグ付けされた質問 「audio」

オーディオ、または信号処理の観点から見ると、オーディオ信号は、通常は電圧としての、音声のアナログまたはデジタル表現です。

1
LFOを使用してオシレーターピッチを変調するアルゴリズムのヘルプ
アナログシンセサイザーのソフトウェアエミュレーションを開発しています。LFOを使用してオシレーターのピッチを変調しようとしています。コンピューターのサウンドシステムに供給される各サンプルについて、メインオシレーターに入力する周波数を次のように計算しています(擬似コード)。 osc_frequency = note_frequency * (1 + tuning) * (1 + lfo_y * lfo_mod_depth) このステートメントの変数は次のとおりです。 note_frequency =再生する音の周波数(Hz) チューニング=オシレーターの再生ピッチのパーセントでの微調整(例:-0.02 = 2%離調) lfo_y = lfo波形の現在のy値(範囲は-1から1) lfo_mod_depth =オシレーターに適用する効果の深さ/強度(パーセント) ただし、この計算では望ましい結果は得られません。中心周波数を中心にロックされたピッチが上下に変化するのが聞こえると思います(演奏中のノート)。私が得ているのは、ピッチを「逃がす」モジュレーションエフェクトです。何が起こっているのか正確にはわかりませんが、次のように聞こえます。 変調強度は時間とともに増加します(変調が到達する高/低周波数マークは、ノートが長く保持されるほど高く/低くなります) 変調強度は時間とともに一定のままですが、中心周波数は増加しますが、変調はその周囲で振動します 私は正しいアプローチを使用していますか?そうでない場合、正しいアプローチはどうあるべきですか?これでどんな助けでも大歓迎です。

4
周波数範囲の「変動性」を判断する方法は?
これは前の質問の続きです。 私は呼吸といびきの音を分析しようとしています。今はいびきをかなりうまく検出できていますが、呼吸はより大きな課題です。 分析した周波数範囲(約4KHz、フレームサイズ1024で約8KHzでサンプリング)を約5つのサブレンジに分割すると、サブレンジの1つが(スペクトル差を使用して)良好な感度を示すことがよくあります。全体の範囲でノイズ。秘訣は、どの部分範囲をいつ「信頼」するかを決定することです。 おそらく「信頼できる」サブレンジは約2Hzと0.05Hzの間のレートで変動性を示しますが、「悪い」サブレンジはよりランダムに振る舞い、それらの変動のほとんどは短い間隔です。 ある種のアルゴリズムを組み合わせて、1秒未満の解像度で値を平滑化し、より長い間隔で変動性を計算することもできますが、この種の「缶詰」アルゴリズムはないのでしょうか。その背後にある理論の小片? 助言がありますか? [注:理論的には、FFTを使用してこの情報を抽出できることは承知していますが、野球のバットを使ってノミを殺しているようです。多分もう少し軽量なものでしょうか?] 追加: ある意味で(類推を使用して)、RF送信で「ベースバンド」信号を検出しようとしています(「RF」のみがオーディオ周波数であり、「ベースバンド」は8Hz未満です)。そして、ある意味では、「RF」は「スペクトラム拡散」です。検出したい音は、多くの高調波を生成したり、複数の周波数成分を分離したりする傾向があるため、スペクトルの1つの帯域にノイズが多すぎると、おそらく別のものを利用してください。ほとんどの「ノイズ」が2Hzを超え、信号が2Hz未満であるという前提で、さまざまな周波数帯域のSNRに似たメトリックを基本的に決定することが目標です。 このアルゴリズムへの入力として、8Hz間隔で測定された各帯域の生の振幅(含まれるすべての周波数でのFFT振幅の合計)があります。 (私は正式なSNR測定を行っていませんが、処理されたスペクトル全体のSNRはしばしば1.0に近いかそれ以下に見えることに注意してください-Audacityなどのツールでサウンドエンベロープを視覚的に観察すると、エンベロープは目立ちます(耳が呼吸音を明確に識別できる場合でも)。このため、バンドを分析してSNRが適切なものを見つける必要があります。

4
複素共役とIFFT
スタックオーバーフローについて質問しました。 しかし、少し問題があります。Paul RIが示唆しているように、私の下位のビンを上位のn / 2ビンにミラーリングしています。n/2n/2n/2n/2n/2n/2 ただし、いくつか質問があります。 私はが2 f f t O r d e rですか?したがって、オーダー10のIFFTの場合、下位の512個の周波数ビンを上位の512にミラーリングしますか?これにより、最終的に1024の実際のサンプルも生成されますか?nnn2fftOrder2fftOrder2^{fftOrder} ミラーリングすると、これは、ビン0がビン、ビン1がビンn − 2にというように続くということですか?n−1n−1n - 1n−2n−2n - 2 サンプリング周波数の4分の1でなんらかの反射が発生しているようです。これは、私の周波数範囲の上半分が実際には下半分の上に表示されていることを意味します。なぜ誰かアイデアはありますか? ある大きさの512サンプルと別の大きさの次の512サンプルを取得するストライピング効果が発生する理由を誰かが知っていますか?(これは私の「ミラーリング」がどこから来ているのか) 今のところはそれでいいと思います。どんな助けも大いに役立つでしょう!! 編集:あなたに反射のイメージを与えることは、非常に見るのが難しいので十分に不可能です!基本的に私は22 kHzでサンプリングしていて、11 kHzを超えると「ノイズ」しか出ません。11 kHzを超えると(当然私は何か間違ったことをしているのですが)11 kHzから0に反射するように見えます。これは非常に奇妙です。 縞模様の画像はこちらでご覧いただけます 各ストライプは、512サンプル幅だと思います。

2
オーディオ分離のための非負行列因数分解-なぜ機能するのですか?
非負の行列因数分解は、行列を2つの行列の積に因数分解することを目的としています。ここで、は基底ベクトルのセットを表し、それらのアクティブ化または重みを表します。オーディオソース分離に適用される、はスペクトログラム(これは既知)であり、は非負の基本スペクトル、はそれらの時間的活性化です。VV\mathbf VV=WHV=WH\mathbf V = \mathbf W\mathbf HWW\mathbf WHH\mathbf HVV\mathbf VWW\mathbf WHH\mathbf H これは、スペクトログラムをさまざまな周波数ビンとその大きさの合計として表現できるように思えます-これは、さまざまなピッチをフィルタリングまたは分離するのに役立ちます(通常のバンドパスフィルターの役割を果たしていると思われますか?)。これが実際にピアノと歌手が同じまたは類似したピッチで歌うなど、実際にどのように分かれるかはわかりません。

2
高速ピッチ認識
ミュージシャンが音楽を再生しているときにピッチ(信号周波数の測定)を検出し、チューニングがずれている場合は警告を出す必要がありますが、音楽がFFT(高速フーリエ変換)には少し速すぎる場合があります。 以下に、問題の技術的な説明を記載します。 ミュージシャンは90〜140 bpmで音楽を演奏します。つまり、毎分90〜140のノートグループがあり、各グループには最大8(より頻繁には最大4)のノートがあります(60/140/8 = 0.0536秒、60/90/4 = 0.167秒)。つまり、ノートは毎秒6〜19のレートで変化する可能性があります。 音楽は対数スケールを使用します(添付の画像を参照)。たとえば、440Hzから880Hzまでの範囲は12の音符に分割され、そのうちの7つだけがメロディーに使用されます。(基本的に、ピアノの白いキーのみを使用します。開始周波数をシフトする場合、黒いキーの一部を使用し、白いキーの一部は使用しません。)つまり、次の各ノートの周波数が乗算されます。 2 ^(1/12)= 1.05946。 物事をより複雑にするために、A(La)周波数は438から446 Hzまで変化します。弦楽器は理論的にはチューニングできますが、管楽器は気温と湿度に依存するため、周波数はサウンドチェック中にミュージシャンによって再ネゴシエーションされます。 ミュージシャンやボーカリストは周波数に誤りを犯すことがあり、それを「調律外」と呼んでいます。彼らは、そのような「調整外エラー」を通知するデバイスを望んでいます。彼らはチューナーを持っていますが、チューナーは何かを見せ始める前に約1秒間同じサウンドを再生する必要があります。これはチューニングには有効ですが、音楽の再生中は機能しません。 ほとんどの場合、チューナーはFFTを実行しており、式 df=1/Tdf=1/Tdf = 1/T 1Hzの解像度を取得するために1秒間待機します。 A = 440Hzの場合、2つの音符間の周波数の差は440 * 0.05946 = 26.16 Hzです。その周波数分解能を得るには、0.038秒の取得時間を使用する必要があります。つまり、tempo = 196bpmでFFTは2つを区別できます。ノートは、98 bpmでピッチが変化するその瞬間に取得を開始する場合、50%の調整外エラーを通知できます。取得期間中にピッチの変更を許可すると、49 bpmになり、遅すぎます。さらに、周波数についてより正確であることが非常に望ましいです。たとえば、25%または12%の調整誤差を検出します。 FFTよりも優れた周波数(ピッチの検出)を測定する方法、つまり、より短い取得時間でより良い分解能で測定する方法はありますか?(少なくとも2倍、理想的には8〜16倍。)代わりに、異なるオクターブの音を区別する必要はありません。たとえば、440と880の両方がAとして認識される場合があります。FFTの線形性は必要ありません。出力、対数スケールの方が良いでしょう。(おそらく、より多くのトレードオフが可能ですが、今のところ、他に何も思い浮かびません。) これは本当に良い絵です:

6
電話の音声が8 kHzでサンプリングされるのはなぜですか?
いつ電話を試してみることにしましたか 888kHz?これは常にそうでしたか?なぜそれをしたのですか?それは、より高いビットレートを速く転送できないためですか?そして、これらの理由はまだカウントされますか?そうでない場合、なぜ新しい標準がないのですか?それは本当ですか888 kHzは、理解可能な音声を転送するための最低のサンプリングレートですか? 私はこれのソースを見つけようとしていますが、それについて多くの情報がないようです。
8 audio  sampling 

2
非常にうるさいオーディオからのノイズ低減
バードコールの録音でオーディオの一部を自動的にセグメント化するアルゴリズムを記述しようとしています。私の入力データは1分間のwaveファイルであり、出力では、さらに分析するために個別の呼び出しを取得したいと考えています。問題は、S / N比が環境条件とマイクの品質(モノラル、8 kHzサンプリング)の質が悪いためにかなりひどいことです。 ノイズ除去をさらに進める方法についてのアドバイスをいただければ幸いです。 これが私の入力の例です。ウェーブ形式で1分の音声録音:http : //goo.gl/16fG8P これは信号がどのように見えるかです: バンドパスフィルタリングでは、1500〜2500 Hzの範囲にあるものだけを維持していますが、状況は改善されますが、それでも期待からはほど遠いです。このスペクトルにはまだ多くのノイズが存在しています。 また、長期的な(32サンプル間隔を超える)平均エネルギーをプロットし、そこからいくつかのクリックを削除しました。結果は次のとおりです。 残りのすべてのノイズについて、開始検出アルゴリズムに非常に低いしきい値を設定して、最後の10秒間の鳥の鳴き声を選択する必要があります。問題は、そのような方法で微調整すると、次のレコーディングで誤検知が大量に発生する可能性があることです。 移動平均フィルターは、風雑音に少し役立ちます。他のアイデアは?「スペクトラルサブトラクション」を考えていましたが、鶏と卵の問題があるようです。ノイズのみの領域を見つけるには、オーディオをセグメント化し、オーディオをセグメント化して、ノイズを除去する必要があります。このアルゴリズムを含むライブラリや、疑似コードの実装を知っていますか?Methinks Audacityは、このような方法を使用してノイズを除去します。これは非常に効果的ですが、ノイズのみの領域をマークするのはユーザーに任されています。 私はPythonで書いており、それは無料のオープンソースプロジェクトです。 読んでくれてありがとう!

2
オーディオダイナミックレンジ圧縮の実装を支援する
JavaScriptでオーディオダイナミックレンジ圧縮を実装しようとしています(WebオーディオAPIを使用していません)。 サウンド技術者向けの記事は多く、高レベルのドキュメントもいくつかありますが、デジタルダイナミックレンジ圧縮を実際に実装するための参考資料は見つかりませんでした。 私が理解していることから、整流された信号の計算には少なくとも3つのステップがあります。 入力レベルの計算 信号に適用するゲインを計算する ゲインを適用する 私はオーディオをブロックで処理するので、1)は1つのブロックのRMSを計算することを考えていました 適切なリファレンスへのポインタはありますか?または、これを実装するために必要な手順を少し説明してくれる人はいますか?

1
1 / nオクターブスムージング
FFTで取得した周波数応答を考慮して、1 / nオクターブ平滑化を適用します。どのフィルターを使用する必要がありますか?たぶん誰かが良い参考文献(この件に関する論文や本)を指摘するかもしれません。
8 fft  audio  smoothing 


3
あるオーディオストリームを別のオーディオストリームから「差し引く」
私は長い間ソフトウェアエンジニアですが、信号/オーディオ処理の経験はほとんどありません。私は、オーディオコンポーネントの1つにあるユースケースを介して信号処理について学びたいと思っています。注:これは私にとって単なる学習課題です...最終結果が役立つことは優先事項ではありません。 (スピーカーを介して)オーディオを生成するコンポーネント(A)があります。別のコンポーネント(B)があり、そのオーディオを(単純なマイクを介して)記録します。 私がやりたいのは、Aを使用してBのオーディオを録音することです。次に、可能であれば、2つのストリームを比較します。目標は、ストリームAに存在していたオーディオを削除することです-録音中に存在していた周囲の条件を残します-完全に削除することは不可能だと理解しています。 フェーズとマグニチュードの問題があることを理解しています。また、AからBを「引く」という単純な問題ではないことも理解しています。つまり、私の仮定では、AからAを引くことができます。 問題への取り組み方を知りたい。繰り返しますが、これは私にとって学習経験です(締め切りはありません)。最初から始めようと思っています。 アドバイス/提案は大歓迎です。

1
スペクトル重心またはその他の手段による波形の着色
アップデート8 サービスにトラックをアップロードする必要があり、RekordBox 3の新しいリリースを見ることに不満があるオフラインのアプローチとより細かい解決策をもう一度検討することにしました:D まだ非常にアルファ状態にありますが、有望に聞こえます: ジョニック-グッドタイム 対数目盛もパレット調整もないことに注意してください。周波数からHSLへの生のマッピングのみです。 アイデア:波形レンダラーに、特定の位置の色を照会するカラープロバイダーが追加されました。上に表示されているものは、その位置の隣の1024サンプルのゼロ交差率を取得しています。 明らかに、堅牢なものになるまでにやるべきことがまだたくさんありますが、それは良い道のようです... RekordBox 3から: アップデート7 Update 3のように、私が採用する最後のフォーム (カラー間のスムーズな移行を実現するために少しPhotoshopされています) 結論は、私は数ヶ月前だったが、それが悪いと思ってその結果を考慮しなかったX) アップデート6 最近プロジェクトを発掘したので、ここで更新することを考えました:D 曲:シック-グッドタイムズ2001(ストーンブリッジクラブミックス) IMOの方がはるかに優れており、ビートは一定の色などを持ちますが、最適化されていません。 どうやって ? まだhttp://developer.echonest.com/docs/v4/_static/AnalyzeDocumentation.pdf(ページ6) 各セグメントについて: public static int GetSegmentColorFromTimbre(Segment[] segments, Segment segment) { var timbres = segment.Timbre; var avgLoudness = timbres[0]; var avgLoudnesses = segments.Select(s => s.Timbre[0]).ToArray(); double avgLoudnessNormalized = Normalize(avgLoudness, avgLoudnesses); …
8 fft  audio  color 

2
テレビ放送の高いオーディオ周波数
テレビ放送でハイエンドのオーディオ周波数、たとえば14 kHzより高い周波数が送信されるかどうか知りたい。テレビ放送の送信のカットオフ周波数はどのくらいですか? 私は、iPhone、Samsung Galaxies、さまざまなテレビなどのさまざまなデバイスのオーディオ周波数応答を特徴付けるレポート(研究用)を準備しています。これをしている間に、私はテレビのスペクトル出力に興味を持ちました。ブロードキャスト送信用のオーディオを考えると、スペクトルはどのように変更されますか?どのような周波数でカットオフがあり、特にカットオフは人間の可聴範囲である〜20Kを下回ることがありますか? おおむね私の興味は、放送チャンネルに与えられたオーディオがどうなるか、そしてそれがテレビへの入力として到着するまでに何が起こるかを知ることです。 ありがとう。
7 audio 

1
音声と音楽の変化を検出する
音声部分と音楽部分の両方を含むオーディオファイルがたくさんあります(ラジオなど)。たとえば、特定のファイルは次のセクションで構成される場合があります。 music --- speech --- music --- speech --- music --- speech --- music 私の目標は、ファイルが音楽と音声の間でいつ変更されるかを検出し、音声部分だけを残して音楽部分を切り取ることです。ただし、音声と音楽を区別するためにどのような方法を使用するかはわかりません。テンポを検出することを検討していましたが、一部の音楽が非常に遅いか、テンポが変化しています。 (私たちがそれをしている間、私が自分で書く必要がないように、音声と音楽を区別できる既存のソフトウェアライブラリはありますか?)

1
オーディオ信号処理の前提条件
私はオンラインでDSPコースを開始し、信号処理のより高度な数学を回避することが可能であると言う人がいるのと同じように、これはそうではなかったとすぐに気付きました。 微積分と確率理論のしっかりとした理解が主題を適切に把握し、オーディオ分野でそれを使って創造的になることができるように必要であるようです。 微積分のどの部分が主にdspに使用されますか?除外できる部品はありますか?
7 audio 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.