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.pswp.cn/news/900007.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/900007.shtml
英文地址,請注明出處:http://en.pswp.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 - 影響構建系統或外部依賴項…