fix: 修复WebM音频格式支持,改用librosa读取
This commit is contained in:
12
server.py
12
server.py
@@ -82,18 +82,10 @@ def process_audio(audio_bytes: bytes) -> tuple:
|
||||
处理音频文件
|
||||
返回: (audio_array, sample_rate)
|
||||
"""
|
||||
# 使用 soundfile 读取音频
|
||||
audio_io = io.BytesIO(audio_bytes)
|
||||
audio, sr = sf.read(audio_io)
|
||||
|
||||
# 转换为单声道
|
||||
if len(audio.shape) > 1:
|
||||
audio = audio.mean(axis=1)
|
||||
|
||||
# 重采样到 16kHz
|
||||
if sr != SAMPLE_RATE:
|
||||
import resampy
|
||||
audio = resampy.resample(audio, sr, SAMPLE_RATE)
|
||||
# 使用 librosa 读取音频(支持更多格式:WAV, WebM, MP3, FLAC 等)
|
||||
audio, sr = librosa.load(audio_io, sr=SAMPLE_RATE, mono=True)
|
||||
|
||||
return audio, SAMPLE_RATE
|
||||
|
||||
|
||||
Reference in New Issue
Block a user