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

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


3
自分の声を他の人に見せます
Sooo ..私はこのようなことを考えてきました。私たちは皆、私たちが自分の声で聞いているものとは異なる音であることを知っています。自分を録音して聞くことで、他の人が私たちをどのように聞いているかを簡単に見つけることができます。 しかし、他の方法はどうですか? 自分の声を知覚するときに他の人が私たちの声を聞くことができるように、私たちの声を変える方法はありますか?とても興味深い質問だと思います。悲しいことに、Googleで数回検索した後、ウェブ上で何も見つかりませんでした。誰もこれについて考えたことがありませんか、または私が見ていない何らかの理由で不可能ですか? これに関する任意のリードをいただければ幸いです:)。

4
音声アクティビティ検出用のライブラリ(音声認識ではない)
前回の質問のフォローアップとして、音声検出ライブラリが存在するかどうか疑問に思っていました。音声検出とは、音声バッファを渡し、音声の開始と停止のインデックスを取得することを意味します。したがって、44kHzで10秒間のオーディオサンプリングがある場合、次のような数値の配列が期待されます。 44000 88000 123000 190334 ... これは、たとえば、スピーチが1秒で始まり、2秒で終わることなどを示します。 私が探していないのは、話し言葉からテキストを書き出す音声認識です。残念ながら、これは「音声検出」をグーグルで検索したときによく見られるものです。 ライブラリがC、C ++、またはObjective-Cで作成されていれば、iPhone用のアプリを作成しているので素晴らしいことです。 ありがとう!
18 audio  speech 

3
人間の音声ノイズフィルター
誰もが非音声を減衰させるフィルターを知っていますか?私は音声認識ソフトウェアを書いていますが、人間の音声以外はすべて除外したいと思います。これには、バックグラウンドノイズ、くだらないマイクによって生成されるノイズ、またはバックグラウンドミュージックも含まれます。パワースペクトルの6 dBロールオフを補正する1次フィルターを既に実装していますが、ノイズが聞こえます(ただし、音声はずっと明瞭に聞こえます)。ローパスフィルターを使用することを考えましたが、次の2つの理由でそれを行うのは不安です。 ローパスプレフィルターが残りの音声処理に干渉するかどうかはわかりません。人間の耳は20 kHz未満の音しか検出できませんが、音声の処理に必要な高次の高調波を除去するリスクはありません(これが事実かどうかはわかりませんが。私はチャンスを取りたくない)。 特定の子音(f、h、sなど)の励起は、ほぼ完全にホワイトノイズであることを理解しています。いわば、良いノイズを除去するノイズフィルターを実装したくありません。 理想的には、マイクに向かって話している人のスピーチだけを残したいと思います。あなたが何かアイデアを持っているか、私が見逃している何かがある場合、私に知らせてください。大変感謝いたします!

1
FFTスペクトルを使用して類似の音楽を見つける
さまざまなジャンルの音楽を含むライブラリ内の類似の曲を一致/検索する方法を見つけるために、数週間実験してきました。 私の最初の試みは、テンポなどの機能または曲に含まれるベースの数を検出してグループを形成することでしたが、歌のビートの約20%をカウントする必要がないため、このアプローチ(ボリューム変更ベースのビート検出)にはあまり行きませんでした常に、時にはそれらの1/2または1/3であり、私はそれを実装できませんでした。 数週間失敗した後、私はこの投稿で後述する新しいアイデアを得ました。簡単に言うと、ファイルのスペクトルサンプルを取得して、ファイルの「平均スペクトル」のようなものを作成して比較します。背後にあるアイデアは、たとえば、Hardstyleには通常のロックミュージックよりもはるかに多くのベースがあるということでした。また、Audacityのいくつかのスペクトラムを見て、これを確認しました。 ファイル1:完全なファイルFFTスペクトルの取得(2048サンプルサイズatm、振幅ログ、スケーリング) すべてのスペクトル配列を合計し、各ビンの平均を取る 同じいくつかの他のファイルを実行し、すべての結果を保存します ファイル1と他のファイル間のFFT値の差異リストを作成する ファイル1とファイルXの差を平均化する これらの平均で昇順で並べ替え 「差異値」が最も低い曲は類似していると見なされます。 これが私のアイデアを実装するための正しい/良い方法であるかどうか、良い知識を持っているあなたの一部は私に言うことができますか?
16 audio  fft  music 

2
ステレオ音声信号からボーカル部分を抽出する方法は?
現在MP3ファイルを処理していますが、この問題が発生します。私のMP3はステレオでエンコードされています。私がやりたいのは、さらに処理するためにボーカル部分を抽出することです(出力信号のモードがモノでもステレオでも問題ありません)。 私の知る限り、オーディオはMP3の異なる独立したサブ周波数帯域にエンコードされます。カットオフ周波数を適切に設定したハイパス/ローパスフィルターを使用して、ボーカル範囲に信号を制限できると思います。ただし、この場合、結果には純粋な音楽信号の一部が含まれている必要があります。またはグーグルの後、最初にバックグラウンド信号を計算するかもしれません(ボーカル部分が位相キャンセルと呼ばれるステレオオーディオの中心にあると仮定して、1つのチャンネルを他のチャンネルからの信号に追加することによって反転します)。この変換後、信号はモノになります。次に、元のステレオをモノラルにマージして、そこから背景信号を抽出します。 有効性を考えると、どちらが好まれますか(または他のソリューション:)?2番目のチャネルの場合、2つのチャネルAとBを使用して、バックグラウンドを計算するときに(BA)または(AB)を使用しますか?2つのチャネルをマージする場合と同様に、算術平均は十分に正確ですか?または、各チャネルを2倍にダウンサンプリングし、ダウンサンプリングされた信号をモノラルの結果としてインターリーブできますか? よろしくお願いします。

4
FFTでより低い周波数が強い?
マイク入力からFFTを計算しています。低い周波数は常に高い周波数よりもパワーが大きい(dBが高い)ように見えることに気付きます。 データを24576バイト(4096 * 6)のフレームにカットしました。 ハミングウィンドウの適用: input[i] *= (0.54d - 0.46d*(double) Math.Cos((2d*Math.PI*i)/fs)); FFTWを通してそれを実行しますProcess1D()。 複素数から変換する: output[i] = 10.0 * Math.Log10((fout[i * 2] * fout[i * 2]) + (fout[i * 2 + 1] * fout[i * 2 + 1])); 6つの値を平均して、4096バイトの完全なFFTを取得します。 きれいな絵(パレットにマッピングされた色)を塗ります。 平均化(pt。5)は、FFTノイズを低減するために行われます。 画像は、音とマイクをオフにした状態で表示されるため、低周波数ではより多くのエネルギー(およびノイズ)が発生します。これは、マイク/サブの問題だけではないことを示しています。 私の質問: 1.これは予想されますか?どうして? 2.これを修正する標準的な方法はありますか?いくつかのMath.Tan()マジックが、それが属する場所を持ち上げることができるように見えます。 私の目標は、デフォルトで低い周波数が勝つことなく、上位5つの周波数を識別できるようにすることです。
15 audio  fft 

4
音分類のための特徴抽出
サウンドファイルから機能を抽出し、サウンドを特定のカテゴリ(犬の樹皮、車両エンジンなど)に属するものとして分類しようとしています。次のことについて明確にしたい: 1)これはまったく実行可能ですか?音声を認識し、さまざまな種類の犬の樹皮を区別できるプログラムがあります。しかし、音のサンプルを受け取り、それがどんな音なのかを言うことができるプログラムを持つことは可能ですか?(参照する多くのサウンドサンプルを含むデータベースがあると仮定します)。入力音のサンプルは、少しノイズが多い場合があります(マイク入力)。 2)最初のステップは音声特徴抽出だと思います。この記事では、MFCCを抽出し、それらを機械学習アルゴリズムに供給することを提案します。MFCCで十分ですか?一般的に音の分類に使用される他の機能はありますか? お時間をいただきありがとうございます。

1
RMSでトラックのラウドネスを取得する
バッファーに保存したオーディオトラックの音量を計算しようとしています。バッファーには、信号のPCMデータが含まれています。ルート平均二乗を使用して、それがどれほど「大きい」のかを知りたいです。周波数ドメインに切り替える代わりに、時間ドメインでこれを行うことができると思います。これを行うための擬似コードは何でしょうか? 単純に1秒間サンプリングし(audio [0]-audio [44099]、audio [44099]-audio [88199]など)、それらの値のRMSを計算しますか?したがって、たとえば、私はこれをしますか: R MS= オーディオ[ 0 ]2+ オーディオ[ 1 ]2+ オーディオ[ 2 ]2。。。。。オーディオ[ 44099 ]244100−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−√RMS=オーディオ[0]2+オーディオ[1]2+オーディオ[2]2。。。。。オーディオ[44099]244100RMS = \sqrt{\frac{\text{audio}[0]^2 + \text{audio}[1]^2 + \text{audio}[2]^2.....\text{audio}[44099]^2}{44100}} 毎秒?

2
笑いはいつ始まりますか?
私の週末のプロジェクトの1つは、信号処理の深海に連れて行ってくれました。いくつかの強力な数学を必要とするすべてのコードプロジェクトと同様に、理論的な根拠がないにも関わらず、解決策に手を加えたいと思っていますが、この場合は何もありません。つまり、テレビ番組中にライブの視聴者が笑うタイミングを正確に把握しようとしています。 私は笑いを検出するための機械学習アプローチを読むのにかなりの時間を費やしましたが、それは個々の笑いを検出することと関係があることに気付きました。一度に笑う200人は、音響特性が大きく異なります。私の直感では、ニューラルネットワークよりもはるかに粗雑な手法で区別できるはずです。私は完全に間違っているかもしれません!問題についての考えをいただければ幸いです。 これまでに試したことは次のとおりです。最近のサタデーナイトライブのエピソードから5分の抜粋を2秒のクリップに切り取りました。次に、これらの「笑い」または「笑いなし」とラベルを付けました。LibrosaのMFCC機能抽出ツールを使用して、データに対してK-Meansクラスタリングを実行しました。2つのクラスターがラベルに非常にきれいにマッピングされました。しかし、より長いファイルを反復処理しようとしたとき、予測には意味がありませんでした。 これから試すこと:これらの笑いのクリップを作成することについて、より正確になります。ブラインドスプリットアンドソートを行うのではなく、手動で抽出して、ダイアログが信号を汚染しないようにします。次に、それらを1/4秒のクリップに分割し、これらのMFCCを計算し、それらを使用してSVMをトレーニングします。 この時点での私の質問: これは理にかなっていますか? ここで統計が役立ちますか?私はAudacityのスペクトログラムビューモードでスクロールしてきましたが、笑いが発生する場所をかなりはっきりと見ることができます。対数パワースペクトログラムでは、スピーチは非常に特徴的な「溝」のように見えます。対照的に、笑いは、ほぼ正規分布のように、周波数の広いスペクトルを非常に均等にカバーします。拍手で表されるより限定された頻度のセットによって、拍手と笑いを視覚的に区別することさえ可能です。これにより、標準偏差を考えることができます。コルモゴロフ–スミルノフ検定と呼ばれるものがありますが、ここで役立つかもしれません。 (上の画像では、45%のところでオレンジ色の壁がヒットしているように笑い声を見ることができます。) 線形スペクトログラムは、笑いが低周波数でよりエネルギッシュであり、高周波数に向かってフェードアウトすることを示しているようです-これはピンクノイズとしての資格があることを意味しますか?もしそうなら、それは問題の足がかりになりますか? 専門用語を誤用した場合は謝罪します。この用語についてはウィキペディアにかなり載っていますが、ごちゃごちゃになったとしても驚かないでしょう。

4
人間に近い精度でリアルタイムにオーディオ信号の周波数成分を抽出する最も効率的な方法
私はFFTのような方法で任意のオーディオサンプル(通常は音楽)の周波数成分を抽出する方法を(可能であれば)解決しようとしていますが、FFTアルゴリズムの研究では、いくつかの問題があることを学んでいますこの目的のための厳しい制限。 FFTが提示する3つの問題があります。 FFTビン解像度はウィンドウサイズと同等であるため、かなり妥当な精度(1 Hzなど)を達成するには、不当に長いウィンドウ(1秒など)が必要です。これは、トランジェントまたは新しく導入された周波数をすばやく検出できないことを意味します。また、より高速なCPUとより高いサンプルレートでは問題を解決できないことを意味します。制限は本質的に時間に関係しています。 人間は周波数を対数的に知覚しますが、FFTビンは直線的に間隔が空けられます。例えば私たちの公聴会のローエンドでは20Hzの違いがある巨大なハイエンドでは20Hzの差が知覚できないのに対し、。したがって、低周波数で必要な精度を得るには、高周波数で必要なものよりもはるかに多くを計算する必要があります。 これらの問題の一部は、FFTビン間を補間することで解決できます。これは、多くの音楽オーディオで機能する場合があります。これは、周波数が非常に離れていることが多く、1つの周波数しかビンのペアに漏れないためです。しかし、特にパーカッシブな楽器のような不協和音の場合、これは必ずしも当てはまりません。したがって、補間は実際には単なる当て推量です。 DFT / FFTアルゴリズムの理解から、出力(ビンの振幅)は事実上、各ビンの周波数でのサイン/コサインの相関です。ビンの周波数が非線形に間隔を空けるようにアルゴリズムを再設計できると(つまり、異なるサイン/コサインのセットを相関させると)、すべての周波数で音響心理学的に等しい解像度を達成できると思います。これは可能ですか、それとも関係する数学の私の不完全な理解に基づく空想ですか? 興味のあるすべての周波数でサイン/コサインを相関させることで、ブルートフォースで問題を解決することもできたと思います。これは可能ですか?どのような効率ですか?問題は解決しますか? 信号のより正確でリアルタイムの周波数分解を実現する別の方法はありますか?CPUの効率は懸念事項ですが、大きな懸念事項ではありません-理論的にはまったく実行できるかどうかに部分的に興味があります。ただし、最新のデスクトップマシンでリアルタイムで実行可能なものが理想的です。

4
Scipy-オーディオ処理
オーディオ信号処理に適したツールを探しています。例:音声と音楽の分析、自動言語識別など。 Scipyライブラリはオーディオ処理のための機能を提供しますか?オーディオ信号処理に適したツールはありますか? このためのツールを提案していただけますか?

2
最短のインパルス応答が得られるバンドパスフィルターの設計
中心周波数が500 Hz、帯域幅が1オクターブの単純な2次IIRバンドパスバターワースフィルターを設計すると、次の周波数応答が得られます... ここで、インパルス応答を取得して正規化し、dBに変換すると、インパルス応答の減衰が観察できます。 インパルス応答の減衰は、このスケールでプロットした場合、時間に対してほぼ線形であり、減衰時間の統計を定義できます(リバーブ時間を定義できる室内音響のように)。このフィルターのインパルス応答が30 dBを下回るには、約11 msかかります。 この減衰時間を最小限に抑えて、次の定数を維持しようとしています。 -3 dBの帯域幅 フィルター次数 通過帯域と阻止帯域のリップルを(制限内で)受け入れ、および/またはこれを達成するための遷移帯域の急峻性の妥協点を受け入れます。上記で定義した最短インパルス応答時間でフィルタリングする方法を提案できる人はいますか?

5
音声のみの録音で歌が始まる場所を特定する
ユーザーが4行の歌を歌う小さなカラオケスタイルのアプリがあり、各行の間に1秒のギャップがあります。バッキングミュージックはないので、音声のみで、問題を解決しやすくすることを願っています。 私は、録音のどこでユーザーが1行目の歌唱を開始および終了し、2行目の歌唱を開始および終了するかを正確に検出する最も堅牢な方法を探しています。 私は、録音中にバックグラウンドノイズがほとんどない場合(それが発生する場合など)に機能する単純なアルゴリズムを組み合わせましたが、最小のノイズが存在する場合はバラバラになります。 誰かが私をもっと堅牢なものに向けることができますか?

2
オーディオシステムからエコーを識別して除去するには、どのような方法を使用できますか?
バックグラウンド 電話の種類の設定で使用する単一の小さなマイクとスピーカーを持つシステムを設計しています。最も簡単な例は、コンピューターのスピーカーとデスクトップマイクを使用しているSkypeの会話です。 スピーカーからの音声がマイクに拾われて元の人に返送されるのが心配です。VoIP会話の初期の頃は、これが常に発生するのを聞いていましたが、それ以上聞こえることはほとんどありませんでした。 私の想定では、グループはエコーをキャンセルする方法を考え出していますが、どのようにそれを行うのでしょうか? アプローチ 私が最初に考えたのは、マイク信号からスピーカーに送信される信号を単純に差し引くことでした。ただし、この方法では遅延に注意する必要があります。何らかの事前キャリブレーションなしで遅延が何であるかを判断する方法がわかりませんが、これは避けたいと思います。また、信号を減算する前に信号をどれだけスケーリングするかという問題もあります。 次に、マイク信号がエコーである可能性を判断し、実際の遅延を判断できるようにするために、スピーカー信号とマイク信号の間で何らかの相関を行うことを考えました。この方法は、記録された信号で遊んでいたときは問題なく動作しましたが、リアルタイムシステムで役立つ相関を計算する際の遅延は非常に長いと思われました。また、スピーカーの音量を調整できるため、実際に何かが相関しているかどうかを判断することが困難でした。 私の次の考えは、インターネット上でこれまでに成功した人がいるに違いないと思いますが、素晴らしい例は見つかりませんでした。そこで、この種の問題を解決するために使用できる方法を確認するためにここに来ました。
14 audio 

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