PitchRecognize
PitchRecognize[audio]
识别 audio 中的主音高,将其作为 TimeSeries 对象返回.
PitchRecognize[audio,spec]
返回根据指定 spec 处理的主音高.
PitchRecognize[video,…]
识别 video 中第一条音轨的主音高.
更多信息和选项
- PitchRecognize 亦称为音高检测或音高追踪.
- PitchRecognize 假定信号在任意给定时间只含有一个音高.
- 如果在特定时间未检测到音高,则为该时间返回 Missing[] 值.
- 音高指定 spec 可为以下任意形式:
-
"Frequency" 频率,单位为赫兹(默认) "FrequencyMagnitude" 单位为赫兹的频率的幅值 "QuantizedFrequency" 以赫兹为单位的量化频率 {"QuantizedFrequency",list} 量化到 list 中的值的频率,单位为赫兹 "MIDI" ,其中 freq 是单位为赫兹的频率 "QuantizedMIDI" 舍入后的 MIDI 值 "SoundNotePitch" 音高规范,其中 0 对应于中音 C(和 SoundNote 中的一样) f 应用于识别出的频率的任意函数 f - 可以给出以下选项:
-
AcceptanceThreshold Automatic 视为可接受的最小概率 Alignment Center 时间戳与分区对齐 AllowedFrequencyRange Automatic 最小和最大频率 MetaInformation None 包括其他元信息 Method Automatic 所使用的方法 MissingDataMethod None 对缺失值使用的方法 PartitionGranularity Automatic 音频划分规范 PerformanceGoal "Speed" 优化的目标 ResamplingMethod Automatic 用于重新抽样路径的方法 - Method 的可能的设置包括:
-
Automatic 自动选择 "CREPE" 训练好的用于音高估计的神经网络 "Speech" 基于声码器的语音基频估计 "YIN" 基于 YIN 的算法 - 使用 Method->{"CREPE",TargetDevice->dev} 在设备 dev 上执行神经网络计算.
- PitchRecognize 使用机器学习. 其方法、训练集和偏差在不同版本 Wolfram 语言中,可能会更改并产生不同结果.
- PitchRecognize 可以下载存储在 $LocalBase 的本地对象库中的资源,可通过 LocalObjects[] 列出,用 ResourceRemove 删除.
范例
打开所有单元关闭所有单元范围 (5)
在与标准 MIDI 音高对应的频率上量化的频率(以 Hz 为单位):
量化的 SoundNote 规范:
选项 (7)
AcceptanceThreshold (1)
设置更高的 AcceptanceThreshold 以保留最确定的预测:
Method (4)
PerformanceGoal (1)
PerformanceGoal 设为 "Speed" 的 "CREPE" 方法会使用更小和更快的网络在同样的数据集上进行培训:
应用 (4)
计算音高 TimeSeries:
计算音高 TimeSeries:
在大提琴上演奏的 A 的频率应为 110Hz. 该大提琴的音很准.
计算音高并用 SoundNote 规范来表示:
删除所有 Missing[] 值:
创建一个 Sound 对象:
属性和关系 (1)
"CREPE" 方法使用来自于 Wolfram Neural Net Repository 的 CREPE 网络:
可能存在的问题 (1)
如果使用了 "YIN" 方法,识别时可能会出现八度音阶错误:
调整 AllowedFrequencyRange 选项的值以消除错误:
文本
Wolfram Research (2019),PitchRecognize,Wolfram 语言函数,https://reference.wolfram.com/language/ref/PitchRecognize.html (更新于 2024 年).
CMS
Wolfram 语言. 2019. "PitchRecognize." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2024. https://reference.wolfram.com/language/ref/PitchRecognize.html.
APA
Wolfram 语言. (2019). PitchRecognize. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/PitchRecognize.html 年