gpt4 book ai didi

python - OSX 上的 Pyaudio 类型错误

转载 作者:行者123 更新时间:2023-12-03 00:04:02 29 4
gpt4 key购买 nike

尝试在 OSX 上使用 pyaudio 进行基本麦克风录音时出现类型错误。我用 brew 新安装了 portaudio,并用 pip 安装了最新的 pyaudio。他们似乎安装得很好。但是,当运行我的代码时,我得到:

Traceback (most recent call last):
File "micTest.py", line 37, in <module>
data = stream.read(CHUNK)
File "/usr/local/lib/python2.7/site-packages/pyaudio.py", line 608, in read
return pa.read_stream(self._stream, num_frames, exception_on_overflow)
TypeError: function takes exactly 2 arguments (3 given)

有问题的代码是:
import audioop
import pyaudio
import wave

FORMAT = pyaudio.paInt16
CHANNELS = 2
RATE = 44100
CHUNK = 1024
RECORD_SECONDS = 5
WAVE_OUTPUT_FILENAME = "file.wav"

audio = pyaudio.PyAudio()
print(audio.get_default_input_device_info())

# start Recording
stream = audio.open(format=FORMAT, channels=CHANNELS,
rate=RATE, input=True,
frames_per_buffer=CHUNK)
print "recording..."
frames = []

for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)):

data = stream.read(CHUNK)
mx = audioop.max(data, 2)
print mx
frames.append(data)


print "finished recording"


# stop Recording
stream.stop_stream()
stream.close()
audio.terminate()

waveFile = wave.open(WAVE_OUTPUT_FILENAME, 'wb')
waveFile.setnchannels(CHANNELS)
waveFile.setsampwidth(audio.get_sample_size(FORMAT))
waveFile.setframerate(RATE)
waveFile.writeframes(b''.join(frames))
waveFile.close()

default_audio_device_info 如下所示:
{
'defaultSampleRate': 44100.0,
'defaultLowOutputLatency': 0.01,
'defaultLowInputLatency': 0.00199546485260771,
'maxInputChannels': 2L,
'structVersion': 2L,
'hostApi': 0L,
'index': 0L,
'defaultHighOutputLatency': 0.1,
'maxOutputChannels': 0L,
'name': u'Built-in Microph',
'defaultHighInputLatency': 0.012154195011337868
}

不知道这里可能出了什么问题,也不知道为什么 read 方法中的“自我”被视为一个参数。

最佳答案

我不知道 PyAudio 出了什么问题,但您可能想试试 sounddevice模块?

import sounddevice as sd
fs = 44100
myrec = sd.rec(RECORD_SECONDS * fs, fs, channels=2)

存储 myrec作为文件,您可以使用 soundfile模块。

关于python - OSX 上的 Pyaudio 类型错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35979725/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com