問題タブ [pitch-shifting]

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.

0 投票する
1 に答える
88 参照

ios - OALSimple オーディオ チャネリング

私は OALSimpleAudio を使用しており、アプリで再生するサウンドのグループがあり、このサウンドのセットを「チャネル」にグループ化し、その特定のチャネルを介してグループのピッチに影響を与えようとしています。

-(IBAction)sample001 {

}

-(IBAction)sample002 {

}

このようなことができるようにするには、これらの両方のサウンドを 1 つのチャンネルに入れる必要があります。多分?

-(IBAction)channel1 {

}

できれば同時に鳴っている2つの音のピッチを変えたいのですが?どんな助けでも素晴らしいでしょう!

0 投票する
1 に答える
514 参照

java - vlcj - オーディオ コールバック

vlcj がビデオ ファイルを再生している間にオーディオ データのコールバックが必要です。そして、そのオーディオに何らかのエフェクト(ピッチシフトなど)を追加して、サウンドを直接出力したいと考えています。vlcj ドキュメントで vedio バッファ コールバックが見つかりましたが、オーディオ コールバックは見つかりませんでした。

オーディオ コールバックを取得できれば、soundtouch などの他のライブラリを使用できます... または、vlcj などの他の代替手段を教えてください。

WindowsでnVLC + NAudioで成功しました。

vlcjで可能ですか?gstreamer (gstreamer-java) または MPlayer を使用する必要がありますか?

よろしく、-pph

0 投票する
0 に答える
72 参照

ios - AudioUnitSampleType を変換して Dirac LE で使用する方法

私はこの問題に夢中になっています。Dirac LE を使用してピッチ シフトを実行していますが、ライブラリは常に結果の変換に多くのクリックを追加します。AudioUnit の Callback 関数内でリアルタイムで変換を行う必要があります。

変換を除いて、すべてのセットアップは正常に機能しています。

問題は、8.24 (AudioUnitSampleType) から short 型 (Dirac で使用) への変換と、8.24 への変換にあると考えています。

誰でも実際の例を投稿できますか? どうもありがとう!

0 投票する
2 に答える
4085 参照

signal-processing - FFT による周波数シフト

私は、周波数シフトのために見つけることができるいくつかの異なるテクニックを試してきました (具体的には、高周波数信号を低周波数にシフトしたい)。現時点では、私はこのテクニックを使用しようとしています -

元の信号 x(t) を次のように乗算します: cos(2 PI dF t), sin(2 PI dF t) R(t) = x(t) cos(2 PI dF t) I(t) = x(t) sin(2 PI dF t) ここで、dF はシフトするデルタ周波数です。これで、R(t) と I(t) の 2 つの時系列信号が得られました。R(t) を実部、I(t) を虚部として複素フーリエ変換を行います。結果は、周波数シフトされたスペクトルになります。

これを次のコードに解釈しました-

これにより、インターリーブされた real データと imag データと FFT を含む配列が構築されます。次にFFTを逆にしますが、得られる出力はかなり文字化けしています。結果は、私が考えているものと比較して巨大に見えます。周波数がシフトされた信号の痕跡がいくつかありますが、結果はほとんどかなりノイズが多いように見えるため、判断するのは困難です.

また、元の信号の標準 FFT の配列値を単純に回転させて周波数シフトを取得しようとしましたが、役に立ちませんでした。これを行うためのより良い方法はありますか?

0 投票する
2 に答える
5867 参照

c# - c# ウェーブファイルのピッチシフト

現在、このアルゴリズムを使用してウェーブ ファイルのピッチ シフトを実行しようとしています。

https://sites.google.com/site/mikescoderama/pitch-shifting

ここで、上記の実装を使用する私のコードですが、うまくいきません。出力された wave ファイルが壊れているか、有効ではないようです。

ピッチシフトアルゴリズムを除いて、コードは非常に単純です:)

  1. Wave ファイルをロードし、Wave ファイル データを読み取り、byte[] 配列に配置します。
  2. 次に、バイト データを -1.0f から 1.0f の形式に「正規化」します (ピッチ シフト アルゴリズムの作成者の要求に応じて)。
  3. ピッチ シフト アルゴリズムを適用し、正規化されたデータを bytes[] 配列に変換します。
  4. 最後に、元のウェーブ ファイルと同じヘッダーとピッチ シフトされたデータを使用して、ウェーブ ファイルを保存します。

何か不足していますか?

0 投票する
3 に答える
13025 参照

algorithm - MATLAB - オーディオ信号のピッチ シフト

私のグループは、コンピューターに接続または内蔵されたマイクからオーディオを録音し、信号を再生する単純な MATLAB グラフィカル ユーザー インターフェイス (GUI) を開発しています。ここまでで完了です。GUI は、サンプル (.wav ファイルなど) を読み込んで、GUI の同じ「再生」ボタンを使用して再生することもできます。Play、Record、Load、Save のプッシュ ボタンがあります。次に、ロードまたは録音されたサンプルのピッチシフトについて... 信号の基本周波数を見つけるために、ピークピッキングアルゴリズムが必要であることはわかっています。次に、これらの値のそれぞれに定数を掛けて、これらすべての周波数のピッチをシフトできると考えていました。このアルゴリズムを使用して、別のシフトを異なるプッシュボタンまたはラジオボタンに割り当てて、サンプルをロードできるようにすることを目的としています。ボタンを押してピッチを操作し、再生します。ピーク ピッキング アルゴリズムを使用すると、信号のピッチが十分にシフトされますか?それとも、再生中に信号が台無しになりますか?

(これはリアルタイム処理ではありません)

0 投票する
1 に答える
2244 参照

android - オーディオのピッチとテンポの変更

オーディオのピッチまたはテンポを変更する必要がありますが、個別に行う必要があります。そのためのAndroidの例、またはAndroidのサポートを提供するライブラリはありますか。

私はあまり得意ではないので、これに NDK/JNI を使用することは避けたいと思います。

すばらしいチュートリアルがありますが、すでに多くのライブラリを見てきましたが、それらをEclipse Androidプロジェクトにインポートできません。助けていただければ幸いです:-)

0 投票する
1 に答える
1573 参照

runtime - portaudioで実行時にピッチ(サンプルレート)を変更するには?

portaudio で実行時にピッチ (サンプルレート) を変更するには? どうもありがとう。