gpt4 book ai didi

python - 使用 Python 录制或播放音频无法在 Mac 上运行 : No Errors & No Sound

转载 作者:太空宇宙 更新时间:2023-11-03 20:16:10 28 4
gpt4 key购买 nike

我尝试仅使用内置麦克风和扬声器在 Mac(Catalina) 上的 Python 3.7 上使用音频。我的问题是,对于我尝试过的任何代码,在录制时我什么也接收不到,而在播放声音时什么也没有输出。我尝试了此question的答案:首先我尝试使用 PyAudio,如下所示:

import pyaudio
import wave

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

p = pyaudio.PyAudio()
stream = p.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)
frames.append(data)
print("* done recording")

stream.stop_stream()
stream.close()
p.terminate()
wf = wave.open(WAVE_OUTPUT_FILENAME, 'wb')
wf.setnchannels(CHANNELS)
wf.setsampwidth(p.get_sample_size(FORMAT))
wf.setframerate(RATE)
wf.writeframes(b''.join(frames))
wf.close()

这会返回一个静默文件。

然后我尝试使用 SoundDevice:

import sounddevice as sd
import matplotlib.pyplot as plt

fs = 44100 # frames per sec
sd.default.samplerate = fs
sd.default.channels = 2

duration = 3.0 # Aufnahmezeit
recording = sd.rec( int( duration * fs) )
print("* recording")
sd.wait()
print("* done!")

t = [ i for i in range( int( duration * fs) )]

plt.plot(t, recording, 'r-')
plt.show()

返回一个用零填充的数组:Screenshot of the Plot 。两者都没有导致任何错误或警告。

之后我尝试播放 440 Hz 的简单正弦波,扬声器保持沉默。

相同的代码,在我 friend 的 Mac 上运行没有问题。麦克风和扬声器也工作正常。在系统偏好设置中,我允许每个应用程序使用麦克风。

这个person似乎有类似的问题。也尝试过this code没有结果。

我不知道还能尝试什么来解决这个问题。

最佳答案

关于python - 使用 Python 录制或播放音频无法在 Mac 上运行 : No Errors & No Sound,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58433344/

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