问题标签 [python-sounddevice]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
21258 浏览

python - python:如何改变音量?

我使用winsound.Beep(frequency, duration)是因为我想以指定的频率播放声音。现在,我需要改变这些声音的音量。我怎样才能做到这一点?我试图寻求帮助,pyaudio但...

0 投票
1 回答
510 浏览

macos - Python 模块 sounddevice 在 OSX 和 Linux 上间歇性地不起作用(点击)

在开发摩尔斯电码播放程序时,我发现 sounddevice 0.3.7 会间歇性地工作,一次播放完美,然后下一次只是发出一堆咔哒声。

我正在使用这种方法播放相当短的片段(一秒到几秒):

其中 w 是一个 np.array,其样本以正确的采样率进行,并且主要是音调的嘀嗒声。工作时听起来很棒,坏了时听起来像是一堆咔哒声。

我不确定为什么会这样。

0 投票
1 回答
235 浏览

python - 使用 sounddevice 模块从命令行播放声音样本时延迟太高

我想编写一个程序,让我可以用电脑键盘播放样本声音,几乎没有延迟。

我的程序:

程序文件夹包含许多名为 sample1.wav、sample2.wav 等的“one shot”短样本,例如底鼓或军鼓。在此示例中,为简单起见,仅加载了三个。我可以在终端中启动我当前的程序,并在我的按键上播放“映射”的样本,这正是我想要的。唯一的问题是延迟:虽然不是很大,但它绝对是显而易见的。

对于现场播放样本,理想情况下延迟应该实际上是不可感知的(几十毫秒的数量级)。

我怎么能做到这一点?

0 投票
1 回答
669 浏览

python - 在不同的函数中启动和停止 SoundDevice Stream

我正在尝试在我的 PyQt 应用程序中使用 sounddevice OutputStream 来播放声音。

我想要类似的东西

现在这不起作用,但如果我设置为:

它可以工作,但我无法停止来自另一个功能的流,并且应用程序停止运行。

如果有人有解决方法或修复的想法,将不胜感激

0 投票
1 回答
3047 浏览

python - Python - 读取音频流

因此,我正在尝试设置一个应用程序来记录来自麦克风的音频输入,并检查您是否说出了特定的阶段/命令。一旦它读取该命令,它就会启动一个函数。我正在使用声音设备包录制音频输入。实际上对于文档,您使用 rec 命令读取输入,但这是一个开始停止阻塞操作。我无法评估该录音的价值。有谁知道如何将流用于音频缓冲区?

0 投票
1 回答
710 浏览

python - 停止 sounddevice 音频输出中的循环

问题是当我使用 sounddevice 的循环选项循环播放时,我无法让它停止。

如何在循环开始后停止循环。是否可以编写一个函数,以便在调用该函数时循环停止并关闭音频流?

0 投票
1 回答
1002 浏览

python - 使用 sounddevice 在两个不同的通道上同时播放两个输入,每个输出

我有两个不同的 wav 文件,它们都是单声道的,我想做的是结合使用 sounddevice 并将第一个 wav 映射到第一个通道,将第二个 wav 映射到第二个通道并同时播放。

我尝试了一种非常愚蠢的方法,但没有奏效,我想不出一种方法来做我正在尝试的事情。

0 投票
1 回答
1874 浏览

python - Python - 多处理 - 队列:我的队列的引用发生了变化,即使它是同一个对象?

我不久前开始使用多处理,它正在处理基本示例。之后我尝试实现某种多声音输入程序,并尝试通过队列将输入通量引导到某个处理模块,但目前严重失败。我将用 3 点来描述我的问题:文件夹结构、流程结构、我尝试过的内容。

文件夹结构

  • 根文件夹
    • 应用
      • 启动应用程序.py
      • input_cfg.ini
      • 核心.py
      • gui.py
      • audio_recorder.py(使用 sounddevice.InputStream)
      • x_recorder.py

进程结构 当我开始运行我的应用程序时,会调用 gui 并在我按下开始按钮后创建进程。

  • 主要流程
  • audio_recorder_1 进程
  • audio_recorder_进程
  • 申请流程

我试过的

核心.py

启动应用程序.py

audio_recorder.py

它不起作用。调试后,似乎从core.py记录器开始后,队列的引用发生了变化......仅供参考调试信息:

之后我也尝试使用不同的东西,都失败了,我无法传递数据......队列是否有可能在这里是可变对象?或者多处理中存在错误(非常不可能)或者与 sounddevice 的组合使队列不稳定?

对不起,我的描述很长...

我提前感谢您的帮助!
最好的问候,
塞巴斯蒂安

0 投票
1 回答
1845 浏览

python - sounddevice 上的多个输入

我有 2 个声卡,我必须从中获取输入、处理它并馈送到第三张卡的输出。我认为sounddevicelib 是为此目的的最佳选择,因为它直接与使用起来numpy非常舒适的数组一起使用。但是我现在遇到了两个问题:
1.我无法理解如何在一个流中连接到来自不同卡的 2 个(以及更多)输入(或者可能打开多个流)
2.什么时候尝试使用预定义设备启动输出流时出现错误:

我想这是因为我的 MacBook 上的 Core Audio 通道映射,它具有以下音频配置:

0 Built-in Input, Core Audio (2 in, 0 out)
1 Built-in Output, Core Audio (0 in, 2 out)

但我自己无法解决这个问题。

提前致谢

0 投票
1 回答
5599 浏览

python - python-sounddevice - 从麦克风播放音频

我可以通过麦克风播放音频,但声音非常低沉,老实说,听起来程序会崩溃。

我尝试使用 InputStream 但播放时声音很糟糕,知道我做错了什么吗?

10 是我的麦克风,而 13 是我的输出设备(扬声器)

我觉得我需要将它添加到队列中并从队列中播放?