paddlespeech.s2t.frontend.utility 模块
包含数据助手函数。
- paddlespeech.s2t.frontend.utility.convert_samples_from_float32(samples, dtype)[来源]
将样本类型从 float32 转换为 dtype。
音频样本类型通常是整数或浮点数。对于整数类型,float32将从[-1, 1]重新缩放到整数类型支持的最大范围。
PCM32 -> PCM16
- paddlespeech.s2t.frontend.utility.convert_samples_to_float32(samples)[来源]
将样本类型转换为 float32。
音频样本类型通常是整数或浮点数。整数将在float32中缩放到[-1, 1]。
PCM16 -> PCM32
- paddlespeech.s2t.frontend.utility.gain_db_to_ratio(gain_db: float)[来源]
dB 转 比例
- Args:
gain_db (float): dB中的增益
- Returns:
浮动:以安培为单位的比例
- paddlespeech.s2t.frontend.utility.load_cmvn(cmvn_file: str, filetype: str)[来源]
从文件加载cmvn。
- Args:
cmvn_file (str): cmvn 路径。
filetype (str): 文件类型,可选[npz, json, kaldi]。- Raises:
值错误:文件类型不受支持。
- Returns:
元组[np.ndarray, np.ndarray]: 均值, 标准差
- paddlespeech.s2t.frontend.utility.load_dict(dict_path: Optional[str], maskctc=False) Optional[List[str]][来源]
- paddlespeech.s2t.frontend.utility.max_dbfs(sample_data: ndarray)[来源]
基于最大能量样本的峰值 dBFS。
- Args:
sample_data ([np.ndarray]): 浮点数组, [-1, 1].
- Returns:
浮点数:dBFS
- paddlespeech.s2t.frontend.utility.mean_dbfs(sample_data)[来源]
基于 RMS 能量的峰值 dBFS。
- Args:
sample_data ([np.ndarray]): 浮点数组, [-1, 1].
- Returns:
浮动: dBFS
- paddlespeech.s2t.frontend.utility.normalize_audio(sample_data: ndarray, dbfs: float = -3.0103)[来源]
将音频标准化为 dBFS。
- Args:
sample_data (np.ndarray): 输入波形样本,[-1, 1].
dbfs (float, optional): 目标 dBFS。默认为 -3.0103.- Returns:
np.ndarray: 归一化波形
- paddlespeech.s2t.frontend.utility.read_manifest(manifest_path, max_input_len=inf, min_input_len=0.0, max_output_len=inf, min_output_len=0.0, max_output_input_ratio=inf, min_output_input_ratio=0.0)[来源]
加载并解析清单文件。
- Args:
manifest_path ([type]): 要加载和解析的清单文件。
max_input_len ([type], optional): 最大输出序列长度,以秒为单位的原始wav,以帧数为单位的特征数据。默认为float('inf').
- min_input_len (float, optional): minimum input seq length,
生wav音频的秒数,特征数据的帧数。
默认为0.0。- max_output_len (float, optional): maximum input seq length,
在建模单位中。默认为 500.0。
- min_output_len (float, optional): minimum input seq length,
在建模单位中。默认为 0.0。
- max_output_input_ratio (float, optional):
最大输出序列长度/输出序列长度比率。默认为10.0。
- min_output_input_ratio (float, optional):
最小输出序列长度/输出序列长度比例。默认为0.05。
- Raises:
IOError: 如果无法解析清单。
- Returns:
List[dict]: 清单解析结果。
- paddlespeech.s2t.frontend.utility.rms_to_db(rms: float)[来源]
均方根转dB。
- Args:
rms ([float]): 均方根
- Returns:
浮动: dB
- paddlespeech.s2t.frontend.utility.rms_to_dbfs(rms: float)[来源]
均方根到dBFS。 https://fireattack.wordpress.com/2017/02/06/replaygain-loudness-normalization-and-applications/ 音频是正弦波的混合,因此1安培正弦波的满刻度是0.7071,等于-3.0103dB。
dB = dBFS + 3.0103 dBFS = db - 3.0103 例如 0 dB = -3.0103 dBFS
- Args:
rms ([float]): 均方根
- Returns:
浮动: dBFS