我用 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 文件,但生成的输出听起来几乎就像是被比特粉碎了一样。我猜问题与块大小有关,但不确定。
如果有人有在 Python 中嵌入 lidPD 的经验,我将不胜感激,因为我确信我想要实现的目标非常简单。
在此先感谢, 帽