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

3
高次フィルターのカスケードバイカッドセクションはどのように機能しますか?
私は8次のIIRフィルターを実装しようとしていますが、これまで読んだすべてのアプリケーションノートと教科書には、2次のセクションとして2を超える次数のフィルターを実装するのが最善であると書かれています。tf2sosMATLABで2次セクションの係数を取得するために使用しましたが、予想どおり、4 2次セクションの6x4係数が得られました。SOSとして実装する前は、8次フィルターには7つの以前のサンプル値を保存する必要がありました(および出力値も)。ここで、2次セクションとして実装するとき、フローが入力から出力までどのように機能するか、2つの前のサンプル値のみを保存する必要がありますか?または、最初のフィルターの出力はx_in2番目のフィルターのように送られますか?
20 filters  filter-design  infinite-impulse-response  biquad  audio  image-processing  distance-metrics  algorithms  interpolation  audio  hardware  performance  sampling  computer-vision  dsp-core  music  frequency-spectrum  matlab  power-spectral-density  filter-design  ica  source-separation  fourier-transform  fourier-transform  sampling  bandpass  audio  algorithms  edge-detection  filters  computer-vision  stereo-vision  filters  finite-impulse-response  infinite-impulse-response  image-processing  blur  impulse-response  state-space  linear-systems  dft  floating-point  software-implementation  oscillator  matched-filter  digital-communications  digital-communications  deconvolution  continuous-signals  discrete-signals  transfer-function  image-processing  computer-vision  3d 

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

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

2
逆ポリフォニックコード認識
ポリフォニック音楽の転写は現在、解決された問題ではないようです。 問題の小さな部分の逆はどうですか。確率空間から一部の音楽コードを除去するために使用できるスペクトル特性(STFTから)がありますか?(たとえば、この音のスニペットには、C#の和音やマイナーな和音が含まれていないか、和音ではなく単一の音ですなど) オーディオスニペットがほぼ定常的である(一時的な攻撃が除去されるなど)と仮定し、個々のノートのほとんどまたはすべての倍音が存在する可能性が非常に高いと仮定します。(そして、この質問は逆さの和音に関するものではありません。)

1
どの変換が人間の聴覚システムに最もよく似ていますか?
フーリエ変換は、一般的に音の周波数分析のために使用されています。ただし、音の人間の知覚を分析することになると、いくつかの欠点があります。たとえば、周波数ビンは線形ですが、人間の耳は周波数に線形ではなく対数的に応答します。 ウェーブレット変換は、フーリエ変換とは異なり、異なる周波数範囲の解像度を変更できます。プロパティは、ウェーブレット変換より高い周波数のための短い時間的幅を維持しながら、より低い周波数のための大規模な一時的なサポートを可能にします。 ウェーブレットモレット密接に聴力の人間の知覚に関連しています。音楽の転写に適用でき、フーリエ変換技術では不可能な非常に正確な結果を生成します。各音の開始時間と終了時間を明確にしながら、繰り返して交互に繰り返される音符の短いバーストをキャプチャできます。 定Q変換(密接ウェーブレットモレットに関連する)もされてよく演奏データに適しました。変換の出力は対数周波数に対して効果的に振幅/位相であるため、特定の範囲を効果的にカバーするために必要なスペクトルビンが少なくなります。これは、周波数が数オクターブにわたる場合に役立ちます。 この変換では、周波数ビンが高くなると周波数分解能が低下します。これは、聴覚アプリケーションに適しています。これは人間の聴覚システムを反映しており、低周波数ではスペクトル解像度が向上し、高周波数では時間解像度が向上します。 私の質問はこれです:人間の聴覚システムを密接に模倣する他の変換はありますか?解剖学的/神経学的に人間の聴覚系に可能な限り厳密に一致する変換を設計しようとした人はいますか? たとえば、人間の耳は音の強さに対して対数応答することが知られています。等ラウドネスの等高線は、強度だけでなく、スペクトル成分の周波数の間隔によっても変化することが知られています。多くの重要な帯域のスペクトル成分を含む音は、総音圧が一定のままであっても、より大きな音として知覚されます。 最後に、人間の耳には、周波数に依存する時間分解能が制限されています。おそらくこれも考慮に入れることができます。

2
自然なサウンドのためのサウンド合成エフェクト
現在、アコーディオンシンセサイザーに取り組んでいますが、できるだけ自然に聞こえるようにしたいと思っています。 私は次の波の音が本当に好きです: https://dl.dropbox.com/u/20437903/onda%20acordeon.wav 波は次のようになります。 波を見ると、高調波が追加および減算されているように見えます。私が間違っている? サウンドシンセシスは少し新しいので、波に適用された効果とそれらを適用するためのガイダンスを特定できる人を助けていただければ幸いです。ありがとう。
12 music  sound 

2
異なる(音楽的?)トーンの識別に使用する方法論
私はこの問題をどのように攻撃するのが最善かを研究し、解明しようとしています。音楽処理、画像処理、信号処理にまたがるので、それを見る方法は無数にあります。純粋なsig-procドメインでは複雑に見えるかもしれないことは、画像や音楽の処理を行う人々によって簡単に(そしてすでに解決されているので)アプローチするための最良の方法について尋ねたかったのです。とにかく、問題は次のとおりです。 問題の私の手描きを許せば、次を見ることができます: 上の図から、3つの異なる「タイプ」の信号があります。最初のパルスは、からまで周波数を「ステップアップ」して、繰り返すパルスです。特定のパルス持続時間と特定のパルス繰り返し時間を持っています。f 4f1f1f_1f4f4f_4 2番目のものはにのみ存在しますが、パルス長が短く、パルス繰り返し周波数が高速です。f1f1f_1 最後に、3番目はトーンです。f1f1f_1 問題は、信号1、信号2、および信号3を区別できる分類器を作成できるように、どのようにこの問題に取り組むかです。つまり、シグナルの1つをフィードすると、このシグナルがそうであることがわかります。対角線混同行列を与える最適な分類子は何ですか? いくつかの追加のコンテキストと私がこれまで考えてきたこと: 私が言ったように、これは多くの分野にまたがっています。私が座ってこれと戦争に行く前に、どの方法論がすでに存在しているのかを尋ねたかった。ホイールを誤って再発明したくありません。さまざまな視点から見た考えをいくつか紹介します。 信号処理の観点: 私が検討したことの1つは、ケプストラム分析を行い、ケプストラムのGabor Bandwidthを他の2と区別するために使用し、次にケプストラムの最高ピークを測定することでした。シグナル-2から1。それが私の現在の信号処理作業ソリューションです。 画像処理の観点:ここでは、スペクトログラムに対して実際に画像を作成できるので、その分野の何かを活用できるのではないかと考えています。私はこの部分に精通していませんが、ハフ変換を使用して「ライン」検出を行い、ラインを「カウント」(ラインとブロブではない場合はどうですか?)してそこから行くのはどうですか?もちろん、スペクトログラムを撮影する任意の時点で、表示されるすべてのパルスが時間軸に沿ってシフトする可能性がありますので、これは問題になりますか?わからない... 音楽処理の観点:確かに信号処理のサブセットですが、signal-1には特定の、おそらく反復的な(音楽的?)品質があり、music-procの人々は常に見ており、すでに解決済みです多分楽器を区別する?確かではありませんが、考えは私に起こりました。おそらく、この立場はそれを見る最良の方法であり、時間領域の塊を取り、それらのステップレートをからかいますか?繰り返しますが、これは私の分野ではありませんが、これは以前に見られたものだと強く疑っています... 3つの信号すべてを異なる種類の楽器として見ることができますか? また、かなりの量のトレーニングデータがあることも付け加える必要があります。そのため、これらの方法のいくつかを使用すると、特徴抽出を行うことができ、K-Nearest Neighborを使用できますが、それは単なる考えです。 とにかく、これは私が今立っている場所です、どんな助けも感謝しています。 ありがとう! コメントに基づく編集: はい、、、、はすべて事前に知られています。(いくつかの差異が、は非常に少ない。例えば、私たちがいることを知っていると言うことができます = 400kHzには、それは401.32 kHzででてくるかもしれません。しかしまでの距離ので、高いです比較して500 kHzであるかもしれない。)信号-1常にこれらの4つの既知の周波数を踏むことになります。Signal-2には常に1つの周波数があります。f 2 f 3 f 4 f 1 f 2 f 2f1f1f_1f2f2f_2f3f3f_3f4f4f_4f1f1f_1f2f2f_2f2f2f_2 信号の3つのクラスすべてのパルス繰り返し率とパルス長もすべて事前にわかっています。(ある程度の分散がありますが、非常にわずかです)。ただし、信号1と2のパルス繰り返し率とパルス長は常にわかっていますが、それらは範囲です。幸いなことに、これらの範囲はまったく重複していません。 入力はリアルタイムで入力される連続時系列ですが、信号1、2、および3は相互に排他的であると仮定できます。つまり、信号の1つだけが任意の時点で存在するということです。また、任意の時点で処理するためにどれだけの時間チャンクを使用するかについて、多くの柔軟性があります。 データはノイズを含む可能性があり、既知の、、、ない帯域に偽のトーンなどがある可能性があります。これはかなり可能です。ただし、問題を「始める」ために、中程度のSNRを想定できます。f 2 f 3 f 4f1f1f_1f2f2f_2f3f3f_3f4f4f_4

2
ピッチベンド(MIDI)値を「通常の」ピッチ値に変換
ここに記載されているrt_lpc(リアルタイムLPC)実装を使用して、オフラインLPC分析と合成を試みています。プログラム内には、オフラインLPC分析および合成プログラムに使用できるいくつかの関数があります。rt_lpcコードは、主に作曲家などを対象としています。つまり、MIDIまたは声門パルス入力を使用します。プログラムには、(自己相関から取得した)ピッチ値を値に変換するコードがいくつかありbendます。この関係は次のように与えられます。 pitch = (int)( Stk::sampleRate() / midi2pitch[ananya.data[1]] ) / pow( 1.0653f, bend/64.0f*11.0f ); power *= ananya.data[2] / 64.0f; bend = ge.data[1] / 128.0f + ge.data[2] - 64; いくつかのポイント: a。その場で生成されるように見えるananyaタイプのオブジェクトですMidiMsg。 b。geまたMidiMsg、オンザフライで生成されるように見えるタイプのオブジェクトでもあります。 c。これらの2つのオブジェクトは、プログラムがリアルタイムで実行されるときに作成されます(私のものは、自分のmain.cppでその一部を実行するオフラインバージョンです)。 私の質問: 1.ピッチベンドとは何ですか? 2.ピッチ値をベンド値に変換するにはどうすればよいですか?マッピング関係とは何ですか? 解決策を探しましたが、明確な答えは見つかりませんでした。
11 music  pitch 

3
周波数を維持しながら音楽の再生を遅くする
音楽オーディオを遅い速度で再生すると、ピッチ(周波数)が下がります。周波数を同じに保ちながら曲の再生を遅くするツールと理論はありますか?ウィンドウ化されたフーリエ変換またはウェーブレット変換を実行できると思います。ウィンドウサイズを事前に選択するか、ウェーブレットベースを動的に選択する必要があるようです。それを行うための具体的で詳細な理論と応用はありますか?

1
興味深いサウンドを作成するためにオーディオ信号で実行される操作の基本的なカテゴリは何ですか?
私はdspに非常に慣れていないので、この質問が意味があるかどうかはわかりません。 私が遭遇したオーディオdspへの限られた進出で: 周波数変調 振幅変調 添加剤合成 減算合成 私の質問は、これらは信号操作(特にオーディオ)の主な基本カテゴリですか? 言い換えれば、プラグインのフルスイートを備えたFL Studioが実行できるすべてのエフェクトと空想的なことを、上記の4つの操作の一連の組み合わせに分解できますか?それとももっとたくさんありますか?プラグインを備えた最新のDAWは、理論的にはこの方法で任意のカテゴリに分類できますか?上記の4つのカテゴリはそれ自体で意味がありますか?! 背景:基本的に、プログラミングとオーディオdspの両方を学習するプロジェクトとして、非常に基本的な(ただし非常に柔軟な)オーディオシンセサイザ/エディタを作成しようとしています。Javaを使用して、基本的な現実世界のシンセサイザーのようなクラスを模倣し、OscillatorやLFOなどを呼び出すことから始めましたが、何か新しいことを学ぶたびに、新しい概念をプログラムに合わせるためにすべてを書き直さなければならないことに気づきます。 ここでもう一度始めて、プログラムの基本的なオブジェクトと構造を考え出そうとしています。これを適切に行うには、これらのオブジェクトがどのように相互作用することを許可する必要があるかを知る必要があります... ありがとう! 編集* * * 有用なコメントと回答をありがとう。私はおそらくdsp側の要素を過小評価していることに気づき、単純なシンセサイザの基本的なテンプレートと構造を作成してから、それを拡張/構築することはできません。新しいことや、物事を行うための「適切な」方法を学ぶとき、私はおそらく何度も何度も何度も再構築する必要があります...それはもっと時間がかかりますが、もっと学ぶでしょうか?また、申し訳ありませんが、まだ誰にも賛成できないほどの担当者がいないようです...できるだけ早く、そうします。 編集*編集*** 少しグーグルすると、この「合成のタイプ」へのこの基本的なガイドが明らかになり、関連性があり興味深いと思いました。

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

1
フォンはラウドネスとどのように関係していますか?
まったく同じ信号が2つの.wavファイルに保存されているとしましょう。そして、関数を使用して各ファイルを処理し、1つのファイルが他のファイルよりも20 フォン大きいことが確認されたとします。その関数がこれを計算する方法を無視しましょう。 これは、1つのファイルが他のファイルよりも約4倍大きいことを意味しますか? 2つの信号のホーンの違いをラウドネスの違いに関連付けるには、どの公式を使用できますか? -10 phons = 0.5 0 phons = 1 10 phons = 2

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