记录一下自己用VITS推理后保存WAV音频文件遇到的一点坑

文章讲述了在使用VITS模型进行音频处理后,通过wave库保存音频出现噪声问题,而使用scipy.io.wavfile库则没有问题。问题的关键在于wave库需要整数格式的数据,而原始数据是以浮点数在-1到1之间的形式。通过将音频数据乘以32767并转换为int16类型,解决了wave库保存时的格式不匹配问题。
 audio = net_g.infer(x_tst, x_tst_lengths, noise_scale=.667, noise_scale_w=0.6, length_scale=1.2)[0][0,0].
### 使用so-vits-svc在Ubuntu上进行推理 #### 安装依赖库 为了能够在Ubuntu上运行so-vits-svc模型,安装必要的Python包和其他依赖项是必需的操作。这通常涉及使用`pip`来安装特定版本的PyTorch以及其他辅助工具,如numpy, scipy等。 ```bash sudo apt-get update && sudo apt-get install -y portaudio19-dev pip install torch==1.7.0+cu101 torchaudio===0.7.0 -f https://download.pytorch.org/whl/torch_stable.html pip install numpy scipy soundfile webrtcvad pyworld pypinyin unidecode g2p_en onnxruntime ``` #### 下载并配置环境 获取so-vits-svc项目的源码可以通过克隆GitHub仓库完成。之后进入项目目录设置环境变量以及下载预训练模型文件以便后续调用[^1]。 ```bash git clone https://github.com/your-repo/so-vits-svc.git cd so-vits-svc wget http://path.to/pretrained_model.pth export PYTHONPATH=$PYTHONPATH:$(pwd) ``` #### 准备音频数据 对于输入的声音片段,确保其格式符合要求(通常是WAV),并且采样率匹配预期设定。如果有必要的话,可以利用脚本批量转换待处理的语音样本至适当规格[^2]。 ```python import librosa from scipy.io.wavfile import write as wavwrite def preprocess_audio(input_path, output_path): y, sr = librosa.load(input_path, sr=22050) # 调整为所需的采样频率 wavwrite(output_path, sr, y.astype('float32')) ``` #### 执行推理过程 最后一步就是编写简单的测试程序加载之前准备好的模型权重,并传入经过前处理后的音频作为输入执行预测操作。这里给出一个简化版的例子展示基本流程[^3]。 ```python import torch from model import SoVITS_SVC_Model # 假设这是定义了网络结构的一个模块 device = 'cuda' if torch.cuda.is_available() else 'cpu' model = SoVITS_SVC_Model().to(device) checkpoint = torch.load('./pretrained_model.pth', map_location=device) model.load_state_dict(checkpoint['state_dict']) model.eval() with torch.no_grad(): audio_tensor = ... # 加载和预处理过的音频张量 result = model(audio_tensor.unsqueeze(0).to(device)) print("Inference completed.") ```
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值