Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Audio 如何使用libsox/go-sox将立体声wav转换为两个单声道wav文件_Audio_Go_Sox_Libsox - Fatal编程技术网

Audio 如何使用libsox/go-sox将立体声wav转换为两个单声道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

我已经去sox成功地分裂成两个立体声wav文件。但有两个问题:

  • 即使文件具有相同的采样率,结果文件的速度也会大大加快
  • 生成的两个文件仍然是立体声而不是单声道
  • 我使用的代码如下:

    关于如何让文件以原始速度和单声道播放,你有什么想法吗?看来“混音1”和“混音2”应该就是这么做的


    我使用brew在OSX(v14.4.1_1)上安装了SoX。

    似乎API没有针对Go进行调整,并且正在向您隐藏错误状态。您正在呼叫
    sox。请在
    init
    中退出。延迟调用在函数结束时完成,因为
    init
    是您正在调用的正常函数
    sox。请在初始化后立即退出。这可能不是真正的问题,但至少是一个单独的问题。是的,你是对的,我需要改变这一点。当我在func main()中执行此操作时,问题确实存在。因此,与主要问题分开来看。在玩了你的代码和
    go-sox
    之后。我发现了导致加速的问题,您没有正确设置输出
    SignalInfo
    。它目前认为它正在向输出文件输出2个通道。这仍然留下了另一个问题,它只输出原始文件一半的持续时间,我一直无法找到问题,我放弃了它。结论是绑定很糟糕,如果您能够,我建议您尝试通过
    os/exec
    使用
    sox
    cmdline工具,而不是这些有问题的绑定。感谢您的尝试。也许我需要深入研究绑定并发送一个pull请求。但是现在没时间。