相关疑难解决方法(0)

PyAudio正在工作,但每次都会发出错误消息

我正在使用PyAudio来录制麦克风的输入.

由于音频录制对我来说很好,我应该尝试简单地抑制其错误消息吗?还是有办法解决它们?

ALSA lib pcm.c:2212:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2212:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2212:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib audio/pcm_bluetooth.c:1613:(audioservice_expect) BT_GET_CAPABILITIES failed : Input/output error(5)
ALSA lib audio/pcm_bluetooth.c:1613:(audioservice_expect) BT_GET_CAPABILITIES failed : Input/output error(5)
ALSA lib audio/pcm_bluetooth.c:1613:(audioservice_expect) BT_GET_CAPABILITIES failed : Input/output error(5)
ALSA lib audio/pcm_bluetooth.c:1613:(audioservice_expect) BT_GET_CAPABILITIES failed : Input/output error(5)
ALSA lib pcm_dmix.c:957:(snd_pcm_dmix_open) The dmix plugin supports only playback stream
ALSA lib pcm_dmix.c:1018:(snd_pcm_dmix_open) unable to open slave
Cannot connect to server socket err = No such file or …
Run Code Online (Sandbox Code Playgroud)

python alsa pyaudio

32
推荐指数
4
解决办法
4万
查看次数

如何在python中播放wav文件?

我尝试使用pygame来播放这样的wav文件:

import pygame
pygame.init()

pygame.mixer.music.load("mysound.wav")
pygame.mixer.music.play()
pygame.event.wait()
Run Code Online (Sandbox Code Playgroud)

但它改变了声音,我不知道为什么!我看了这个链接解决方案,并不能解决我的播放波形文件的问题!

对于这个解决方案,我不知道应该导入什么?

s = Sound() 
s.read('sound.wav') 
s.play()
Run Code Online (Sandbox Code Playgroud)

对于这个解决方案/ dev/dsp在新版本的linux中不存在:

from wave import open as waveOpen
from ossaudiodev import open as ossOpen
s = waveOpen('tada.wav','rb')
(nc,sw,fr,nf,comptype, compname) = s.getparams( )
dsp = ossOpen('/dev/dsp','w')
try:
  from ossaudiodev import AFMT_S16_NE
except ImportError:
  if byteorder == "little":
    AFMT_S16_NE = ossaudiodev.AFMT_S16_LE
  else:
    AFMT_S16_NE = ossaudiodev.AFMT_S16_BE
dsp.setparameters(AFMT_S16_NE, nc, fr)
data = s.readframes(nf)
s.close()
dsp.write(data)
dsp.close()
Run Code Online (Sandbox Code Playgroud)

当我尝试pyglet它给我这个错误:

import pyglet

music = pyglet.resource.media('mysound.wav')
music.play()

pyglet.app.run()
--------------------------

nima@ca005 Desktop]$ python …
Run Code Online (Sandbox Code Playgroud)

python audio pygame pyglet

23
推荐指数
3
解决办法
7万
查看次数

PyAudio无法工作并在ubuntu上破坏声音

好的,所以我pyaudio从包中python-pyaudio使用安装apt-get,现在当我导入和调用时如下:

Python 2.7.3 (default, Sep 26 2012, 21:53:58) 
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pyaudio
>>> p= pyaudio.PyAudio()
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm_params.c:2162:(snd1_pcm_hw_refine_slave) Slave PCM not usable
ALSA lib pcm_params.c:2162:(snd1_pcm_hw_refine_slave) Slave PCM not usable
ALSA lib pcm_params.c:2162:(snd1_pcm_hw_refine_slave) Slave PCM not usable
ALSA lib pcm_dmix.c:957:(snd_pcm_dmix_open) The dmix plugin supports only …
Run Code Online (Sandbox Code Playgroud)

python ubuntu pulseaudio pyaudio

7
推荐指数
1
解决办法
4097
查看次数

一次播放很多声音

我试图在python中创建一个程序,在按下某个键时播放特定的大键琴音符.我希望它保持响应,这样你就可以继续播放更多的音符(有点像普通的电钢琴.)但是,因为存储音符的wav文件长约7-10秒,我遇到了一些问题.我每秒至少可以按10键.因此,在一个音符的持续时间内,我可以同时播放大约100个不同的wav文件.我试图使用winsound,但它无法一次播放多个wav文件.然后我转移到PyAudio,它有点像.我发现完成我想要的唯一方法是:

from msvcrt import getch
import pyaudio
import wave
import multiprocessing as mp

#This function is just code for playing a sound in PyAudio
def playNote(filename):

    CHUNK = 1024

    wf = wave.open(filename, 'rb')


    p = pyaudio.PyAudio()

    stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),
                    channels=wf.getnchannels(),
                    rate=wf.getframerate(),
                    output=True)

    data = wf.readframes(CHUNK)

    while data != '':
        stream.write(data)
        data = wf.readframes(CHUNK)

    stream.stop_stream()
    stream.close()

    p.terminate()


if __name__ == "__main__":

    while True:
        #If the 'a' key is pressed: start a new process that calls playNote
        #and pass in the file …
Run Code Online (Sandbox Code Playgroud)

python python-3.x

7
推荐指数
1
解决办法
4843
查看次数

标签 统计

python ×4

pyaudio ×2

alsa ×1

audio ×1

pulseaudio ×1

pygame ×1

pyglet ×1

python-3.x ×1

ubuntu ×1