ffmpeg を使用して .amr ファイルの品質を最適に保つ方法

ffmpeg を使用して .amr ファイルの品質を最適に保つ方法

mms私にとって大切な、何年も前に作成された音声記録があり、古い GSM 携帯電話のメッセージ経由で入手しました。

によるとffprobe.exe -show_entries format:stream -count_frames -count_packets -i mms-1.amr > input.txt、オーディオの仕様は次のとおりです。

    [STREAM]
    codec_name=amr_nb
    codec_long_name=AMR-NB (Adaptive Multi-Rate NarrowBand)
    codec_time_base=1/8000
    codec_tag_string=samr
    sample_rate=8000
    channels=1
    channel_layout=mono
    bits_per_sample=0
    duration_ts=275840
    duration=34.480000
    bit_rate=6000
    nb_read_frames=1724
    nb_read_packets=1724
    [/STREAM]
    [FORMAT]
    filename=mms-1.amr
    nb_streams=1
    format_long_name=3GPP AMR
    bit_rate=6401
    probe_score=100
    [/FORMAT]

そこで、何度か試してみましたffmpegが、私が見つけた唯一の実行可能なアプローチは、最初にオーディオを抽出する 2 段階の変換でしたraw

1)ffmpeg -i mms-1.amr -f s16le -c:a pcm_s16le output.raw

2)ffmpeg -f s16le -ar 8000 -ac 1 -i output.raw mms-1.wav

興味深いことに、元のファイル サイズは 27 KB ですが、wave ファイルは 539 KB です。

2つの質問:

  1. これは、.amr タイプのオーディオ ファイルを、システムで簡単に認識できる形式に変換する唯一の方法ですか?形式Windowsに直接変換する 1 行のコードはどうでしょうか?wav

  2. ffmpeg には、録音中の音声を強調する優れたオーディオ フィルターはありますか。古い質問への回答ここ均等化するノイズを除去して音声認識を向上させる適切な技術として...」とありますが、その仕組みについての良い説明が今のところ見つかりません。他のフィルターはありますか?

関連情報