File size: 1,063 Bytes
1e37b2f 89f7329 1e37b2f 89f7329 1e37b2f 89f7329 1e37b2f 5a0fc91 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | import gradio as gr
import torch
import torchaudio
from speechbrain.inference.enhancement import SpectralMaskEnhancement
# 加載增強模型
enhance_model = SpectralMaskEnhancement.from_hparams(
source="speechbrain/metricgan-plus-voicebank",
savedir="pretrained_models/metricgan-plus-voicebank",
)
def enhance_audio(file_path):
# 加載音頻文件
noisy = enhance_model.load_audio(file_path).unsqueeze(0)
# 假設長度為1.0的相對長度
lengths = torch.tensor([1.0])
# 使用模型進行語音增強
enhanced = enhance_model.enhance_batch(noisy, lengths=lengths)
# 將增強的音頻信號返回
return enhanced.squeeze(0).cpu().numpy(), 16000
# 創建Gradio接口
demo = gr.Interface(
fn=enhance_audio,
inputs=gr.File(type="filepath"), # 接收語音輸入,通過文件上傳
outputs=gr.Audio(type="numpy"), # 返回增強後的語音
title="Speech Enhancement",
description="Upload a noisy speech file and get the enhanced output.",
)
# 啟動Gradio應用
demo.launch(share=True)
|