如何使用 Pygame 播放正弦波/方波?

2023-12-09

我正在尝试使用 Pygame 播放正弦波sndarray.make_sound功能。但是,当我使用这个数组来播放它时:

np.sin(2 * np.pi * np.arange(44100) * 440 / 44100).astype(np.float32)

where 440是频率并且44100是采样率,而是播放响亮、刺耳的噪音。这可以使用pyaudio.PyAudio(),但是我需要一些不会阻止执行的东西。方波也会发生这种情况,但它只是不播放任何内容。我在用着channels=1为了mixer.pre_init and mixer.init功能。

我怎样才能解决这个问题?如果有帮助的话,我正在使用 Mac。提前致谢!


您可以将 numpy 数组直接加载到pygame.mixer.Sound对象和play它。出现刺耳声音的原因是,当混音器需要 16 位整数样本时,您可能正在向混音器发送 32 位浮点样本。如果要使用 32 位浮点数组,则必须设置size混频器初始化函数的参数为​​32:

import pygame
import numpy as np

pygame.mixer.init(size=32)

buffer = np.sin(2 * np.pi * np.arange(44100) * 440 / 44100).astype(np.float32)
sound = pygame.mixer.Sound(buffer)

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

如何使用 Pygame 播放正弦波/方波? 的相关文章

  • 使用 matplotlib 在图像数据之上对线网格进行像素精确定位

    我试图在 python 库 matplotlib 显示的图像网格顶部精确地覆盖 1 像素宽线的网格 不幸的是 我似乎无法对结果进行足够精细的控制 以实现线网格与数据网格的正确对齐 如下面的代码所示 结果似乎总是很接近 但并不完全正确 我尝试
  • 如何修复错误“错误:命令错误,退出状态 1:python。”尝试使用 pip 安装 django-heroku 时[重复]

    这个问题在这里已经有答案了 我正在尝试使用 pip 安装 django heroku 但它一直遇到错误 我看到一些建议告诉我要确保 Heroku 中的 Python 版本是最新的 我已经这么做了 推送到 Heroku master 后 我运
  • 使用 Flask 从 Jinja 模板中的 settings.py 文件获取变量

    假设我有 settings py 文件 其中包含一堆常量 将来可能会更多 如何访问 Jinja 模板中的这些变量 Flask 会自动将您的应用程序的配置包含在标准上下文 http flask pocoo org docs templatin
  • 在Python中用空格分割字符串——保留带引号的子字符串

    我有一个像这样的字符串 this is a test 我正在尝试用 Python 编写一些内容 以将其按空格分开 同时忽略引号内的空格 我正在寻找的结果是 this is a test 附言 我知道您会问 如果引号内有引号会发生什么 嗯 在
  • 检查字符串是否以 XXXX 开头

    我想知道如何在Python中检查字符串是否以 hello 开头 在 Bash 中我通常这样做 if string hello then do something here fi 我如何在Python中实现同样的效果 aString hell
  • 如果新文件不存在则写入新文件,如果存在则追加到文件

    我有一个程序可以写入用户的highscore到一个文本文件 该文件由用户选择时命名playername 如果具有该特定用户名的文件已经存在 那么程序应该附加到该文件 以便您可以看到多个highscore 如果具有该用户名的文件不存在 例如
  • 如何在 Google App Engine 中为模型定义唯一属性?

    我需要一些独特的属性 我怎样才能实现这个目标 有没有类似的东西unique True 我正在使用适用于 Python 的 Google App Engine Google 提供了执行此操作的函数 http code google com a
  • 如何计算具有较大中间值的总和

    我想计算 for n m两个值都是 1000 以内的整数 最终结果是一个不大于 1000 的数字n但中间值对于 python 来说太大了 无法处理 你怎么解决这个问题 我将函数定义如下 from scipy misc import comb
  • python请求:重试直到收到有效响应

    我想知道是否存在重试请求一定次数的常见模式 可能由于服务器错误或网络不良而失败 我想出了这个 并且我愿意在那里找到更好的实现 cnt 0 while cnt lt 3 try response requests get uri if res
  • 如何在 python 中连接到 GObject 信号,而不保留对连接器的引用?

    问题基本上是这样的 在 python 的 gobject 和 gtk 绑定中 假设我们有一个在构造时绑定到信号的类 class ClipboardMonitor object def init self clip gtk clipboard
  • 如何使用 Python Flask-Security 使用 bcrypt 加密密码?

    我正在尝试使用 Flask Security 文档中的标准基本示例 并使其正常工作 除了密码以明文形式存储之外 我知道这一行 user datastore create user email email protected cdn cgi
  • os.path.expanduser("~") 的替代方案?

    在Python 2 7 x中 os path expanduser Unicode 已损坏 这意味着如果 的扩展中包含非 ASCII 字符 则会出现异常 http bugs python org issue13207 http bugs p
  • Django 中同一个模型的多个多对多关系

    给定以下具有两个多对多关系的模型 class Child models Model name models CharField max length 80 class Foo models Model bar models ManyToMa
  • Django 1.6:如何在视图中访问静态文件

    我已经尝试过解决方案here https stackoverflow com questions 11721818 django get the static files url in view这对我不起作用 我正在为 Python 创建一
  • python 中的优化标准化

    在优化过程中 对输入参数进行归一化 使它们处于同一数量级 通常会很有帮助 这样收敛效果会更好 例如 如果我们想要最小化 f x 而合理的近似值是 x0 1e3 1e 4 则将 x0 0 和 x0 1 归一化到大约相同的数量级可能会有所帮助
  • Python:如何访问 Lotus Notes 8.5 Inbox 来阅读电子邮件

    我想用 python 创建一个脚本 从 Lotus Notes 8 5 读取电子邮件 然后在 jira 中为每封电子邮件创建一个问题 但当我尝试从 Lotus 读取邮件时 它会返回此错误 Traceback most recent call
  • FileAllowed 不显示错误消息

    我正在使用 WTForms 我正在对文件上传应用验证 并将其限制为仅 jpg png 和 pdf 格式 但是 如果我输入不正确 则不会出现错误消息 我按照这个教程https flask wtf readthedocs io en stabl
  • vtkPythonAlgorithm 控制管道执行

    我正在尝试用 python 编写一个 vtk 过滤器ProjectDepthImage进行投影不是问题 它控制 vtk 管道的执行 基本上 我对 UserEvent 有一个回调 当用户在渲染窗口处于活动状态时按下 u 键时会触发该回调 这将
  • 媒体文件上的 404 - Django

    昨晚我将项目上传到 pythonanywhere com 我想在那里测试我的项目生产设置 在我允许的模型之一中用户上传JPG 团队徽标 上传过程运行良好 文件位于我的 MEDIA ROOT 中 问题是 当我尝试在模板中访问它 以将其显示在页
  • pylint:忽略 rcfile 中的多个

    在我的 django 项目中 我使用的是外部编写的应用程序 但编写得很糟糕 现在我想从我的 pylint 报告中忽略这个应用程序 但是我无法让 pylint 忽略它 Pylint 已经忽略了南方的迁移 如下所示 MASTER ignore

随机推荐

  • 为索引列表生成 CREATE 脚本

    作为排序规则更改练习的一部分 我有一个索引列表 122 需要删除然后重新创建 如何重新创建这些索引 而不必每次都通过 GUI 并将其编写脚本到查询窗口 我的索引列表是从此脚本获取的 WITH indexCTE AS SELECT Table
  • Elasticsearch:小时分钟秒映射返回空数据

    下面是我为搜索字段创建的映射 PUT sample mapping properties webDateTime1 type date format dd MM yyyy HH mm ss dd MM yyyy hour minute se
  • 将数据放入 gridview 的第二行

    我正在使用 foreach 循环将数据插入到 gridview 中 如下所示 foreach GridViewRow row in grvbillDetail Rows row text row text row int row int 我
  • Travis 与 Firebase 部署 TypeError:this.stream.clearLine 不是函数

    我正在尝试使用 Travis 构建和部署 NodeJs Python 应用程序 这大约是文件夹结构 所有内容都属于同一个存储库 main angular2 client dist node modules django server ser
  • 如何在Python中调用超级构造函数?

    class A def init self print world class B A def init self print hello B output hello 在我使用过的所有其他语言中 超级构造函数都是隐式调用的 如何在 Pyt
  • 上传前获取文件大小、图片宽度和高度

    在上传到我的网站之前 如何使用 jQuery 或 JavaScript 获取文件大小 图像高度和宽度 多张图片上传并带有信息数据预览 Using HTML5 和File API 使用示例URL API 图像源将是表示 Blob 对象的 UR
  • 正则表达式 - 识别分数

    我需要使用正则表达式从菜谱数据库中的表单字段中识别分数 成分将被输入到由两部分组成的表单字段中 第一字段是数量 第二字段是成分 然后 我需要将字段一分解为其小数部分以输入到数据库中 可能的条目包括 1 1 2 1 1 2 以及前面任何一个带
  • 在120个字符后附加readmore标签,并使其在ios中可点击

    数据来自解析器 如果文本超过 120 个字符 那么它应该像 Facebook 一样附加 ReadMore 我已经获得了附加文本的代码 但不知道如何制作可点击的链接 我正在使用 Swift Languge if cell bhikmangaT
  • 如何在 Angular JS Web 应用程序中使用 ckeditor?

    我很难使用ckeditor在我内置的 html 页面中angularjs 我已经尝试了很多例子 ng ckeditor directive ckeditor directive 但这些例子都没有帮助我 我想要一个文本区域 我可以在其中输入图
  • 在 Typescript 类中声明常量

    在 TypeScript 中声明常量的最佳方式是什么class 你不能声明一个常量 你可以声明一个readonly场 它比您期望的常数弱 但可能足够好 class MyClass static readonly staticReadOnly
  • Mac OS X >= 10.6 上的 Finder 文件图标徽章(图标覆盖)

    我正在寻找一种解决方案 可以在 Mac 上使用 cocoa 进行文件图标叠加 图标徽章 就像 Dropbox 在 mac 上所做的那样 有谁知道如何做到这一点 我搜索了 Xcode 文档并研究了scp插件源代码是一种旧的碳代码 有点晚了 但
  • Docker 容器无法到达本地主机端口 4444。为什么呢?

    我容器化了一个应用程序 它是自动化 Selenium 测试的测试驱动程序 Selenium 服务器 也称为 Selenium Hub 在另一个容器以及 Firefox 节点中运行 位于 localhost 4444 下 但我的应用程序无法到
  • 响应.on 是什么意思? Node.js

    我在处理 Node js http 请求时遇到问题 如果我无法弄清楚 我稍后会问一个更大的问题 我有修改过的代码和示例 但我不明白 response on 的含义 阅读有关 Node js 中 http 的更多信息 HTTP 事务剖析 我没
  • 浮点数表示,Java 示例[重复]

    这个问题在这里已经有答案了 您能否解释一下为什么我得到下一个结果 当我运行这个时 System out println 0 2 0 1 我得到 0 1 当我运行这个时 System out println 0 3 0 2 我得到 0 099
  • 在 Blazor 中,“await Task.Run(StateHasChanged)”和“await InvokeAsync(StateHasChanged)”之间有什么区别?

    我最近继承了 Blazor Webassemble 应用程序 但对 dotnet 或 Blazor 的经验很少 一些组件使用await Task Run StateHasChanged 而不是await InvokeAsync StateH
  • 根据字符将 Python 字符串列表拆分为单独的列表

    我试图弄清楚如何根据列表中的字符将以下列表拆分为单独的列表 list 2014 00 03 01 Matt login 0 01 2014 02 06 12 Mary login 0 01 我想在引入每个 符号后创建一个列表 例如 我希望输
  • PayPal 订阅 PDT / IPN - 请

    我在理解贝宝支付方面遇到了很多麻烦 我如何确认用户已成功注册我的订阅 我对 IPN 的了解为 0 但例如 如果用户使用以下命令注册到我的网站 电子邮件受保护 但使用贝宝帐户 电子邮件受保护 付款然后我如何匹配用户 我读到 PDT 不会发送用
  • 使用 jsonpath 获取匹配元素的父级

    假设我有一个如下所示的 JSON 对象 name A sub prop 1 prop 2 prop 3 name B sub prop 7 prop 8 prop 9 我怎样才能得到元素的父元素prop值为2 jsonpath query
  • 将最大值添加到 R 中的新列[重复]

    这个问题在这里已经有答案了 这是数据 a lt c 1 1 2 2 3 b lt c 1 3 5 9 4 df1 lt data frame a b df1 a b 1 1 1 3 2 5 2 9 3 4 我想要这样的东西 a b max
  • 如何使用 Pygame 播放正弦波/方波?

    我正在尝试使用 Pygame 播放正弦波sndarray make sound功能 但是 当我使用这个数组来播放它时 np sin 2 np pi np arange 44100 440 44100 astype np float32 wh