AudioPitchShift[audio,r]
对 audio 做移调,参数为比率 r,将每个频率
位移至
.
AudioPitchShift[video,r]
对 video 中的第一个音轨进行移调处理.
AudioPitchShift
AudioPitchShift[audio,r]
对 audio 做移调,参数为比率 r,将每个频率
位移至
.
AudioPitchShift[video,r]
对 video 中的第一个音轨进行移调处理.
更多信息和选项
- AudioPitchShift 移动输入音频信号的音高而不影响其持续时间.
- 可以用音高区间的形式给出频率比 r,包括:
-
Quantity[oct,"octaves"] 对应于 
Quantity[sem,"semitones"] 对应于
- 支持以下选项:
-
Method Automatic 所用方法 PartitionGranularity Automatic 控制用于计算短时傅里叶变换的分区 - 默认情况下,使用相位频率转换器算法. 使用 Method->"Speech" 来进行音高转换语音信号. 在这种情况下,虽然基频发生了变化,但信号的共振峰不会改变.
范例
打开所有单元 关闭所有单元基本范例 (2)
范围 (4)
a = Import["ExampleData/rule30.wav"];AudioPitchShift[a, Quantity[1.5, IndependentUnit["octaves"]]] === AudioPitchShift[a, 2^1.5]a = Import["ExampleData/rule30.wav"];AudioPitchShift[a, Quantity[10, IndependentUnit["semitones"]]] === AudioPitchShift[a, 2^10 / 12]AudioPitchShift 可用于改变复合谐音的音调,而不改变它的音质和时序:
a = Mean[Table[AudioGenerator[{"Sin", 200 * i}, 2], {i, 1, 6}]]Periodogram[a, ScalingFunctions -> "Absolute", PlotRange -> {{0, 3000}, All}]AudioPitchShift[a, Quantity[12, IndependentUnit["semitones"]]]Periodogram[%, ScalingFunctions -> "Absolute", PlotRange -> {{0, 3000}, All}]AudioPitchShift[\!\(\*VideoBox[""]\), 2]选项 (4)
Method (1)
用 Method->"Speech" 或语音信号来改变音调,同时保持其他语音特性:
a = \!\(\*AudioBox[""]\);
AudioPitchShift[a, 1.8, Method -> "Speech"]AudioPitchShift[a, 1.8]PartitionGranularity (3)
a = Import["ExampleData/rule30.wav"];
AudioPitchShift[a, 1.1, PartitionGranularity -> Quantity[46, "Milliseconds"]]AudioPitchShift[a, 1.1, PartitionGranularity -> Quantity[150, "Milliseconds"]]使用较小的偏移值一般将提高结果的质量,但以更多的计算时间为代价:
a = Import["ExampleData/rule30.wav"];
AudioPitchShift[a, 1.1, PartitionGranularity -> {Quantity[46, "Milliseconds"], Quantity[20, "Milliseconds"]}]AudioPitchShift[a, 1.1, PartitionGranularity -> {Quantity[46, "Milliseconds"], Quantity[5, "Milliseconds"]}]a = Import["ExampleData/rule30.wav"];
AudioPitchShift[a, 1.1,
PartitionGranularity -> {Quantity[46, "Milliseconds"], Quantity[10, "Milliseconds"], DirichletWindow}]AudioPitchShift[a, 1.1,
PartitionGranularity -> {Quantity[46, "Milliseconds"], Quantity[10, "Milliseconds"], BlackmanWindow}]默认情况下,使用 HannWindow。
应用 (1)
a = \!\(\*AudioBox[""]\);通过 AudioLocalMeasurements 提取平均频率:
meanFreq = DeleteMissing@TimeSeries[AudioLocalMeasurements[a, "FundamentalFrequency"]]["Values"]//MeantargetFreq = 1000;AudioPitchShift[a, targetFreq / meanFreq]Periodogram[{a, %}, 4000, PlotRange -> {{0, 4000}, All}]属性和关系 (2)
AudioPitchShift 和 AudioFrequencyShift 以不同方式更改信号的频谱:
a = Mean[{AudioGenerator[{"Sin", 200}, SampleRate -> 16000], AudioGenerator[{"Sin", 400}, SampleRate -> 16000]}]AudioPitchShift 对信号中的每个频率 f 移动的量与其本身的频率成比例 (f'=f×shift),从而保留所移动的信号的音质:
ps = AudioPitchShift[a, 4]AudioFrequencyShift 对每个频率 f 移动相同的量 (f'=f+shift),显著改变所移动信号的音质:
fs = AudioFrequencyShift[a, 800]Periodogram[{a, ps, fs}, PlotRange -> {{0, 2000}, All}, ScalingFunctions -> "Absolute", PlotLegends -> {"Original", "Pitch Shift", "Frequency Shift"}]a = \!\(\*AudioBox[""]\);Audio[a, SampleRate -> 44100]AudioPitchShift 改变音调,而不改变时序:
AudioPitchShift[a, 44100 / 22050]可能存在的问题 (2)
AudioPitchShift[\!\(\*AudioBox[""]\), 5.6]对非语音信号使用 Method->"Speech" 可能会使音频信号听起来不像预想的那样:
AudioPitchShift[\!\(\*AudioBox[""]\), 1.8, Method -> "Speech"]文本
Wolfram Research (2016),AudioPitchShift,Wolfram 语言函数,https://reference.wolfram.com/language/ref/AudioPitchShift.html (更新于 2024 年).
CMS
Wolfram 语言. 2016. "AudioPitchShift." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2024. https://reference.wolfram.com/language/ref/AudioPitchShift.html.
APA
Wolfram 语言. (2016). AudioPitchShift. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/AudioPitchShift.html 年
BibTeX
@misc{reference.wolfram_2026_audiopitchshift, author="Wolfram Research", title="{AudioPitchShift}", year="2024", howpublished="\url{https://reference.wolfram.com/language/ref/AudioPitchShift.html}", note=[Accessed: 11-August-2026]}
BibLaTeX
@online{reference.wolfram_2026_audiopitchshift, organization={Wolfram Research}, title={AudioPitchShift}, year={2024}, url={https://reference.wolfram.com/language/ref/AudioPitchShift.html}, note=[Accessed: 11-August-2026]}