[時間:2019から05] [ステータス:開く]
[キーワード:オーディオ、オーディオ、速度、可変速度、ピッチ、soundtouch、ソニック]
オーディオトーンシフト原理の分析
音声処理理論への最初:
变速变调可分为:变速不变调和变调不变速。
语音变速不变调是指保持音调和语义保持不变,语速变快或变慢。该过程表现为语谱图在时间轴上如手风琴般压缩或者扩展。那也就是说,基频值几乎不变,对应于音调不变;整个时间过程被压缩或者扩展,声门周期的数目减小或者增加,即声道运动速率发生改变,语速也随之变化。对应于语音产生模型,激励和系统经历与原始发音情况几乎相同的状态,但持续时间相比原来或长或短。
严格地讲,基频和音调是两个不同的概念,基频是指声带振动的频率,音调是指人类对基频的主观感知,但是两者变化基本一致,即基频越高,音调越高,基频越低,音调越低,音调是由基频决定的。因此,语音变调不变速就是指改变说话人基频的大小,同时保持语速和语义不变,即保持短时频谱包络(共振峰的位置和带宽)和时间过程基本不变。对应于语音产生模型,变调改变了激励源;声道模型的共振峰参数几乎不变,保证了语义和语速不变。
综上所述,变速改变声道运动速率,力求保持激励源不变;变调改变激励源,力求保持声道的共振峰信息不变。但是声源和声道不是相互独立的,在改变声源时,必然也会非线性的影响声道,同样地,改变声道时也会或多或少的影响声源,两者之间相互影响,相互作用。
音声トーンは、より一般的にボイス変更ソフトウェアで使用されます。そして、音声伝送は、2倍速再生(高速再生、スロー放送)として、プレイヤーに使用します。この記事ではスピードに焦点を当てています。
ビデオ・フレームまたは補間フレームスキッピングに対する相対移動の原理に基づきます。簡単なポンプ音のサンプリングポイントが不連続、貧しいノイズや破裂音、主観的経験を引き起こす可能性があるので、オーディオ伝送原理は、それほど単純ではありません。
だから、いくつかの簡単なオーディオ処理戦略は、通常、例えば、X2速度に:(動作しません)
1.再生装置を実現、サンプリングレートが非常に倍増される再生装置の再生、単位時間当たりのサンプルの再生数を倍に設けられ、倍速変化は同じ曲が、音の不連続を実現することができます。
PCMを再生する前に2.倍速を実現することができるオリジナルのサンプリングレートの半分にリサンプリングされていますが、トーンます。
3.ドロップフレームは、一人一人は、あなたが倍速を実現することができ、1失うが、友人ノイズのとげとげの友人があるだろう、と音が断続的に、非常に悪い経験を生成します。
利用可能なプログラム
したがって、より良い主観的な経験を達成するために、比較的高度な音声処理戦略を使用するためです。soundtouchとソニック:今、より一般的なオーディオ伝送には2つのソリューションを提供しています。
ソニックを使用してsoundtouch、EXOPlayerを使用してijkplayer。
Androidで一の実装はシフト再生AudioTrackコードに基づいて、存在する以下の通りであります:
PlaybackParams params = audioTrack.getPlaybackParams();
//params.setSpeed(1.0f); // available
//params.setSpeed(0.5f); // available
params.setSpeed(1.5f); // not available
audioTrack.setPlaybackParams(params);
詳細な使用は、参照提案PlaybackParamsを。
ソニックSoundtouchの使用など、パッケージ化されて提供されるライブラリ、例えば倍速などのターゲットフォーマットへのインターフェース処理機能を介して、元のPCMオーディオデータは、PCMサンプルを半分に切断してもよいです。
ここでSoundtouchインターフェースは、以下の使用を例示するための例を提供します。
クラスのインタフェースパラメータ:
- setChannels(INT)設定されたチャネル、1 =モノラルモノラル、2 =ステレオサウンド
- setSampleRate(UINT)は、サンプルレートを設定します
- setRate(ダブル)指定された再生速度、1.0の元の値、大小遅い速いです
- (ダブル)setTempoはビート、1.0の元の値を、指定大型速い遅い小さな
- setRateChange(二重)、1.0に基づいて元の速度で(二重)setTempoChange、百分率増分は、値を行い(-50 .. + 100%)
- (ダブル)setPitchは階調値、1.0の元の値を指定します
- [-1.00、+ 1.00]の値を調整するために、元のトーンのオクターブ単位に基づいてsetPitchOctaves(二重)
- [-12、+ 12]の値を調整半音単位で元のトーンに基づいsetPitchSemiTones(INT)
PCM処理クラスインタフェース:
- putSamples(CONST SAMPLETYPE *サンプル、UINT nSamples)入力サンプル・データ
- receiveSamples(SAMPLETYPEの*の出力、UINT maxSamples)が必要実行するデータ出力処理ループ
- 最後のグループフラッシュの「残基」、のうち()データ処理パイプラインは、最後に実行されます
このような観点から、従来のデコーダまたはマルチプレクサロジック復調と同様のインターフェース。
概要
のみ以降の参考のために、Soundtouch、ソニックとAudioTrack 3つのオプションを含め、まとめたAndroidプラットフォームのオーディオ伝送方式のトーンのオーディオ伝送の理論、および現在入手可能。