从 pyaudio-stream 获取浮点数形式的音频样本

2023-11-25

由于我目前正准备构建一个基于 Raspberry Pi 的设备,用于测量声卡记录的噪声(例如方差)中的一些内容,并尝试在 python 中执行此操作,所以我陷入了如何获取音频样本的困境中用于进一步计算的浮点数。

我做了什么:
使用线路输入适配器并触摸插头以生成某种测试信号。
记录到 Audacity 或 Matlab 等会显示出合理的结果,例如

enter image description here

我想得到什么:
理想情况下,我想从声卡获取例如 5 帧 á 1024 个样本,并将它们转换为列表、元组或 numpy 数组作为浮点数以进行进一步计算。

当尝试使用 python/pyaudio 和本文末尾的代码来实现此目的时,我得到了这样的结果:

enter image description here

由于我用 python 得到的值似乎与 Matlab(和其他)中的值相差大约两倍,所以我认为我已经监督了一些事情或做错了一些事情。 我认为我在 struct.unpack 区域的某个地方犯了一个错误,但无法弄清楚具体位置或原因。 我想请您帮忙指出错误在哪里以及我做错了什么。

用于获取一些样本并绘制它们的小测试代码:

import pyaudio
import struct
import matplotlib.pyplot as plt

FORMAT = pyaudio.paFloat32
SAMPLEFREQ = 44100
FRAMESIZE = 1024
NOFFRAMES = 220
p = pyaudio.PyAudio()
print('running')

stream = p.open(format=FORMAT,channels=1,rate=SAMPLEFREQ,input=True,frames_per_buffer=FRAMESIZE)
data = stream.read(NOFFRAMES*FRAMESIZE)
decoded = struct.unpack(str(NOFFRAMES*FRAMESIZE)+'f',data)

stream.stop_stream()
stream.close()
p.terminate()
print('done')
plt.plot(decoded)
plt.show()

尝试使用“numpy.fromstring”函数替换“struct.unpack”:

import numpy
stream = p.open(format=FORMAT,channels=1,rate=SAMPLEFREQ,input=True,frames_per_buffer=FRAMESIZE)
data = stream.read(NOFFRAMES*FRAMESIZE)
decoded = numpy.fromstring(data, 'Float32');

让我知道这是否适合你

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 pyaudio-stream 获取浮点数形式的音频样本 的相关文章

  • 如何更改 FacetGrid 中的边距标题颜色

    使用 Seaborn Facet Grids 如何仅更改边距标题的颜色 注意g set titles color red 更改两个标题 p sns load dataset penguins sns displot data p x fli
  • 阻止 TensorFlow 访问 GPU? [复制]

    这个问题在这里已经有答案了 有没有一种方法可以纯粹在CPU上运行TensorFlow 我机器上的所有内存都被运行 TensorFlow 的单独进程占用 我尝试将 per process memory fraction 设置为 0 但未成功
  • 上传时的 Google Drive API——这些额外的空行从何而来?

    总结一下该程序 我从我的 Google 云端硬盘下载一个文件 然后在本地计算机中打开并读取一个文件 file a txt 然后在我的计算机中打开另一个文件 file b txt 处于附加模式 并且在使用这个新的 file b 更新我的 Go
  • 嵌套字典中的 Django 模板

    我正在使用 Django 模板 并且遇到了嵌套字典的一个问题 Dict result dict type 0 file name abc count 0 type 1 file name xyz count 50 我的 HTML 文件中的模
  • 如何使用 colorchecker 在 opencv 中进行颜色校准?

    我有数码相机获取的色彩检查器图像 我如何使用它来使用 opencv 校准图像 按照以下颜色检查器图像操作 您是想问如何进行颜色校准或如何使用 OpenCV 进行校准 为了进行颜色校准 您可以使用校准板的最后一行 灰色调 以下是您应该逐步进行
  • numpy python 中的“AttributeError:'matrix'对象没有属性'strftime'”错误

    我有一个维度为 72000 1 的矩阵 该矩阵涉及时间戳 我想使用 strftime 如下所示 strftime d m y 为了得到像这样的输出 11 03 02 我有这样一个矩阵 M np matrix timestamps 我使用了
  • 从sklearn PCA获取特征值和向量

    如何获取 PCA 应用程序的特征值和特征向量 from sklearn decomposition import PCA clf PCA 0 98 whiten True converse 98 variance X train clf f
  • 如何在Python中高效地添加稀疏矩阵

    我想知道如何在Python中有效地添加稀疏矩阵 我有一个程序 可以将大任务分解为子任务 并将它们分配到多个 CPU 上 每个子任务都会产生一个结果 一个 scipy 稀疏矩阵 格式为 lil matrix 稀疏矩阵尺寸为 100000x50
  • 编辑 Jupyter Notebook 时 VS Code 中缺少“在选择中查找”

    使用 Jupyter Notebook 时 VSCode 中缺少 在选择中查找 按钮 它会减慢开发速度 所以我想请问有人知道如何激活它吗 第一张图显示了在 python 文件中的搜索 替换 第二张图显示了笔记本电脑中缺少的按钮 Python
  • Pandas:如何将数据框插入 Clickhouse

    我正在尝试将 Pandas 数据框插入 Clickhouse 这是我的代码 import pandas import sqlalchemy as sa uri clickhouse default localhost default ch
  • 在相同任务上,Keras 比 TensorFlow 慢

    我正在使用 Python 运行斩首 DCNN 本例中为 Inception V3 来获取图像特征 我使用的是 Anaconda Py3 6 和 Windows7 使用 TensorFlow 时 我将会话保存在变量中 感谢 jdehesa 并
  • 对使用 importlib.util 导入的对象进行酸洗

    我在使用Python的pickle时遇到了一个问题 我需要通过将文件路径提供给 importlib util 来加载一些 Python 模块 如下所示 import importlib util spec importlib util sp
  • 如何使用 Bokeh 动态隐藏字形和图例项

    我正在尝试在散景中实现复选框 其中每个复选框应显示 隐藏与其关联的行 我知道可以通过图例来实现这一点 但我希望这种效果同时在两个图中发生 此外 图例也应该更新 在下面的示例中 出现了复选框 但不执行任何操作 我显然不明白如何更新用作源的数据
  • 使用 NLP 进行地址分割

    我目前正在开发一个项目 该项目应识别地址的每个部分 例如来自 str Jack London 121 Corvallis ARAD ap 1603 973130 输出应如下所示 street name Jack London no 121
  • falcon,AttributeError:“API”对象没有属性“create”

    我正在尝试测试我的猎鹰路线 但测试总是失败 而且看起来我把所有事情都做对了 my app py import falcon from resources static import StaticResource api falcon API
  • Python对象初始化性能

    我只是做了一些快速的性能测试 我注意到一般情况下初始化列表比显式初始化列表慢大约四到六倍 这些可能是错误的术语 我不确定这里的行话 例如 gt gt gt import timeit gt gt gt print timeit timeit
  • 附加两个具有相同列、不同顺序的数据框

    我有两个熊猫数据框 noclickDF DataFrame 0 123 321 0 1543 432 columns click id location clickDF DataFrame 1 123 421 1 1543 436 colu
  • 从列表python的单个列表中删除子列表

    我已经经历过从列表列表中删除子列表 https stackoverflow com questions 47209786 removing sublists from a list of lists 但当我为我的数据集扩展它时 它不适用于我
  • 通过 Web 界面执行 python 单元测试

    是否可以通过 Web 界面执行单元测试 如果可以 如何执行 EDIT 现在我想要结果 对于测试 我希望它们是自动化的 可能每次我对代码进行更改时 抱歉我忘了说得更清楚 EDIT 这个答案此时已经过时了 Use Jenkins https j
  • python 中的 after() 与 update()

    我是 python 新手 开始使用 tkinter 作为画布 到目前为止 我使用 update 来更新我的画布 但还有一个 after 方法 谁能给我解释一下这个函数 请举个例子 两者之间有什么区别 root after integer c

随机推荐

  • 如何使枚举类与“位或”功能一起使用?

    我通常使用enum与 位或 或 在一起可以让一个对象拥有一些选项 如何使枚举类与 位或 功能一起使用 您需要重载枚举类的运算符 并通过转换为基础类型来实现它们 enum class foo unsigned bar 1 baz 2 foo
  • Symfony 安全性返回 401 响应而不是重定向

    我正在编写一个带有ajax身份验证的ajax应用程序 现在我开始使用silex中的symfony安全组件来处理身份验证 授权 使用简单的配置进行简单的测试 我进入防火墙的受保护区域 得到的响应是重定向到 login页面 但我在应用程序中需要
  • 阻止 UIPopover 自动关闭

    我想知道是否有办法阻止 iPad 弹出框在您触摸弹出框外的屏幕时自动关闭 如果没有 是否有某种类似于 popoverDidDismiss 的方法 我可以调用它来告诉弹出窗口何时被关闭 是的你可以 这是苹果文档中的内容 当由于用户在弹出窗口视
  • 在球体上翻转 Three.js 中的法线

    我一直在四处寻找 但还没有找到任何真正好的答案来回答我的问题 问题是我有这个球体 只是一个基本球体 我想翻转法线 所以 球体获得某种 空心 雕刻效果 然后将我的纹理应用到球体的 内部 关于如何翻转法线有什么想法吗 另外 如果不可能在 Thr
  • Pandas,在字符串中打印变量

    我有一个数据框 新 看起来像这样 num name1 name2 11 A AB 14 Y YX 25 L LS 39 Z ZT 我只想提取打印语句中的数值 这样我就有一个如下所示的输出 The value is 11 The value
  • Python:xml ElementTree(或 lxml)中的命名空间

    我想检索旧版 xml 文件 操作并保存它 这是我的代码 from xml etree import cElementTree as ET NS http www somedomain com XI Traffic 10 def fix xm
  • 如何在 gdb 中打印 Objective-C 类方法的结果?

    当使用 gdb 通过调试控制台 在 Xcode 4 中调试 iPad 程序时 我试图打印出运行类方法的结果 gdb po MyClass foo bar gdb 输出以下内容 当前上下文中没有符号 MyClass 有没有办法打印结果 NSS
  • C# 编译/构建是一个增量过程吗?

    我们的解决方案包含大量 C 项目 它们之间存在复杂的依赖关系 例如 项目A B C A依赖于B B依赖于C 如果我更改项目C中的一个文件 然后重建解决方案 项目A B C将一起重建 在C 中 构建包含两个过程 编译和链接 如果我更改项目C中
  • 如何与 NSPersistentCloudKitContainer 设置有序关系?

    当我检查时Used with CloudKit 错误Folder children must not be ordered出现了 关于有序关系有什么想法吗 使用 Xcode 11 测试版 3 这是Folder Entity 适用于 iOS
  • 在 Fortran 中使用“X != 0”时出现语法错误

    我的 Fortran 程序有一个问题 它除了计算素数分解 或应该做 之外什么也不做 这就是错误 C MinGW Fortran gt gfortran aufg3 f90 aufg3 f90 15 15 if prim i 0 and mo
  • 计算函数 sin()

    为了我的学习 我必须编写一个算法来计算sin 有了这个功能 然而 在我的算法中 我必须将 X 的值保持在 0 到 Pi 2 之间 所以 我写了我的算法 但所有结果都是错误的 这是我的代码 double sinX double x doubl
  • 在启动时获取azure应用程序服务插槽名称?

    当 asp net core 进程启动时 如何获取我的应用程序服务的插槽 生产或暂存 的名称 HTTP HOST 环境变量似乎没有在启动时设置 并且我没有要检查的 http 请求 如果我们想获取主机名 可以使用环境变量WEBSITE HOS
  • 在一个项目中编译 Silverlight 和 WPF 的最佳实践是什么?

    我刚刚完成了一个 Silverlight 项目 是时候进行一些清理了 我想将我的核心文件放入一个单独的项目中 我将从我的主 Silverlight 应用程序中引用该项目 其中一些类与 WPF 兼容 我非常希望能够将 Silverlight
  • C 获取文件的最后修改日期

    我想获取 C 语言中文件的最后修改日期 我发现的几乎所有来源都使用以下代码片段中的内容 char get last modified char file struct tm clock struct stat attr stat file
  • os.system()在哪个linux shell下执行命令?

    我在用 bin tcsh作为我的默认外壳 然而 tcsh 风格的命令os system setenv VAR val 对我不起作用 但os system export VAR val works 所以我的问题是我怎样才能知道os syste
  • 安全性:如何验证图像文件上传?

    我需要接受用户上传的图像文件 如何检查并 100 确定我没有收到恶意文件或其他内容 检查 mime 类型 重新画图 防病毒 重新绘制图像 读取它GD s imagecreatefromXXX 并将其保存回来imageXXX 通过这种方式 您
  • 使用 JWT 验证套接字 io 连接

    如何验证 socket io 连接 我的应用程序使用来自另一台服务器 python 的登录端点来获取令牌 每当用户在节点端打开套接字连接时 如何才能使用该令牌 io on connection function socket socket
  • 上传json数据时如何按百分比显示进度条状态?

    我正在上传字符串和照片 它工作正常 现在我想在上传百分比数据时显示进度条 但百分比很快显示到 100 百分比 并且需要更多时间上传 最后到达后执行方法 protected class upload images extends AsyncT
  • 如何使 Django 的“DATETIME_FORMAT”处于活动状态?

    应该在哪里DATETIME FORMAT放置以使其发挥作用 在 Django 管理站点中显示日期时间 Django 的自动管理界面 文档用于DATETIME FORMAT 页上http docs djangoproject com en 1
  • 从 pyaudio-stream 获取浮点数形式的音频样本

    由于我目前正准备构建一个基于 Raspberry Pi 的设备 用于测量声卡记录的噪声 例如方差 中的一些内容 并尝试在 python 中执行此操作 所以我陷入了如何获取音频样本的困境中用于进一步计算的浮点数 我做了什么 使用线路输入适配器