pw.harvest()
#查阅函数功能
pyworld库,导入import pyworld as pw
pw.harvest()
import pyworld as pw
f0, timeaxis = pw.harvest(x,fs,f0_floor ,f0_ceil,frame_period )
#语音基频特征:声音一般可以分解为许多单纯的正弦波,
#所有的自然声音基本都是由许多频率不同的正弦波组成的,
#其中频率最低的正弦波即为基音
"""
参数
----------
x : ndarray
输入的波形信号。
fs : int
输入信号的采样率,单位是赫兹(Hz)。
f0_floor : float
F0的下限,单位是赫兹(Hz)。默认值:71.0
f0_ceil : float
F0的上限,单位是赫兹(Hz)。默认值:800.0
frame_period : float
连续帧之间的周期,单位是毫秒。默认值:5.0
返回值
-------
f0 : ndarray
估计的F0轮廓。
temporal_positions : ndarray
每个帧的时间位置。
"""
ap = pw.d4c()
aperiodicity = pw.d4c(x, f0, temporal_positions, fs, q1,threshold,fft_size)
# 用于计算声音信号的非周期性分量,也称为 Aperiodic Component。
#非周期性分量包含声音信号中的高频噪声成分,与声音的共振谐波部分相对应。
"""
参数:
x:输入的波形信号。
f0:输入的F0轮廓。
temporal_positions:每个帧的时间位置。
fs:输入信号的采样率(Hz)。
q1:频谱恢复参数,默认值为-0.15(这个值已经调整过,通常不需要再调整)。
threshold:基于无周期性的有声/无声决策阈值,范围在0到1之间。如果使用0,有声帧将保持有声。如果使用大于0的值,一些有声帧可以通过将其无周期性设置为1(即用白噪声合成它们)来被认为是无声。使用threshold=0将导致D4C的旧版本的行为。当前默认值0.85是为了与Harvest F0估计器一起使用,该估计器设计为具有高有声/无声阈值(即大多数帧将被认为是有声)。
fft_size:要使用的FFT大小。当使用None(默认)时,FFT大小会根据给定的输入采样率和默认F0底部自动计算。当指定fft_size时,它应该匹配用于计算频谱包络的FFT大小(即fft_size=2*(sp.shape[1] - 1)),以便在重新合成时获得期望的结果。
返回值:
aperiodicity:无周期性(包络,相对于频谱包络的线性幅度)。
"""
pw.cheaptrick
spectrogram = pw.cheaptrick(x,f0,temporal_positions,fs,q1,f0_floor,fft_size)
# 用于估计谐波频谱包络1
"""
参数
----------
x : ndarray
输入的波形信号。
f0 : ndarray
输入的F0轮廓。
temporal_positions : ndarray
每个帧的时间位置。
fs : int
输入信号的采样率,单位是赫兹(Hz)。
q1 : float
频谱恢复参数。默认值:-0.15(这个值已经过调整,通常不需要再调整)
f0_floor : float, None
F0的下限,单位是赫兹(Hz)。如果指定了`fft_size`,则不使用此参数。默认值:71.0
fft_size : int, None
要使用的FFT大小。当使用`None`(默认)时,FFT大小将根据给定的输入采样率和F0下限自动计算。当指定了`fft_size`时,将忽略给定的`f0_floor`参数。默认值:None
返回值
-------
spectrogram : ndarray
频谱包络(平方幅度)。
"""