Cara menggunakan ungkapan biasa Python untuk pemprosesan audio

王林
Lepaskan: 2023-06-22 22:13:38
asal
923 orang telah melayarinya

Dengan perkembangan teknologi digital yang berterusan, pemprosesan audio telah menjadi keperluan biasa, sama ada dalam industri muzik, pengecaman pertuturan, pembesar suara pintar atau bidang lain. Dalam Python, banyak tugas pemprosesan audio boleh dicapai dengan mudah menggunakan ungkapan biasa, seperti mengekstrak maklumat audio tertentu atau mengubah suai format fail audio. Artikel ini akan memperkenalkan cara menggunakan ungkapan biasa Python untuk pemprosesan audio.

  1. Import perpustakaan yang diperlukan

Apabila menggunakan ungkapan biasa Python untuk memproses audio, anda perlu menggunakan beberapa perpustakaan tertentu. Antaranya, perpustakaan yang paling biasa digunakan ialah perpustakaan re, os dan wave. Pustaka semula digunakan untuk pemprosesan ungkapan biasa, perpustakaan os boleh digunakan untuk operasi laluan fail, dan perpustakaan gelombang ialah perpustakaan standard dalam Python untuk membaca dan menulis fail audio format .wav.

import semula
import os
gelombang import

  1. Ekstrak maklumat audio

Kadangkala, anda perlu mengekstrak maklumat khusus daripada fail audio Maklumat seperti kadar sampel, bilangan saluran, kedalaman bit, dsb. Maklumat ini boleh diperolehi dengan membaca maklumat pengepala fail audio. Berikut ialah contoh kod yang boleh digunakan untuk membaca maklumat pengepala fail .wav:

dengan wave.open('audio.wav', 'rb') sebagai f:

frames = f.readframes(-1)
sample_rate = f.getframerate()
num_channels = f.getnchannels()
sample_width = f.getsampwidth()
print("采样率: {} Hz".format(sample_rate))
print("通道数: {}".format(num_channels))
print("位深度: {} bytes".format(sample_width))
Salin selepas log masuk
  1. Ubah suai format fail audio

Apabila memproses audio, kadangkala anda perlu mengubah suai format fail audio, seperti menukar fail .mp3 kepada .wav. Ini boleh dicapai menggunakan kelas AudioSegment dalam pustaka pydub. Berikut ialah sekeping kod untuk menukar fail .mp3 kepada fail format .wav:

daripada pydub import AudioSegment

bunyi = AudioSegment.from_mp3("audio.mp3")
sound.export("audio.wav", format="wav")

  1. Padanan rentetan mengikut ungkapan biasa

Kadangkala, anda perlu menulis atur cara untuk Cari fail audio tertentu. Pada masa ini, anda perlu menggunakan ungkapan biasa untuk padanan rentetan. Berikut ialah sekeping kod yang mencari fail dengan sambungan .wav dalam direktori yang ditentukan:

path = r"C:Usersusernamemusic"
pattern = re.compile(r".*.wav ")
untuk nama fail dalam os.listdir(path):

if pattern.match(filename):
    print(filename)
Salin selepas log masuk
  1. Cari dan gantikan rentetan tertentu

Jika anda perlu mencari dan menggantikan dalam audio nama fail Untuk menggantikan rentetan tertentu, anda juga boleh menggunakan ungkapan biasa. Berikut ialah sekeping kod yang mencari nama fail audio yang mengandungi rentetan "rock" dalam folder tertentu dan menggantikannya dengan rentetan "pop":

path = r"C:Usersusernamemusic"
untuk nama fail dalam os.listdir(path):

if re.search(r"rock", filename):
    new_filename = re.sub(r"rock", "pop", filename)
    os.rename(os.path.join(path, filename), os.path.join(path, new_filename))
Salin selepas log masuk

Ringkasan

Di atas ialah beberapa kaedah biasa menggunakan ungkapan biasa Python untuk pemprosesan audio. Melalui penggunaan ekspresi biasa yang fleksibel, banyak operasi automatik boleh dilaksanakan dalam pemprosesan audio untuk meningkatkan kecekapan kerja. Perlu diingat bahawa apabila melakukan pemprosesan audio, undang-undang dan peraturan yang berkaitan harus dipatuhi untuk mengelakkan pelanggaran hak cipta dan hak lain orang lain.

Atas ialah kandungan terperinci Cara menggunakan ungkapan biasa Python untuk pemprosesan audio. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan