paddlespeech.s2t.frontend.speech 模块

包含语音段类。

class paddlespeech.s2t.frontend.speech.SpeechSegment(samples, sample_rate, transcript, tokens=None, token_ids=None)[来源]

基础: AudioSegment

带文本的语音片段

Args:

音频段 (AudioSegment): 音频段

Attributes:
duration

返回音频时长。

has_token
num_samples

返回样本数量。

rms_db

返回音频的均方根能量,单位为分贝。

sample_rate

返回音频采样率。

samples

返回音频样本。

token_ids

返回成绩单文本标记的ID。

tokens

返回成绩单文本标记。

transcript

返回成绩单文本。

方法

add_noise(noise, snr_dB[, ...])

在特定信噪比下添加给定的噪声段。

change_speed(speed_rate)

通过线性插值改变音频速度。

concatenate(*segments)

将任意数量的语音段连接在一起,音频和文本将被连接。

convolve(impulse_segment[, allow_resample])

将此音频片段与给定的脉冲片段进行卷积。

convolve_and_normalize(impulse_segment[, ...])

对得到的音频片段进行卷积和归一化,使其具有与输入信号相同的平均功率。

from_bytes(bytes, transcript[, tokens, ...])

从字节字符串和相应的创建语音片段

from_file(filepath, transcript[, tokens, ...])

从音频文件和相应的转录创建语音片段。

from_pcm(samples, sample_rate, transcript[, ...])

在在线模式下从pcm创建语音段 参数: samples (numpy.ndarray): 音频样本 [num_samples x num_channels]。 sample_rate (int): 音频采样率。 transcript (str): 语音的文本记录。 tokens (List[str], optional): 文本标记。 默认为 None。 token_ids (List[int], optional): 文本标记的 ID。 默认为 None。 返回: SpeechSegment: 语音段实例。

from_sequence_file(filepath)

从序列文件创建音频段。

gain_db(gain)

对样本应用分贝增益。

make_silence(duration, sample_rate)

创建一个给定持续时间和采样率的静音语音段,转录将是一个空字符串。

normalize([target_db, max_gain_db])

将音频归一化为期望的均方根值(RMS),以分贝为单位。

normalize_online_bayesian(target_db, ...[, ...])

使用与生产兼容的在线/因果算法规范化音频。

pad_silence(duration[, sides])

用一段静音填充这个音频样本。

random_subsegment(subsegment_length[, rng])

随机截取指定长度的音频片段。

resample(target_sample_rate[, filter])

将音频重采样到目标采样率。

shift(shift_ms)

在时间上移动音频。

slice_from_file(filepath, transcript[, ...])

加载语音的一小部分,而无需将整个文件加载到内存中,这可能是非常浪费的。

subsegment([start_sec, end_sec])

在给定边界之间裁剪音频段。

superimpose(other)

将另一个片段的样本添加到这个片段的样本中(样本级别的添加,而不是片段的连接)。

to([dtype])

创建一个 dtype 音频内容。

to_bytes([dtype])

创建一个包含音频内容的字节字符串。

to_wav_file(filepath[, dtype])

将音频片段保存到磁盘作为wav文件。

classmethod concatenate(*segments)[来源]

将任意数量的语音片段连接在一起,音频和文本将被连接。

Parameters:

*segments --

输入的语音段将被连接。

Returns:

语音片段实例。

Return type:

SpeechSegment

Raises:
  • 值错误 -- 如果段的数量为零,或者任何两个段的 sample_rate 不匹配。

  • 类型错误 -- 如果任何片段不是 SpeechSegment 实例。

classmethod from_bytes(bytes, transcript, tokens=None, token_ids=None)[来源]

从字节字符串和相应创建语音段

Args:

filepath (str|file): 音频文件的文件路径或文件对象。
transcript (str): 演讲的文本抄本。
tokens (List[str], optional): 文本标记。默认为 None。
token_ids (List[int], optional): 文本标记 id。默认为 None。

Returns:

语音片段:语音片段实例。

classmethod from_file(filepath, transcript, tokens=None, token_ids=None, infos=None)[来源]

从音频文件和相应的转录文本创建语音段。

Args:

filepath (str|file): 音频文件的文件路径或文件对象。
transcript (str): 语音的文本记录。
tokens (List[str], optional): 文本标记。默认为 None。
token_ids (List[int], optional): 文本标记 ID。默认为 None。
infos (TarLocalData, optional): tar2obj 和 tar2infos。默认为 None。

Returns:

语音片段:语音片段实例。

classmethod from_pcm(samples, sample_rate, transcript, tokens=None, token_ids=None)[来源]

在在线模式下从pcm创建语音片段
参数:

样本 (numpy.ndarray): 音频样本 [样本数量 x 通道数量]. 采样率 (int): 音频采样率. 转录 (str): 讲话的转录文本. 标记 (List[str], optional): 文本标记. 默认值为 None. 标记 ID (List[int], optional): 文本标记 ID. 默认值为 None.

Returns:

SpeechSegment: 语音片段实例。

property has_token
classmethod make_silence(duration, sample_rate)[来源]

创建一个给定持续时间和采样率的静音语音段,转录将是一个空字符串。

Args:

duration (float): 静音的长度(以秒为单位)。
sample_rate (float): 采样率。

Returns:

SpeechSegment: 给定持续时间的静音。

classmethod slice_from_file(filepath, transcript, tokens=None, token_ids=None, start=None, end=None)[来源]

加载演讲的一个小部分,而无需将整个文件加载到内存中,这可能是非常浪费的。

Parameters:
  • filepath (str|file) -- 音频文件的文件路径或文件对象。

  • 开始 (浮点数) -- 开始时间(单位:秒)。如果开始时间为负,则从末尾开始。如果未提供,则此函数从起始位置读取。

  • end (float) -- 结束时间,以秒为单位。如果结束时间为负数,它将从结尾开始循环。如果未提供,默认行为是读取文件的结尾。

  • transcript -- 演讲的抄本文本。如果未提供,默认为空字符串。

Returns:

SpeechSegment 是输入语音文件指定片段的实例。

Return type:

SpeechSegment

property token_ids

返回成绩单文本标记的ID。

Returns:

List[int]: 文本令牌 ID。

property tokens

返回成绩单文本标记。

Returns:

List[str]: 文本令牌。

property transcript

返回成绩单文本。

Returns:

str: 演讲的文字记录。