Audio 如何使用libsox/go-sox将立体声wav转换为两个单声道wav文件
我已经去sox成功地分裂成两个立体声wav文件。但有两个问题:Audio 如何使用libsox/go-sox将立体声wav转换为两个单声道wav文件,audio,go,sox,libsox,Audio,Go,Sox,Libsox,我已经去sox成功地分裂成两个立体声wav文件。但有两个问题: 即使文件具有相同的采样率,结果文件的速度也会大大加快 生成的两个文件仍然是立体声而不是单声道 我使用的代码如下: 关于如何让文件以原始速度和单声道播放,你有什么想法吗?看来“混音1”和“混音2”应该就是这么做的 我使用brew在OSX(v14.4.1_1)上安装了SoX。似乎API没有针对Go进行调整,并且正在向您隐藏错误状态。您正在呼叫sox。请在init中退出。延迟调用在函数结束时完成,因为init是您正在调用的正常函数sox
我使用brew在OSX(v14.4.1_1)上安装了SoX。似乎API没有针对Go进行调整,并且正在向您隐藏错误状态。您正在呼叫
sox。请在init
中退出。延迟调用在函数结束时完成,因为init
是您正在调用的正常函数sox。请在初始化后立即退出。这可能不是真正的问题,但至少是一个单独的问题。是的,你是对的,我需要改变这一点。当我在func main()中执行此操作时,问题确实存在。因此,与主要问题分开来看。在玩了你的代码和go-sox
之后。我发现了导致加速的问题,您没有正确设置输出SignalInfo
。它目前认为它正在向输出文件输出2个通道。这仍然留下了另一个问题,它只输出原始文件一半的持续时间,我一直无法找到问题,我放弃了它。结论是绑定很糟糕,如果您能够,我建议您尝试通过os/exec
使用sox
cmdline工具,而不是这些有问题的绑定。感谢您的尝试。也许我需要深入研究绑定并发送一个pull请求。但是现在没时间。