1

この質問をどこに置くべきか分からないので、事前にお詫び申し上げます。

1 組のマイクを囲んで、部屋に 5 つのスピーカーを設置してテストをセットアップしました。スピーカーのさまざまな角度からマイクの感度をテストしています。私はそれらにアンプ/ミキサーを接続しており、個々のチャンネルを制御しています。

5 チャンネルのオーディオを 1 つのファイルに入れたい。適切な遅延を使用して、一度に 1 つのスピーカーだけを再生したいと考えています。つまり、チャンネル 1 はスピーカー 1 に、チャンネル 2 はスピーカー 2 に、というように続きます。

Audacity を使用してファイルを作成しています。ただし、チャンネル 4 と 5 は 1 つではなく 2 つのスピーカーで再生されます。そして、チャンネル 3 は非常に弱い音です。これは、チャネル 4/5 が「後方左/右」に対応しなければならず、チャネル 3 がサブ用である 5.1 規格のためだと思います。

純粋な個別チャンネルをスピーカーに接続できるファイル形式はありますか? ファイル形式は限定しませんが、これまでwav、ogg、flacを試してきました。

4

1 に答える 1

3

Audacity では、環境設定の [インポート/エクスポート] セクションで [カスタム ミックスを使用] ラジオ ボタンをオンにする必要があります。これにより、マルチチャンネル ファイルをエクスポートし、チャンネルにトラックを手動で割り当てることができます。

それ以外は、普通の古い .wav で問題なく動作します。

ただし、SoXを使用して、より自動化された方法でファイルを作成することもできます。

手動で、次のように 5 つの個別のファイルを 1 つの 5 チャンネル ファイルに結合 (またはドキュメントで言及されているように「マージ」) できます。

sox -M chan1.wav chan2.wav chan3.wav chan4.wav chan5.wav multi.wav

このプロセスを自動化するために、テスト トーンをずらしたマルチチャンネル ファイルを作成するための短い Bash ルーチンをまとめました。

NUM=5    # Number of channels
LEN=2    # Length of each test tone, in seconds
OVL=0.5  # Overlap between test tones, in seconds

# A one-channel base file containing simple white noise.
# faded at both end with a quarter wave envelope to ensure 
# smooth equal power transitions
sox -n -b 24 -c 1 out.wav synth $LEN whitenoise fade q $OVL -0 $OVL

# Instead of white noise you can for example make a 1kHz tone
# like this:
# sox -n -b 24 -c 1 out.wav synth $LEN sine 1k fade q $OVL -0 $OVL

# Or a sweep from 10Hz to 10kHz like this:
# sox -n -b 24 -c 1 out.wav synth $LEN sine 10-10k fade q $OVL -0 $OVL

# Produces a sequence of the number of seconds each channel
# shall be padded with
SEQ=$(for ((i=1; i<=NUM; i++))
do 
  echo "$i 1 - [$LEN $OVL -]x * p" | dc  # reverse-Polish arithmetic
done)

echo $SEQ

# Padding the base file to various degrees and saving them separately
for j in $SEQ
do 
  sox -c 1 out.wav outpad${j}.wav pad $j
done

# Finding the just-produced individual files
FIL=$(ls | grep ^outpad)

# Merging the individual files into a single multi-channel file
sox -M $FIL multi.wav

rm $FIL  # removing the individual files

# Producing a multi-channel waveform plot
ffmpeg -i multi.wav -y -filter_complex "showwavespic=s=2400x900:split_channels=1" -frames:v 1 waveform.png

# displaying the waveform plot
open waveform.png

波形プロットが明確に示すように、結果は 5 つのチャネルを持つファイルで構成され、それぞれが同じコンテンツを持ち、時間的に少し移動しただけです。

ずらしてクロスフェードしたテスト トーンを含むマルチチャンネル オーディオ ファイル

を使用した逆ポーランド演算の詳細dc: http://wiki.bash-hackers.org/howto/calculate-dc

を使用した波形表示の詳細ffmpeg: https://trac.ffmpeg.org/wiki/Waveform

于 2016-08-13T18:02:02.160 に答える