デジタル技術の継続的な発展に伴い、音楽業界、音声認識、スマート スピーカー、その他の分野を問わず、オーディオ処理が一般的なニーズになっています。 Python では、特定の音声情報の抽出や音声ファイルの形式の変更など、多くの音声処理タスクを正規表現を使用して簡単に実行できます。この記事では、音声処理に Python 正規表現を使用する方法を紹介します。
Python 正規表現を使用してオーディオを処理する場合は、いくつかの特定のライブラリを使用する必要があります。その中で、最もよく使われるライブラリは re、os、wave ライブラリです。 re ライブラリは正規表現処理に使用され、os ライブラリはファイル パスの操作に使用でき、wave ライブラリは .wav 形式のオーディオ ファイルの読み書きを行うための Python の標準ライブラリです。
import re
import os
import wave
場合によっては、ファイルから特定の情報を抽出する必要があることがあります。オーディオ ファイル サンプル レート、チャンネル数、ビット深度などの情報。この情報は、オーディオ ファイルのヘッダー情報を読み取ることで取得できます。以下は、.wav ファイルのヘッダー情報を読み取るために使用できるサンプル コードです。
with wave.open('audio.wav', 'rb') as 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))
オーディオを処理する場合、.mp3 を .wav ファイルに変換するなど、オーディオ ファイルの形式を変更する必要がある場合があります。これは、pydub ライブラリの AudioSegment クラスを使用して実現できます。以下は、.mp3 ファイルを .wav 形式ファイルに変換するためのコードです:
from pydub import AudioSegment
sound = AudioSegment.from_mp3("audio.mp3")
sound.export("audio.wav", format="wav")
場合によっては、次のようなプログラムを作成する必要があります。特定の音声ファイルを見つけます。現時点では、文字列の一致に正規表現を使用する必要があります。以下は、指定されたディレクトリ内で .wav 拡張子を持つファイルを検索するコードです:
path = r"C:Usersusernamemusic"
pattern = re.compile(r".*.wav " )
for filename in os.listdir(path):
if pattern.match(filename): print(filename)
オーディオ ファイル内で検索して置換する必要がある場合name 特定の文字列を置換するには、正規表現を使用することもできます。以下は、指定されたフォルダー内で「rock」という文字列を含むオーディオ ファイル名を検索し、「pop」という文字列に置き換えるコードです。
path = r"C:Usersusernamemusic"
for 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))
概要
上記は、オーディオ処理に Python 正規表現を使用する一般的な方法の一部です。正規表現を柔軟に使用することで、音声処理に多くの自動操作を実装でき、作業効率が向上します。音声処理を行う場合は、著作権や他者の権利を侵害しないよう、関連する法令に従ってください。
以上が音声処理に Python 正規表現を使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。