首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Windows 10 conda上安装火炬音频?

如何在Windows 10 conda上安装火炬音频?
EN

Stack Overflow用户
提问于 2019-02-25 18:52:06
回答 2查看 5.8K关注 0票数 2

在安装了PyTorch的AnacondaPython3.6.7中,我在Windows 10上执行以下操作:

代码语言:javascript
复制
conda install -c conda-forge librosa
conda install -c groakat sox

然后,我从https://github.com/pytorch/audio上下载了一个新的

代码语言:javascript
复制
python setup.py install

它运行了一段时间,最后就这样结束了:

代码语言:javascript
复制
torchaudio/torch_sox.cpp(3): fatal error C1083: Cannot open include file: 'sox.h': No such file or directory
error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.15.26726\\bin\\HostX86\\x64\\cl.exe' failed with exit status 2

我试图在Windows:http://opennmt.net/OpenNMT-py/speech2text.html上复制这个OpenNMT-py语音训练演示。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-10-31 10:45:32

我在Windows 10中成功地用sox编译了torchaudio,但有点棘手。

不幸的是,sox_effects无法使用,此错误显示:

RuntimeError: Error opening output memstream/temporary file

但您可以使用其他torchaudio功能。

对于Windows 10 64位,我遵循的步骤是:

TORCHAUDIO WINDOWS10 64位

注意:我混合了一些类似unix的命令行语法,您可以使用文件资源管理器或其他什么。

初步安排

  1. 下载sox来源

$ git clone git://git.code.sf.net/p/sox/code sox

  1. 下载其他sox源代码以获取lpc10
代码语言:javascript
复制
$ git clone https://github.com/chirlu/sox/tree/master/lpc10 sox2
$ cp -R sox2/lpc10 sox
  1. 安装重要的VisualStudio2019和BuildTools

lpc10库

4.0。为VisualStudio CMake项目创建lpc10并构建该项目

代码语言:javascript
复制
Start window -> open local folder -> sox/lpc10
(it reads CMakeLists.txt automatically)
Build->build All

4.2。将lpc10.lib复制到sox

代码语言:javascript
复制
$ mkdir -p sox/src/out/build/x64-Debug
$ cp sox/lpc10/out/build/x64-Debug/lpc10.lib sox/src/out/build/x64-Debug

gsm库

5.0.为libgsm创建一个CMake项目,并像以前一样用lpc10编译它

5.1。将gsm.lib复制到sox

代码语言:javascript
复制
$ mkdir -p sox/src/out/build/x64-Debug
$ cp sox/libgsm/out/build/x64-Debug/gsm.lib sox/src/out/build/x64-Debug

sox库

6.0.在VS中为sox创建一个CMake项目

6.1。编辑一些文件:

CMakeLists.txt:(在开头添加)

project(sox)

sox_i.h:(在stdlib.h包含行下添加)

代码语言:javascript
复制
#include <wchar.h> /* For off_t not found in stdio.h */
#define UINT16_MAX  ((int16_t)-1)
#define INT32_MAX  ((int32_t)-1)

sox.c:(在time.h包含行下添加)

代码语言:javascript
复制
`#include <sys/timeb.h>`

6.2。用VisualStudio构建sox

6.3。复制python将找到它们的库,我使用conda环境

代码语言:javascript
复制
$ cp sox/src/out/build/x64-Debug/libsox.lib envs\<envname>\libs\sox.lib
$ cp sox/src/out/build/x64-Debug/gsm.lib envs\<envname>\libs
$ cp sox/src/out/build/x64-Debug/lpc10.lib envs\<envname>\libs

torchaudio

$ activate <envname>

7.0.从github下载torchaudio

$ git clone https://github.com/pytorch/audio thaudio

7.1。更新setup.py,在"else:“语句"if IS_WHEEL.”之后

$ vi thaudio/setup.py

如果IS_WHEEL..。

代码语言:javascript
复制
else:
    audio_path = os.path.dirname(os.path.abspath(__file__))

    # Add include path for sox.h, I tried both with the same outcome
    include_dirs += [os.path.join(audio_path, '../sox/src')]
    #include_dirs += [os.path.join(audio_path, 'torchaudio/sox')]

    # Add more libraries

    #libraries += ['sox']
    libraries += ['sox','gsm','lpc10']

7.2。从torchaudio编辑sox.cpp,因为不允许动态数组:

代码语言:javascript
复制
$ vi thaudio/torchaudio/torch_sox.cpp

 //char* sox_args[max_num_eopts];
 char* sox_args[20]; //Value of MAX_EFFECT_OPTS

7.3。建立和安装

代码语言:javascript
复制
$ cd thaudio
$ python setup.py install

它将打印出大量关于类型转换的警告和一些与MSVCRTD的库冲突,但“工作”。

仅此而已。

票数 3
EN

Stack Overflow用户

发布于 2019-02-25 20:00:04

坏消息我担心:如果不付出很大的努力,你就无法在PyTorch上获得音频。问题在于libsox是依赖关系之一。您可能已经安装了sox,但是开发版本是完全不同的。这个错误完全是关于头文件丢失的抱怨。有一个打开的票证支持Windows。

长话短说,构建libsox作为Windows的静态库是很困难的。你可以试试西格温的运气。或者使用Docker / VM。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54872876

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档