So bewahren Sie die Qualität einer AMR-Datei mit ffmpeg am besten

So bewahren Sie die Qualität einer AMR-Datei mit ffmpeg am besten

Ich habe eine für mich wertvolle Audioaufnahme, die vor Jahren gemacht wurde und die ich über eine mmsArt Nachricht auf meinem alten GSM-Telefon erhalten habe.

Laut ffprobe.exe -show_entries format:stream -count_frames -count_packets -i mms-1.amr > input.txthat das Audio die folgenden Spezifikationen:

    [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]

Ich habe es also mehrere Male versucht, ffmpegaber der einzige praktikable Ansatz, den ich gefunden habe, war eine zweiteilige Konvertierung, bei der rawzuerst der Ton extrahiert wird:

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

Interessanterweise beträgt die Originaldateigröße 27 KB, die Wave-Datei ist 539 KB groß!

Zwei Fragen:

  1. Ist dies die einzige Möglichkeit, eine Audiodatei vom Typ .amr in ein beliebiges Format zu konvertieren, das vom WindowsSystem problemlos erkannt wird? Wie wäre es mit einer einzigen Codezeile, um sie direkt in wavdas Format zu konvertieren?

  2. Gibt es gute Audiofilter in ffmpeg, um eine Stimme in der Aufnahme hervorzuheben? Die Antwort auf eine alte FrageHiererwähnt "Ausgleichendals geeignete Technik zum Herausfiltern von Rauschen und Verbessern der Spracherkennung ...“, aber ich habe bisher keine gute Erklärung dafür gefunden, wie es funktioniert. Gibt es noch andere Filter?

verwandte Informationen