Nyquist内置函数-概述

1 Nyquist内置函数-概述

本章提供奈奎斯特(Nyquist)语言参考。操作按功能和抽象级别分类。奈奎斯特在两个重要级别上实现:“高级”级别支持行为抽象,这意味着像 stretchat 这样的操作可以应用。这些函数是典型用户期望使用的,并且大多数用XLISP编写。

“低级”原语直接对声音进行操作,但不涉及环境变量(如 *warp* 等)。大多数这些低级函数的名称以 “snd - ” 开头。一般来说,程序员应避免使用任何带 “snd - ” 前缀的函数。相反,应使用 “高级” 函数,它们了解环境并能做出适当反应。高级函数的名称没有像低级函数那样的前缀。

有一些直接应用于声音(而非行为)的低级操作,对于日常使用相对 “安全”,这些已做标注。

奈奎斯特使用线性频率和十二平均律音高数字来指定重复率。频率始终以每秒周期数(赫兹)指定,音高数字,也称为 “音阶步长”,是十二平均律音阶中的浮点数字,其中60 = 中央C,61 = C#,61.23 是C# 加上23音分等。从音高数字到频率的映射是标准指数转换,并且允许使用分数音高数字:
[频率 = 440 * 2^{(\text{音高} - 69)/12}]

有许多预定义的音高名称。默认情况下,这些按十二平均律调音,A4 = 440Hz,但也可以更改(见“预定义常量”部分)。

1.1 声音

在奈奎斯特中,声音是一种基本数据类型。声音可以像字符串、原子、数字和其他数据类型一样被创建、作为参数传递、进行垃圾回收、打印以及赋值给变量。

1.2 什么是声音?

声音有5个组成部分:

  • srate - 声音的采样率。
  • samples - 样本。
  • signal-start - 第一个样本的时间。
  • signal-stop - 最后一个样本结束的时间。
  • logical-stop - 声音在逻辑上结束的时间,例如,一个声音可能在衰减开始时结束。该值默认为 signal-stop,但也可以设置为任意值。

似乎应该有 logical-start 来指示声音的逻辑或感知起始点,同时也应该有 logical-stop 来指示声音的逻辑结束点。但实际上,只需要 logical-stop 就够了;这个属性用于告知下一个声音何时开始,以形成声音序列。在这方面,奈奎斯特的声音具有不对称性:通过将每个声音的逻辑起始点与前一个声音的 logical-stop 对齐,可以在时间上向前计算声音序列,但无法 “向后” 计算,即无法将每个声音的逻辑结束点与后续声音的逻辑起始点对齐。这种不对称性的根源在于,当我们调用一个行为时,我们指定的是起始时间,而该行为的结果会告诉我们它的逻辑持续时间。不存在一种方法可以在调用行为时直接指定结束时间(脚注3)。

注意:无法强制对 logical-stop 进行预期的 “感知” 解释。就奈奎斯特而言,这些只是用于在各种控制结构中引导声音对齐的数字。

1.2.1 多声道声音

多声道声音由Lisp语言的声音数组表示。创建声音数组时,XLISP的 vector 函数很有用。大多数奈奎斯特低级函数(以 snd- 开头的函数)并不适用于多声道声音,而大多数高级函数则可以处理多声道声音。


作者声明:本文用于记录和分享作者的学习心得,可能有部分文字或示例来自AI平台,如:豆包、DeepSeek(硅基流动)(注册链接)等,由于本人水平有限,难免存在表达错误,欢迎留言交流和指教!
Copyright © 2022~2025 All rights reserved.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/900007.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据驱动防灾:AI 大模型在地质灾害应急决策中的关键作用。基于DeepSeek/ChatGPT的AI智能体开发

全球气候变化加剧了滑坡、泥石流等地质灾害的发生频率与不确定性,传统基于统计与物理模型的预测方法常受限于‌数据稀疏性‌与‌动态耦合复杂性‌。近年来,AI智能体(AI Agents)与大型语言模型(LLMs)的突破为…

光谱相机在工业中的应用

光谱相机(多光谱、高光谱、超光谱成像技术)在工业领域通过捕捉物质的光谱特征(反射、透射、辐射等),结合化学计量学与人工智能算法,为工业检测、质量控制和工艺优化提供高精度、非接触式的解决方案。以下是…

Dify工作流中如何去除deepseek-r1思考内容

在工作流中deepseek-r1的think标签内部的内容,很容易让工作流其他的llm产生幻觉,导致不能良好的生成目标效果。 我们通过代码的方式让deepseek-r1既有think思考链的效果,又不传递思考链。 工作流的逻辑为上图 去除think中的代码为 import re…

容器的CPU

1、限制进程的CPU 通过Cgroup来限制进程资源的使用,CPU Cgroup 是 Cgroups 其中的一个 Cgroups 子系统,它是用来限制进程的 CPU 使用的。 cpu.cfs_period_us,它是 CFS 算法的一个调度周期,一般它的值是 100000,以 mic…

【系统分析师-第二篇】

学习目标 通过参加考试,训练学习能力,而非单纯以拿证为目的。 1.在复习过程中,训练快速阅读能力、掌握三遍读书法、运用番茄工作法。 2.从底层逻辑角度理解知识点,避免死记硬背。 3.通过考试验证学习效果。 学习方法 第二遍快速…

【再探图论】深入理解图论经典算法

一、bellman_ford 1. 是什么松弛 在《算法四》中,对松弛的解释是:relax the edge,看起来比较抽象,不过如果我们从生活中的实例去理解,就简单多了: 试想一根绳索,当你握着绳索的两头使劲用力拉…

基于pycharm的YOLOv11模型训练方法

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、前期准备1.1 软件环境配置1.2 训练集参考 二、训练步骤2.1 打开文件夹2.2 打开文件2.3 data.yaml最终代码 三、train.py四、最终结果五、detect.py六、 拓展…

用nodejs连接mongodb数据库对标题和内容的全文本搜索,mogogdb对文档的全文本索引的设置以及用node-rs/jieba对标题和内容的分词

//首先我们要在Nodejs中安装 我们的分词库node-rs/jieba,这个分词不像jieba安装时会踩非常多的雷,而且一半的机率都是安装失败,node-rs/jieba比jieba库要快20-30%;安装分词库是为了更好达到搜索的效果 这个库直接npm install node-rs/jieba即…

水下声呐探测仪,应急救援中的高效水下定位技术|深圳鼎跃

近年来,随着水域活动增多及自然灾害频发,水下救援需求日益增长。传统人工打捞方法在复杂水域中效率低、风险高,尤其在能见度差、水流湍急或深水区域中,救援难度倍增。 在此背景下,水下声呐探测仪凭借其声波定位与视频…

AI 网关代理 LLMs 最佳实践

作者:付宇轩(计缘) DeepSeek/QWen 普惠 AI 趋势 随着 DeepSeek-R1 的横空出世,又一次点燃了原本已经有点冷淡的大语言模型市场和话题,并且快速成为了现象级,小到中小学生,大到父母辈都知道了中…

策略模式实际用处,改吧改吧直接用,两种方式

controller RestController RequestMapping("admin/test") RequiredArgsConstructor(onConstructor __(Autowired)) public class TestController {Autowiredprivate VideoFactory VideoFactory;GetMapping("getList")public R getList(){// 第一种方式T…

chromium魔改——修改 navigator.webdriver 检测

chromium源码官网 https://source.chromium.org/chromium/chromium/src 说下修改的chromium源码思路: 首先在修改源码过检测之前,我们要知道它是怎么检测的,找到他通过哪个JS的API来做的检测,只有知道了如何检测,我们…

Muduo网络库实现 [九] - EventLoopThread模块

目录 设计思路 类的设计 模块的实现 私有接口 公有接口 设计思路 我们说过一个EventLoop要绑定一个线程,未来该EventLoop所管理的所有的连接的操作都需要在这个EventLoop绑定的线程中进行,所以我们该如何实现将EventLoop和线程绑定呢?…

UE5学习笔记 FPS游戏制作38 继承标准UI

文章目录 UE的UIUMG的继承继承标准控件创建标准控件继承标准控件的用处 UE的UI 和Untiy有onGui和UGui类似,UE有slateUI和UMG,slateUI是早期只能用C编写的UI,UMG是现在使用的,可以拖拽编辑的UI slateUI是UMG的父类 UMG的继承 我们编写一个控…

C#核心学习(七)面向对象--封装(6)C#中的拓展方法与运算符重载: 让代码更“聪明”的魔法

目录 一、什么是拓展方法? 二、拓展方法有啥用?怎么写拓展方法? 1. ​核心用途 2. ​编写步骤 实现步骤 关键点说明 关键规则 3. ​注意事项 三、什么是运算符重载? 四、运算符重载有啥用?怎么写?…

银行卡归属地查询API接口如何对接?

银行卡归属地查询 API 接口是一种能让开发者通过编程方式获取银行卡归属地等相关信息的工具。借助此接口,开发者可将银行卡归属地查询功能集成到自己的应用程序或系统里,像电商平台、第三方支付公司等都能运用它来提升业务的准确性与安全性。 银行卡归属…

ORM mybits mybits-plus

ORM ORM 即对象关系映射(Object Relational Mapping),是一种程序设计技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换。下面从基本概念、工作原理、优势与劣势、常见的 ORM 框架等方面详细介绍 ORM。 常见的orm框架…

网络编程—网络概念

目录 1 网络分类 1.1 局域网 1.2 广域网 2 常见网络概念 2.1 交换机 2.2 路由器 2.3 集线器 2.4 IP地址 2.5 端口号 2.6 协议 3 网络协议模型 3.1 OSI七层模型 3.2 TCP/IP五层模型 3.3 每层中常见的协议和作用 3.3.1 应用层 3.3.2 传输层 3.3.3 网络层 3.3.4…

4月3日工作日志

一个朴实无华的目录 今日学习内容:1.关系数据库 今日学习内容: 1.关系数据库

git commit Message 插件解释说明

- feat - 一项新功能 - fix - 一个错误修复 - docs - 仅文档更改 - style - 不影响代码含义的更改(空白、格式化、缺少分号等) - refactor - 既不修复错误也不添加功能的代码更改 - perf - 提高性能的代码更改 - build - 影响构建系统或外部依赖项…