1869093_ja-JP

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

1869093_ja-JP

1869093_ja-JP

録音のオーディオチャンネルを分離する方法

こんにちは、この投稿では、8MIC-RPI-MX8ボードを使用して分離されたオーディオチャネルを録音する方法を説明します。

i.MX ボードを使用してオーディオを録音および再生するようにボードを設定する方法の背景として、次の投稿をご覧になることをお勧めします。

8MIC-RPI-MX8ボードを使用してオーディオを構成、録音、再生する方法

要件:

波形オーディオフォーマット

WAVは、WAVE(Waveform Audio File Format)で知られており、デジタルオーディオファイルを保存するためのMicrosoftのResource Interchange File Format(RIFF)仕様のサブセットです。この形式では、情報に圧縮が適用されず、オーディオは異なるサンプリング レートとビットレートで保存されます。

WAVファイルは、良好なオーディオ品質を維持しながらファイルサイズを縮小するために圧縮を使用するMP3などの他の形式に比べてサイズが大きくなっていますが、オーディオ情報はランダムすぎて従来の方法で圧縮できないため、品質には常にいくらかの損失があり、この形式の主な利点は、スタジオでも広く使用されている損失のないオーディオファイルを提供することです。

このファイルは、データ チャンクを含むファイル ヘッダーで始まります。WAV ファイルは、次の 2 つのサブチャンクで構成されます。

  • fmt chunk: データ形式。
  • データチャンク:サンプルデータ。

したがって、WAVファイルヘッダーと呼ばれるメタデータと実際のオーディオ情報によって構造化されます。

WAV (RIFF) ファイルのヘッダーの長さは 44 バイトで、次の形式です。

JorgeCas_0-1716227653935.png

JorgeCas_1-1716227760727.png

チャネルを分離する方法は?

各オーディオチャンネルを録音から分離するには、各チャンネルの生データを記録する次のコマンドを使用する必要があります。

arecord -D plughw:
arecord -D plughw:2,0 -c8 -f s16_le -r 48000 -d 10 --separate-channels sample.wav

このコマンドは、以下に示すように、記録されたチャネルの生データを出力します。

JorgeCas_2-1716227828320.png

この生データは「正常」.wavとして使用することはできませんヘッダー情報がないため、ファイル。生データをDAWにインポートして録音したサンプルを再生すると確認できます。

JorgeCas_3-1716227842722.png

したがって、この情報を使用するには、Python上の WAVEライブラリ を使用して各ファイルのヘッダーを作成する必要があります。ここに私が使用したスクリプトがあります:

import wave
import os

name = input("Enter the name of the audio file: ")

os.system("arecord -D plughw:2,0 -c8 -f s16_le -r 48000 -d 10 --separate-channels " + name + ".wav")

for i in range (0,8):
    with open(name + ".wav." + str(i), "rb") as in_file:
        data = in_file.read()
        with wave.open(name + "_channel_" + str(i) +".wav", "wb") as out_file: 
            out_file.setnchannels(1) 
            out_file.setsampwidth(2)
            out_file.setframerate(48000)
            out_file.writeframesraw(data)

os.system("mkdir output_files")
os.system("mv " + name + "_channel_" + "* " + "output_files")
os.system("rm " + name + ".wav.*")

スクリプトを実行すると、 は .wav の 8 つのオーディオ チャネルを含むディレクトリを生成します形式。

JorgeCas_4-1716227909413.png

これで、オーディオプレーヤーを使用して各チャンネルを個別に再生できるようになります。

参考情報

  • IBM、マイクロソフトコーポレーション。(1991).マルチメディアプログラミングインターフェースとデータ仕様 1.0.
  • マイクロソフト株式会社。(1994).新しいマルチメディア データ タイプとデータ手法。
  • スタンフォード大学。(2024年1月30日)。WAVE PCMサウンドファイル形式から取得: http://hummer.stanford.edu/sig/doc/classes/SoundHeader/WaveFormat/
i.MX 8M | i.MX 8M Mini | i.MX 8M NanoLinuxマルチメディア
标记 (1)
无评分
版本历史
最后更新:
‎01-05-2026 12:21 PM
更新人: