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