gpt4 book ai didi

python - 在 Python 中实现 libPD(纯数据包装器)

转载 作者:太空狗 更新时间:2023-10-29 21:50:16 26 4
gpt4 key购买 nike

我用 Python 创建了一个简单的基于文本的密室逃脱游戏,目的是嵌入纯数据补丁(通过 libPd)以播放不同的声音文件(稍后将替换为生成算法)音乐)为我的每个不同的房间。

我目前使用的 python 代码取自 libPD github 中的示例之一。如下——

import pyaudio
import wave
import sys
from pylibpd import *

p = pyaudio.PyAudio()

ch = 2
sr = 48000
tpb = 16
bs = 64

stream = p.open(format = pyaudio.paInt16,
channels = ch,
rate = sr,
input = True,
output = True,
frames_per_buffer = bs * tpb)

m = PdManager(ch, ch, sr, 1)
libpd_open_patch('wavfile.pd')

while 1:
data = stream.read(bs)
outp = m.process(data)
stream.write(outp)

stream.close()
p.terminate()
libpd_release()

纯数据补丁只是简单地播放一个预渲染的 wav 文件,但是生成的输出听起来几乎就像被比特压缩了一样。我猜问题与 block 大小有关,但我不确定。

如果有人有在 Python 中嵌入 lidPD 的经验,我将不胜感激,因为我确信我要实现的目标非常简单。

提前致谢,帽

最佳答案

我最终使用了一种变通方法并导入了 pygame(而不是 pyaudio)来处理音频并初始化补丁。它工作顺利。

感谢您的帮助。

*对于遇到类似问题的任何人,请查看 python 的 libPd github 中的“pygame_test.py”。

关于python - 在 Python 中实现 libPD(纯数据包装器),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17453913/

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