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

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

1
ノイズでのトーンバーストの開始時間の推定
ノイズの多い信号で正弦波トーンバーストの開始時間を推定するために、どのような手法を使用できますか? トーンバーストは既知の固定周波数(ただし未知の位相)と非常に鋭い立ち上がり時間を持ち、目標は立ち上がり時間の半分、および/またはトーンの周波数の1周期以内で開始時間を推定することです、 可能なら。S / N比が非常に低い(1未満)場合、推定手法はどのように変化しますか? 追加:トーンバーストの長さは不明ですが、立ち上がり時間と周波数周期の小さな倍数よりも長いと仮定します。 追加:DFT / FFTは、トーンの存在の可能性が非常に高いことを示しています。問題は、FFTウィンドウ内のトーン(またはおそらく同じ周波数の複数のトーンバースト)がFFTウィンドウ内で開始した場所を正確に把握すること、または現在のトーンがそのDFTウィンドウ外で開始したかどうかを判断することです。追加の時間領域データ。 レーダーパルスの検出精度は、トーンの長さが不明であり、既知の立ち上がり時間以外は変調されていないため、エッジのみがあることを除いて、必要な解像度に近くなります。狭帯域パスフィルターは立ち上がり時間を歪め、したがってエッジ到着推定の解像度を低下させます。

2
オーディオ信号処理初心者向けの学習ロードマップ
オーディオ信号処理の学習を開始したいと思います。オンラインの多数の書籍や学術論文があり、そのすべてがトピックの基本をスキップしているようです。 音声信号処理をうまく学習するために、大まかなロードマップを知りたいのです。 信号解析を開始する前に、微積分が最初のステップであることを読みました。 オーディオ信号解析は、必要な知識全体の一部に過ぎないように感じます。他のトピックは、音楽理論、オーディオエンジニアリング、プログラミングです。 この分野の知識を持つ人々に、オーディオ信号の分析と操作/作成の方法を理解するための可能な手順を提案するようお願いする場合があります。
13 audio 

3
2台のコンピューター間で音声でデータを送信します(非常に近い距離)
私は、2台のコンピューター間でサウンドを介してデータを送信する例を作成しています。いくつかの要件: 距離が非常に近い。つまり、2台のコンピューターは基本的に互いに隣接している ノイズが非常に少ない(先生がノイズソースとしてロックソングをオンにするとは思わない) エラーは許容されます。たとえば、「無線通信」を送信した場合、他のコンピューターが「RadiQ通信」を受信した場合も同様に問題ありません。 可能であれば:ヘッダー、フラグ、チェックサムなどはありません。サウンドを介してデータを送信する基本を示す非常に基本的な例が必要なためです。派手になる必要はありません。 このリンクに従って、オーディオ周波数シフトキーイングを使用してみました。 ラボ5 APRS(自動パッケージレポートシステム) そしていくつかの結果を得ました: 私のGithubページ しかし、それだけでは十分ではありません。クロックリカバリ、同期の方法がわかりません...(リンクにはタイミングリカバリメカニズムとしてフェーズロックループがありますが、明らかに十分ではありませんでした)。 だから私はもっと簡単なアプローチを見つけるべきだと思う。ここにリンクを見つけました: データを音声に変換して戻します。ソースコードによる変調/復調 しかし、OPは回答で提案されたメソッドを実装していなかったため、非常に複雑になる可能性があります。また、私は答えで提案されているデコード方法を明確に理解していません: デコーダはもう少し複雑ですが、概要は次のとおりです。 必要に応じて、サンプリングされた信号を11Khz付近でバンドパスフィルターします。これにより、ノイズの多い環境でパフォーマンスが向上します。FIRフィルターは非常にシンプルで、フィルターを生成するオンラインデザインアプレットがいくつかあります。 信号をしきい値処理します。最大振幅の1/2を超える値はすべて1で、以下の値はすべて0です。これは、信号全体をサンプリングしたことを前提としています。これがリアルタイムの場合は、固定のしきい値を選択するか、一定の時間にわたって最大信号レベルを追跡する何らかの自動ゲイン制御を行います。 ドットまたはダッシュの開始をスキャンします。サンプルをドットと見なすために、ドット期間に少なくとも一定数の1を表示することをお勧めします。次に、スキャンを続けて、これがダッシュかどうかを確認します。完全な信号を期待しないでください。1の真ん中にいくつかの0が表示され、0の真ん中にいくつかの1が表示されます。ノイズがほとんどない場合、「オン」期間と「オフ」期間を区別するのはかなり簡単です。 次に、上記のプロセスを逆にします。ダッシュが1ビットをバッファにプッシュする場合、ドットが0をプッシュする場合。 ドットとして分類する前に1がいくつあるのかわかりません。そのため、今のところわからないことがたくさんあります。プロセスを理解できるように、音声でデータを送信する簡単な方法を提案してください。どうもありがとうございました :) 更新: (ある程度)動作しているように見えるMatlabコードをいくつか作成しました。まず、振幅シフトキーイング(サンプリング周波数48000 Hz、F_on = 5000 Hz、ビットレート= 10ビット/秒)を使用して信号を変調し、次にヘッダーと終了シーケンスを追加します(もちろん変調もします)。ヘッダーと終了シーケンスはアドホックベースで選択されました(そう、ハックでした)。 header = [0 0 1 0 1 1 1 1 1 0 0 0 0 0 0 1 1 0 0 0 …
12 audio  modulation  sound  fsk 

2
奇数/偶数高調波を信号に追加しますか?
浮動小数点信号に奇数または偶数の高調波を追加するにはどうすればよいですか? tanhまたはsinを使用する必要がありますか? 私がやろうとしていることは、いくつかの非常に単純な歪み効果を達成することですが、正確な参照を見つけるのに苦労しています。私が望んでいるのは、五極管と三極管の設定に奇数と偶数の倍音を追加することで、Culture Vultureが行うことと似ています。フロート値は、サンプルフロー内の単一のサンプルです。

1
音声が人間の音声にどの程度似ているかを判断する
この問題への答えを探している間、このボードが見つけたので、この質問を Stack Overflowからクロスポストすることにしました。 私は、音声セグメントと人間の声の類似性を判定する方法を探しています。これは数値で表現されています。 私はかなり検索しましたが、私がこれまでに見つけたもの(詳細は下記)は、私が必要とするものに実際には合いません。 1つの方法は、音声認識ソフトウェアを使用して音声セグメントから単語を取得することです。ただし、この方法では、人間の発話に対する「類似した」音声を思い付くことができません。多くの場合、音声に単語があるかどうかを判断できますが、明確な単語がない場合、音声がそのような単語を持っていることを近くに伝えることはできません。例:CMU Sphinx、Dragonfly、SHoUT より有望な方法は、音声アクティビティ検出(VAD)と呼ばれます。ただし、これには同じ問題がある傾向があります。VADを使用するアルゴリズム/プログラムは、アクティビティのしきい値に達したかどうかを返すだけで、そのようなしきい値の前後に「類似性」値はありません。あるいは、多くの人は人間の音声との類似性ではなく、音量だけを探します。例:Speex、Listener、FreeSWITCH 何か案は?

4
FFTを使用した自己相関の効率的な計算
私が利用できる唯一の加速プリミティブが(I)FFTであるプラットフォームで自己相関を計算しようとしています。でも問題があります。 MATLABでプロトタイプを作成しました。しかし、私は少し混乱しています。私はそれが次のように単純に機能すると仮定しました(これはメモリからのものですので、少し間違っている場合はおologiesびします)。 autocorr = ifft( complex( abs( fft( inputData ) ), 0 ) ) ただし、xcorr関数を使用した場合とは異なる結果が得られます。今、私は完全に自己相関の左側を取得しないことを期待しています(それは右側の反映であり、したがってとにかく必要ないため)。ただし、問題は、右側が中間点の周りに反映されているように見えることです。これは事実上、私が期待しているデータの約半分の量を取得することを意味しています。 だから私は非常に単純な間違ったことをしなければならないと確信していますが、私は何を理解できないのです。

2
ノイズの多い.wavファイルでドラムbpmを検出する
次の問題を解決するためのアルゴリズムを探しています:ノイズの多い.wavサウンドキャプチャ(マイクの風+摩擦音)がある場合、ソフトドラムビートのBPMを検出する方法は? 対象をグーグルで検索しようとしましたが、分析と指紋ID生成の両方のためのmp3関連ソフトウェアが大量にあるため、結果はかなり貧弱です。それらのどれも実際にそれを行う方法に関する情報を提供しません。 ノイズを除去するアルゴリズムは知っていますが、それでもBPMを検出する問題が残ります。また、BPMの問題の解決方法によっては、ノイズを除去する必要さえない可能性があります(ドラムは低周波数になり、ノイズは高周波数になる傾向があるため、単純なローパスで十分な前処理が可能です)。

2
感情的なコンテンツを削除するために、音声をパラメトリックに劣化させます
RまたはMatlabで提案を受け入れますが、以下に示すコードはRのみです。 以下に添付されている音声ファイルは、2人の間の短い会話です。私の目標は、感情的な内容が認識できなくなるように、彼らのスピーチを歪めることです。難点は、この歪みのために1〜5のパラメトリックスペースが必要なことです。1〜5は「非常に認識可能な感情」、5は「認識できない感情」です。Rでそれを達成するために使用できると思った3つの方法があります。 ここから「ハッピー」オーディオウェーブをダウンロードします。 ここから「怒っている」オーディオウェーブをダウンロードします。 最初のアプローチは、ノイズを導入して全体的な明瞭度を低下させることでした。このソリューションを以下に示します(彼の提案に対して@ carl-witthoftに感謝します)。これにより、音声の明瞭度と感情的な内容の両方が低下しますが、非常に「汚い」アプローチです-パラメトリック空間を取得するのが正しいことは困難です。 require(seewave) require(tuneR) require(signal) h <- readWave("happy.wav") h <- cutw(h.norm,f=44100,from=0,to=2)#cut down to 2 sec n <- noisew(d=2,f=44100)#create 2-second white noise h.n <- h + n #combine audio wave with noise oscillo(h.n,f=44100)#visualize wave with noise(black) par(new=T) oscillo(h,f=44100,colwave=2)#visualize original wave(red) 2番目のアプローチは、特定の周波数帯域でのみ音声を歪めるために、何らかの方法でノイズを調整することです。元のオーディオ波から振幅エンベロープを抽出し、このエンベロープからノイズを生成してから、オーディオウェーブにノイズを再適用することでそれができると考えました。以下のコードはその方法を示しています。ノイズ自体とは異なる何かをし、音が割れますが、同じポイントに戻ります-ここでノイズの振幅を変更することしかできません。 n.env <- setenv(n, h,f=44100)#set envelope of …
12 matlab  audio  noise 

2
相互の誘導があるセンサー出力の減算
背景:信号の分析に使用するソフトウェアはmatlabです。2つの磁気センサーを使用して録音された2つのオーディオ信号があります。1つのセンサーをA、もう1つのセンサーをBと呼びましょう。AとBは相互インダクタンスを持っています。 センサーAとBが動作している間、センサーBからの相互インダクタンスのためにセンサーAで受信した情報を減算したいと思います。 matlab(AB)に書き込むだけで、信号Aから信号Bを減算しようとしましたが、奇妙な答えが返ってきました。それは、私が同相にあるシフトから派生していると思います。2つのトラックの開始録音時間は同じであるため、時間遅延ではないと思います。 私はこの減算プロセスを理論的にどのように行うかを知りたいのですが、matlabでそれを簡単に実装する方法があれば教えてください。 私は本当に助けに感謝します。 前もって感謝します。 以下に、信号グラフの写真を添付し​​ました。最初の写真では、センサーAとセンサーBから受信した信号を見ることができます。2番目の写真では、センサーAを赤で、センサーBを青で2.12:2.16の範囲でプロットし、さらにズームインしました。
12 audio 

1
曲内の数学関数を認識する
私はDSPを初めて使用しますが、このStackExchangeを発見したばかりなので、この質問を投稿するのにふさわしくない場合はおologiesびします。 より数学的な用語でジャンルを説明するリソースはありますか?たとえば、曲のこのセクションの信号でFFTを実行した場合(リンクがそこから開始しない場合は2:09)、このセクションにその大まかな種類があることを検出できる方法はありますか音の?このような音は、私が比較できる数学関数に従っていますか? http://www.youtube.com/watch?v=SFu2DfPDGeU&feature=player_detailpage#t=130s(リンクはすぐにサウンドの再生を開始します) 教師あり学習テクニックを使用する唯一の方法ですか、それとも別のアプローチがありますか(好ましくは、監視を必要としません)? アドバイスありがとうございます。

3
2つのオーディオファイルを比較して、差異の割合を返す方法
2つのオーディオファイルを比較する方法はありますか?私が使用していますC#VS08、.NET Frameworkの3.5を。 編集済み:サウンドの違い(例:オーディオ1 "HELP":、オーディオ2:など"HELP ME PLEASE"、この2つのオーディオのパーセンテージの違いを返します。) 現在、録音されたファイルをwav形式で保存していますが、そのビットレートと品質も、録音されて比較されるものと同じになります。同じプロパティと同じ形式(WAV)の2つのオーディオファイルのサウンド(バイナリだけでなく)を比較し、2つのオーディオファイルの2つのサウンドの割合の差を表示する方法があるかどうかを確認したいと思います。 ヘルプは大歓迎です。
12 audio  c# 

3
FFTまたはDFTを使用してオーディオをリサンプリングする方法
最初にFFTを実行し、次に必要な結果の部分のみを取得してから、逆FFTを実行することにより、音声オーディオをダウンサンプリングしています。ただし、32768から8192へのダウンサンプリングなど、2の累乗の周波数を使用している場合にのみ正しく機能します。32kデータに対してFFTを実行し、データの上位3/4を破棄してから、残りの1/4の逆FFT。 ただし、正しく整列しないデータを使用してこれを実行しようとすると、次の2つのいずれかが発生します。私の(Aforge.Math)を使用している数学ライブラリは、フィットがスローされます。これは、サンプルが2の累乗ではないためです。サンプルを2の累乗になるようにゼロ埋めしようとすると、反対側で意味不明になってしまいます。代わりにDFTも使用しようとしましたが、非常に遅くなります(これはリアルタイムで行う必要があります)。 最初のFFTと最後の逆FFTの両方で、FFTデータを適切にゼロパッドするにはどうすればよいですか?16khzに到達する必要がある44.1khzのサンプルがあると仮定して、私は現在、このようなものを試します。サンプルのサイズは1000です。 入力データを最後に1024に埋め込む FFTを実行する 最初の512アイテムを配列に読み込みます(最初の362だけが必要ですが、^ 2が必要です) 逆FFTを実行する 最初の362項目をオーディオ再生バッファーに読み込みます これで、最後にゴミが出ます。同じことを行いますが、サンプルが既に^ 2であるため、ステップ1と3でパディングする必要はなく、正しい結果が得られます。
12 c#  audio 

5
オーディオのダブル(64ビット)浮動小数点を検討する場合
最新のプロセッサでオーディオを合成して処理するとき、単精度(32ビット)浮動小数点以外の使用を検討するのはいつですか。明らかに、現実世界に出入りするオーディオは16/24ビットなので、ソフトウェアでの信号(オーディオ自体とフィルター係数のようなものの両方)の精度について話しているだけです。 と仮定する: CPU / DSPには、単精度と倍精度の両方のハードウェア浮動小数点サポートがあります。 優先事項は、高性能ではなく高品質のオーディオです。たとえば、より良い(知覚的)品質を提供する場合は、倍精度が考慮されます。

2
オーディオ信号の補間における最新技術
3つの質問: オーディオ補間の品質を客観的に測定するために使用できるすべてのメトリックは何ですか?(しかし、可能であれば心理音響学の観点からも) これらの測定基準によって、オーディオ補間の現在の最先端は何ですか? 仮想楽器の一連のノートから2つのファイルを2つの解像度でレンダリングしてから、1つのファイルのアップサンプリングと高周波レンダリングバージョンを比較するとしたら、これらを客観的に比較するにはどのソフトウェアを使用すればよいでしょうか。-理想的には、前述のメトリックを使用する これまでのところ、私は収集できたので、これらのリサンプラーは最高の品質のいくつかを提供します http://www.mega-nerd.com/SRC/ http://sox.sourceforge.net/SoX/ http://www.izotope.com/tech/src/ これらのリサンプラーにあると思われる問題の1つは、プリリンギングとポストリンギングです。 主な関心事は信号の再構成であることに注意してください(その用語は意味がありません)ので、アップサンプリングはダウンサンプリングよりも多くなります。 編集:補間時間の効率は、このコンテキストでは無関係です。 よろしく、好奇心が強い:-)
11 audio  sampling 

3
音声分析の自己相関
私はAutocorrelationについて読んでいますが、それがどのように機能し、どのような出力を期待する必要があるかを正確に理解できていません。私は自分の信号をAC機能に入力し、スライディングウィンドウを入力する必要があると思いますか。各ウィンドウ(たとえば、1024サンプル)は、-1と1の間の係数を出力します。符号は、ラインが上向きか下向きかを示し、値は相関の強さを示します。簡単にするために、オーバーラップはなく、ウィンドウを毎回1024サンプルだけ移動するとします。44100のサンプルでは、​​43の係数を取得しますが、それらすべてを保持する必要がありますか? 200秒の信号に対してこれを実行すると、8600の係数が得られます。これらの係数を使用して繰り返しとテンポを検出するにはどうすればよいですか?それらをグループ化するためにある種のニューラルネットワークを作成する必要がありますか、それともやりすぎですか? 助けてくれてありがとう。

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