Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Petua untuk pengurangan hingar audio menggunakan Golang dan FFmpeg

Petua untuk pengurangan hingar audio menggunakan Golang dan FFmpeg

王林
王林asal
2023-09-28 11:21:02845semak imbas

Petua untuk pengurangan hingar audio menggunakan Golang dan FFmpeg

Petua untuk pengurangan hingar audio menggunakan Golang dan FFmpeg

Pemprosesan audio ialah tugas penting dalam bidang pemprosesan isyarat digital, di mana pengurangan hingar adalah keperluan yang sangat biasa. Artikel ini akan memperkenalkan cara menggunakan perpustakaan Golang dan FFmpeg untuk mencapai pengurangan hingar audio dan memberikan contoh kod khusus.

  1. Pasang perpustakaan Golang dan FFmpeg
    Pertama, pastikan anda telah memasang perpustakaan Golang dan FFmpeg. Anda boleh memuat turun Golang dari laman web rasmi dan memasang perpustakaan FFmpeg menggunakan arahan berikut:

    $ sudo apt-get install ffmpeg
  2. Import perpustakaan Golang yang diperlukan
    Gunakan kod berikut untuk mengimport perpustakaan Golang yang diperlukan:

    package main
    
    import (
     "log"
     "os"
     "os/exec"
    )
  3. Laksanakan pengurangan hingar audio fungsi
    Berikut ialah contoh pelaksanaan fungsi pengurangan hingar audio ringkas:

    func denoise(inputFile string, outputFile string) error {
     cmd := exec.Command("ffmpeg", "-i", inputFile, "-af", "arnndn=denoise-audio=on", "-c:a", "pcm_s16le", outputFile)
     err := cmd.Run()
     if err != nil {
         return err
     }
     return nil
    }

    Dalam fungsi ini, kami menggunakan penapis arnndn perpustakaan FFmpeg untuk melaksanakan operasi pengurangan hingar audio. Parameter denoise-audio=on表示开启降噪功能,-c:a pcm_s16le bermaksud pengekodan audio output ke dalam format PCM bertandatangan 16-bit.

  4. Panggil fungsi denoising audio
    Anda boleh memanggil fungsi denoising audio dalam fungsi utama dan lulus laluan fail input dan output:

    func main() {
     inputFile := "input.wav"
     outputFile := "output.wav"
    
     err := denoise(inputFile, outputFile)
     if err != nil {
         log.Fatal(err)
     }
    
     log.Println("Audio denoise complete.")
    }
  5. Jalankan ujian
    Letakkan fail audio input (seperti input .wav) dalam Dalam direktori yang sama, kemudian jalankan atur cara:

    $ go run main.go

    Atur cara akan mengeluarkan fail audio yang dikurangkan hingar (output.wav).

Ringkasan
Artikel ini memperkenalkan cara menggunakan perpustakaan Golang dan FFmpeg untuk melaksanakan teknik pengurangan hingar audio, dan mencapai fungsi pengurangan hingar dengan memanggil penapis arnndn FFmpeg. Anda boleh mengubah suai parameter dalam fungsi mengikut keperluan sebenar untuk mengoptimumkan lagi kesan pengurangan hingar. Harap artikel ini membantu anda!

Atas ialah kandungan terperinci Petua untuk pengurangan hingar audio menggunakan Golang dan FFmpeg. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn