GNU/Linux >> Linux の 問題 >  >> Ubuntu

科学オーディオ処理、パートIII-UbuntuのOctave4.0でオーディオファイルに高度な数学的処理効果を適用する方法

デジタルオーディオ処理チュートリアルシリーズの第3部では、信号変調について説明し、振幅変調、トレモロ効果、および周波数変動を適用する方法について説明します。

変調 振幅変調

その名前が示すように、この効果は、送信されるメッセージに応じて正弦波の振幅を変化させます。正弦波は情報を運ぶため、キャリアと呼ばれます。このタイプの変調は、一部の民間放送および送信市民バンド(AM)で使用されています。

なぜ振幅変調を使用するのですか?

変調放射。

通信チャネルが空きスペースの場合、信号を放射および受信するためにアンテナが必要です。それには、放射される信号の波長と同じオーダーの寸法の効率的な電磁放射アンテナが必要です。オーディオコンポーネントを含む多くの信号は、多くの場合100Hz以下です。これらの信号の場合、信号を直接放射する場合は、長さ約300kmのアンテナを構築する必要があります。信号変調を使用してメッセージを高周波キャリア(たとえば100 MHz)に印刷する場合、アンテナの長さは1メートル(横方向の長さ)を超える必要があります。

濃度変調またはマルチチャネリング。

複数の信号が単一のチャネルを使用する場合、変調を使用してさまざまな信号をさまざまなスペクトル位置に転送し、受信機が目的の信号を選択できるようにすることができます。集中(「多重化」)を使用するアプリケーションには、テレメトリデータ、ステレオFMラジオ、長距離電話が含まれます。

機器の制限を克服するための変調。

フィルタや増幅器などの信号処理デバイスのパフォーマンス、およびこれらのデバイスの構築のしやすさは、周波数領域での信号の状況と、高周波数と低信号の関係に依存します。変調を使用して、設計要件がより簡単に満たされる周波数領域の位置に信号を転送できます。変調は、「ブロードバンド信号」(最高周波数と最低周波数の比率が大きい信号)を「狭帯域」の符号に変換するためにも使用できます。

効果音

多くのオーディオエフェクトは、そのような信号を簡単に処理できるため、振幅変調を使用します。トレモロ、コーラス、フランジャーなど、いくつか名前を付けることができます。このユーティリティは、このチュートリアルシリーズで焦点を当てています。

トレモロ効果

トレモロ効果は、振幅変調の最も単純なアプリケーションの1つです。この効果を実現するには、オーディオ信号を正弦波またはその他の周期信号で変化(乗算)する必要があります。

>> tremolo='tremolo.ogg';
>> fs=44100;
>> t=0:1/fs:10;
>> wo=2*pi*440*t;
>> wa=2*pi*1.2*t;
>> audiowrite(tremolo, cos(wa).*cos(wo),fs);




これにより、トレモロのような効果を持つ正弦波型の信号が生成されます。 '。


実際のオーディオファイルのトレモロ


ここで、実世界でのトレモロ効果を示します。まず、男性の声で「A」と言って録音したファイルを使用します。この信号のプロットは次のとおりです。

>> [y,fs]=audioread('A.ogg');
>> plot(y);




次に、次のパラメーターを使用して包み込む正弦波信号を作成する必要があります。

振幅=1
周波数=1.5Hz
位相=0

>> t=0:1/fs:4.99999999;
>> t=t(:);
>> w=2*pi*1.5*t;
>> q=cos(w);
>> plot(q);

注:時間の値の配列を作成する場合、デフォルトでは、これは列の形式、つまり1x220500の値で作成されます。この値のセットを乗算するには、行(220500x1)で転置する必要があります。これはt=t(:)コマンドです




結果を含む2番目のoggファイルを作成します変調信号:

>> tremolo='tremolo.ogg';
>> audiowrite(tremolo, q.*y,fs);







周波数変動

周波数を変えて、ディストーション、映画やゲームの効果音など、非常に興味深い音楽効果を得ることができます。

正弦波周波数変調の効果

これは、次の式に従って正弦波変調周波数が表示されるコードです。

Y =Ac * Cos(wo * Cos(wo / k))

場所:

Ac=振幅

wo=基本周波数

k=スカラー除数

>> fm='fm.ogg';
>> fs=44100;
>> t=0:1/fs:10;
>> w=2*pi*442*t;
>> audiowrite(fm, cos(cos(w/1500).*w), fs);
>> [y,fs]=audioread('fm.ogg');
>> figure (); plot (y);


信号のプロットは次のとおりです。



周波数変調器として、ほぼすべてのタイプの周期関数を使用できます。この例では、ここでは正弦関数のみを使用しました。関数の頻度を変更したり、他の関数と混合したり、関数の種類を変更したりしてみてください。


Ubuntu
  1. UbuntuでApacheと.htaccessを使用してIPアドレスをブロックし、ファイルとフォルダーを保護するにはどうすればよいですか?

  2. Ubuntuで.exeファイルを実行する方法は??

  3. Ubuntu18.04にOctave5をインストールする方法は?

  1. Ubuntuでunrarする方法

  2. DebianおよびUbuntuでLogwatchを使用してサーバーログファイルを監視する方法

  3. 科学オーディオ処理、パートII-Octave4.0でUbuntuを使用してオーディオファイルで基本的な数学的信号処理を行う方法

  1. 科学オーディオ処理、パートI-UbuntuでOctave4.0.0を使用してオーディオファイルを読み書きする方法

  2. Ubuntu16.04LTSでTombを使用してファイルを暗号化する方法

  3. Ubuntu15.04でScilabを使用してファイルを処理する方法