gpt4 book ai didi

python - Loopback ('What u hear' ) 使用 PyAudio 在 Python 中录制

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

你好,

我正在尝试使用 PyAudio 通过 Python 录制我的扬声器输出。目前,我能够记录我的麦克风输入并将其发送给“听众”。我现在想做的是创建一个环回,这样它就会记录我扬声器的输出。我能够使用 Windows 中的“立体声混音”来做到这一点,但由于这需要跨平台,所以应该有另一种方法来做到这一点。

有没有人对我如何实现这一目标有一些建议?

这是我当前用于记录输入流的代码。

import socket
import pyaudio
import wave

#record
CHUNK = 1024
FORMAT = pyaudio.paInt16
CHANNELS = 1
RATE = 44100
RECORD_SECONDS = 40

HOST = '192.168.0.122' # The remote host
PORT = 50007 # The same port as used by the server

recording = True

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))

p = pyaudio.PyAudio()

for i in range(0, p.get_device_count()):
print(i, p.get_device_info_by_index(i)['name'])

device_index = int(input('Device index: '))

stream = p.open(format=FORMAT,
channels=CHANNELS,
rate=RATE,
input=True,
frames_per_buffer=CHUNK,
input_device_index=device_index)

print("*recording")

frames = []

while recording:
data = stream.read(CHUNK)
frames.append(data)
s.sendall(data)

print("*done recording")

stream.stop_stream()
stream.close()
p.terminate()
s.close()

print("*closed")

如有任何帮助,我们将不胜感激!

最佳答案

编辑:我没有看到跨平台的东西。将其作为 Windows 环回设备的引用。

像 [1] 一样安装一个虚拟环回设备并选择适配器作为您的输入设备。这对我非常有用。

您可以像这样使用 pyAudio 检查:

>>> print p.get_device_count()
8

>>> print p.get_device_info_by_index(1)["name"]
Line 1 (Virtual Audio Cable)

所以,我使用 1 作为我的 device_index。

[1] http://virtual-audio-cable.en.softonic.com/

关于python - Loopback ('What u hear' ) 使用 PyAudio 在 Python 中录制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23295920/

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