使用支持ASIO的portaudio构建pyaudio

时间:2013-05-08 11:46:00

标签: python gcc portaudio pyaudio

我正在win32上运行Python 2.7.3 [MSC v.1500 32位(英特尔)]。

我需要构建支持ASIO的portaudio并将其绑定到pyaudio以在Windows 7下使用它。基本上我想从python访问ASIO驱动程序,我发现这是方法。 我正在关注pyaudio网页http://people.csail.mit.edu/hubert/pyaudio/的手册。 手册已经过时了,gcc不再支持-mno-cygwin标志了。我做了什么:

  1. 从他们的网页下载PyAudio-0.2.7
  2. 下载稳定的portaudio-v19 http://www.portaudio.com/download.html
  3. 从手册中删除了“-mno-cygwin”选项并编译了portaudio(gcc版本4.5.3)
  4. 编辑C:\ Python27 \ Lib \ distutils \ cygwinccompiler.py并从文件中删除“-mno-cygwin”标志。
  5. 我运行了建议的pyaudio编译,但是我收到了gcc错误

    $ ../Python27/python.exe setup.py build --static-link -cmingw32
    running build
    running build_py
    creating build
    creating build\lib.win32-2.7
    copying src\pyaudio.py -> build\lib.win32-2.7
    running build_ext
    building '_portaudio' extension
    creating build\temp.win32-2.7
    creating build\temp.win32-2.7\Release
    creating build\temp.win32-2.7\Release\src
    C:\MinGW\bin\gcc.exe -mdll -O -Wall -I./portaudio-v19\include/ -Ic:\Python27\inc
    lude -Ic:\Python27\PC -c src/_portaudiomodule.c -o build\temp.win32-2.7\Release\
    src\_portaudiomodule.o -fno-strict-aliasing
    writing build\temp.win32-2.7\Release\src\_portaudio.def
    C:\MinGW\bin\gcc.exe -shared -s build\temp.win32-2.7\Release\src\_portaudiomodul
    e.o build\temp.win32-2.7\Release\src\_portaudio.def -Lc:\Python27\libs -Lc:\Pyth
    on27\PCbuild -lwinmm -lpython27 -lmsvcr90 -o build\lib.win32-2.7\_portaudio.pyd
    ./portaudio-v19\lib/.libs/libportaudio.a -lwinmm
    gcc: error: ./portaudio-v19\lib/.libs/libportaudio.a: No such file or directory
    error: command 'gcc' failed with exit status 1
    
  6. 我认为portaudio编译失败了。我认为提到的libportaudio.a是一个linux文件。你能说出出了什么问题吗?

2 个答案:

答案 0 :(得分:1)

但是http://www.lfd.uci.edu/~gohlke/pythonlibs/的文件不幸地不支持ASIO。 要获得ASIO支持,您还需要获得ASIO SDK。 我设法用Visual Studio 2010 x64编译它,但仍然试图弄清楚如何让它在实践中使用ASIO(输出仍然只有2个频道,当应该有4-8我的卡

答案 1 :(得分:-1)

这是因为该文件在Windows上编译后实际上被称为libportaudio.dll.a,但即使重命名它也不会对问题进行排序。从http://www.lfd.uci.edu/~gohlke/pythonlibs/

下载和安装二进制文件要容易得多

安装pyaudio以使用cygwin的python是另一回事,这就是我遇到的问题。