<p>我设法在Windows10中用sox编译了torchaudio,但有点棘手。在</p>
<p>不幸的是,sox_效应不可用,出现以下错误:</p>
<p><code>RuntimeError: Error opening output memstream/temporary file</code></p>
<p>但您可以使用其他torchaudio功能。在</p>
<p>对于64位Windows 10,我遵循的步骤是:</p>
<h2>TORCHAUDIO WINDOWS10 64位</h2>
<p><strong>注意:</strong>我混合了一些类似unix的命令行语法,您可以使用文件资源管理器或其他工具</p>
<h3>初步安排</h3>
<ol>
<li>下载sox源代码</li>
</ol>
<p><code>$ git clone git://git.code.sf.net/p/sox/code sox</code></p>
<ol start=“2”>
<li>下载其他sox源代码以获得lpc10</li>
</ol>
<pre><code>$ git clone https://github.com/chirlu/sox/tree/master/lpc10 sox2
$ cp -R sox2/lpc10 sox
</code></pre>
<ol start=“3”>
<li>重要信息:安装VisualStudio2019和BuildTools</li>
</ol>
<h3>lpc10库</h3>
<p>4.0条。为lpc10创建一个VisualStudio CMake项目并构建它</p>
^{pr2}$
<p>4.2条。将lpc10.lib复制到sox</p>
<pre><code>$ mkdir -p sox/src/out/build/x64-Debug
$ cp sox/lpc10/out/build/x64-Debug/lpc10.lib sox/src/out/build/x64-Debug
</code></pre>
<h3>gsm库</h3>
<p>5.0条。为libgsm创建一个CMake项目,并像以前一样使用lpc10编译它</p>
<p>5.1条。复制gsm.lib到sox</p>
<pre><code>$ mkdir -p sox/src/out/build/x64-Debug
$ cp sox/libgsm/out/build/x64-Debug/gsm.lib sox/src/out/build/x64-Debug
</code></pre>
<h3>sox库</h3>
<p>6.0条。在VS中为sox创建CMake项目</p>
<p>6.1条。编辑一些文件:</p>
<p>在CMakeLists.txt文件:(在开头加上)</p>
<p><code>project(sox)</code></p>
<p>sox_i.h:(在stdlib.h include行下添加)</p>
<pre><code>#include <wchar.h> /* For off_t not found in stdio.h */
#define UINT16_MAX ((int16_t)-1)
#define INT32_MAX ((int32_t)-1)
</code></pre>
<p>sox.c:(在time.h include行下添加)</p>
<pre><code>`#include <sys/timeb.h>`
</code></pre>
<p>6.2条。使用VisualStudio构建sox</p>
<p>6.3条。复制python将找到它们的库,我使用<strong>conda环境</strong>:</p>
<pre><code>$ 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
</code></pre>
<h3>torchaudio</h3>
<p><code>$ activate <envname></code></p>
<p>7.0条。从github下载torchaudio</p>
<p><code>$ git clone https://github.com/pytorch/audio thaudio</code></p>
<p>7.1条。更新设置.py,在“如果是轮子…”的“else:”语句之后</p>
<p><code>$ vi thaudio/setup.py</code></p>
<p>如果是轮子。。。</em></p>
<pre><code>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']
</code></pre>
<p>7.2条。编辑sox.cpp公司来自torchaudio,因为不允许使用动态数组:</p>
<pre><code>$ vi thaudio/torchaudio/torch_sox.cpp
//char* sox_args[max_num_eopts];
char* sox_args[20]; //Value of MAX_EFFECT_OPTS
</code></pre>
<p>7.3条。构建和安装</p>
<pre><code>$ cd thaudio
$ python setup.py install
</code></pre>
<p>它将打印出大量关于类型转换的警告,以及一些与MSVCRTD冲突的库,但“有效”。在</p>
<p>仅此而已。在</p>