c# - 使用 NAudio 将 .vox 音频文件转换为 .wav 或 .mp3
问题描述
我正在尝试NAudio
使用以下代码将 .vox 转换为 .mp3 或 .wav:-
var bytes = GetBytes(new FileInfo(@"D:\path\to\vox-file.vox"));
using (var writer = new WaveFileWriter(@"D:\path\to\wav-file.wav", new WaveFormat(8000, 8, 2)))
{
writer.Write(bytes, 0, bytes.Length);
}
但是,.wav
我得到的转换后的文件的音频非常失真,并且无法收听。我是否缺少一些配置NAudio
?
解决方案
我能够使用以下内容将 .vox 文件转换为 .wav:-
var bytes = GetBytes(new FileInfo(@"path-to.vox"));
using (var writer = new WaveFileWriter(@"path-to.wav", Mp3WaveFormat.CreateMuLawFormat(8000, 1)))
{
writer.Write(bytes, 0, bytes.Length);
}
这里重要的是这部分:Mp3WaveFormat.CreateMuLawFormat(8000, 1)
,这基本上是您要创建的 .wav 文件的某种格式/配置,这些值可能会因您的 .vox 文件而异
推荐阅读
- laravel - 我无法安装 Jetstream:[InvalidArgumentException]Package laravel/jetstream
- css - Vue添加动态类不会改变当前类
- typescript - 从已解决的承诺中返回 json 对象并在加载后分配它
- r - 语言对象 (LANGSXP) 背后的数据结构在 R 中是什么样子的?
- javascript - 动画 D3 弧,每个绑定数据点都有一个弧
- python - 使用 python 将 Excel 中的按列 JSON 数据转换为层次结构
- amazon-web-services - 使用弹性 IP 进行 EC2 端口侦听
- java - 为什么在自定义 jpa `@Configuration` 时`SpringBootApplication` 不扫描`Entites` 和`Repositories`
- db2 - 使用 ibm-db 时出现 db2 资源限制错误
- azure - 使用 SDK azblob 和托管服务标识将文件从 Azure VM 上传到 Azure 存储