- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想编写一个程序,让我可以用电脑键盘播放样本声音,几乎没有延迟。
我的程序:
import numpy as np
import sounddevice as sd
import soundfile as sf
import msvcrt
sd.default.latency = 'low'
samplesarray = []
def load_samples(num):
filename='sample'+str(num)+'.wav'
data, fs = sf.read(filename, dtype='float32')
sd.default.samplerate = fs
samplesarray.append(data)
return
numberofsamples=3
for i in range(numberofsamples):
load_samples(i+1)
def play_session():
while 0==0:
key = int(msvcrt.getch())
sd.play(samplesarray[key-1])
return
play_session()
最佳答案
除其他事项外,可能的最低延迟取决于您使用的主机 API。由于您正在导入 msvcrt
模块,我假设您使用的是 Windows,对吗?
您通常可以在其中选择多个主机 API。使用 WASAPI、WDM/KS 或 ASIO 通常可以达到最低延迟。
如果你使用 WASAPI,你可以试试 exclusive mode ,这可能会降低延迟,但我不确定。
设置latency
至'low'
(正如您所做的那样)应该可以解决问题,但您也可以尝试对 blocksize
使用不同的值.但请注意,太小的 block 大小会导致缓冲区下溢,这可能会导致听到咔嗒声。
最后,如果你真的想从你的设置中挤出最后一点延迟,你应该摆脱sd.play()
。 (在每次调用时打开一个新的 sd.OutputStream
),而是在您自己的回调函数中实现您的播放逻辑。
关于python - 使用 sounddevice 模块从命令行播放声音样本时延迟太高,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44146445/
我可以从我的麦克风中播放音频,但声音非常低沉,老实说,这听起来像是程序要崩溃了。 我尝试使用 InputStream,但播放时声音很糟糕,知道我做错了什么吗? 10 是我的麦克风,而 13 是我的输出
我想编写一个程序,让我可以用电脑键盘播放样本声音,几乎没有延迟。 我的程序: import numpy as np import sounddevice as sd import soundfile
我目前有 2 个适合输入的音频编解码器,我想同时录制它们而不是顺序录制。 这就是我看到我的设备的方式: import sounddevice as sd sd.querydevices() 输出:
我正在使用Python sounddevice和 PySoundFile以“困难的方式”播放音频,即使用非阻塞回调。 (向https://stackoverflow.com/users/500098/
我正在编写一个程序来通过网络流式传输音频,所以我有一个线程来记录数据和一个发送数据。测试音频时有明显的差距。我相信这是由于 sounddevice.play() 函数造成的,下面的示例也有同样的问题。
需要帮忙 我想要的是 : 我想录制麦克风并从 txt 文件中获取持续时间 代码: import sounddevice as sd import numpy as np import scipy.io
我使用了以下代码来使用 sounddevice 播放音频文件 import sounddevice as sd import numpy as np (fs1, x) = read('Traffic_
我试图让我的音频接口(interface)连续循环播放相同的音频。有人推荐使用 sounddevice 库中的“OutputStream”函数。这是我为此编写的代码: sounddevice.defa
我目前正在编写一个脚本,该脚本应该能够将 8 个音频 channel (.wav 文件)输出到声卡上的 8 个不同 channel 。我的脚本有点工作,但我有同步问题。我能够听到播放期间 channe
我似乎无法弄清楚为什么我的代码不会产生 fft由 sounddevice.rec() 制成的 numpy 数组我能够让代码与音频文件一起使用,但不能与sounddevice 的数据 这是我的代码: i
我正在使用 python 库 sounddevice用于一些音频处理。当我使用 Stream 类将从输入设备(麦克风)收集的输入数据传递到输出时,回调函数有一个表示声音数据的 NumPy 数组: de
我有在 raspberry pi B++ 上运行的 python 代码,它使用 sounddevice 库,让您可以使用 python 播放和录制声音。我已经成功安装了模块。我可以通过 python
我编写了一个实验,向参与者展示了一系列视觉刺激(刺激持续时间:100 毫秒,试验持续时间:500 毫秒)。在视觉刺激开始的同时,会播放 100 毫秒的声音。 一些视觉刺激是目标,参与者在检测到目标时应
当我尝试运行示例 Google AI 时,出现以下错误,如 Configure and Run the sample 所示- (env) pi@raspberrypi:~ $ python -m go
我使用的是 Focusrite Scarlett 18i20 音频接口(interface),我需要使用至少 4 个输入来记录脉冲响应。我在 Windows 10 PC 上运行,使用 python (
我真的不了解有关如何实现 Sounddevice Stream 方法的正确格式或代码结构。我想创建一个基本缓冲区,它几乎实时地写入要在回调中读取的数组数据。我希望能够通过与流集成的线程查询来更改声波的
我知道这似乎是 ValueError 帖子中的另一篇,但请听我说完,并了解我已尝试使用 Google 搜索并浏览 StackOverflow 社区,以寻找可行的解决方案来解决我的问题。 我目前正在尝试
我是一名优秀的程序员,十分优秀!