当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python PyTorch Tacotron2TTSBundle.get_text_processor用法及代码示例


本文简要介绍python语言中 torchaudio.pipelines.Tacotron2TTSBundle.get_text_processor 的用法。

用法:

abstract get_text_processor(self, *, dl_kwargs=None) → torchaudio.pipelines.Tacotron2TTSBundle.TextProcessor

参数

dl_kwargs(关键字参数字典,) -传递给 torch.hub.download_url_to_file()

返回

一个可调用的,它将字符串或字符串列表作为输入并返回编码文本的张量和有效长度的张量。该对象还具有tokens 属性,允许恢复标记化的形式。

返回类型

TTSTextProcessor

创建文本处理器

对于基于字符的管道,此处理器按字符拆分输入文本。对于基于音素的管道,该处理器将输入文本(字素)转换为音素。

如果需要预训练的权重文件,则使用 torch.hub.download_url_to_file() 下载它。

示例 - 基于字符
>>> text = [
>>>     "Hello World!",
>>>     "Text-to-speech!",
>>> ]
>>> bundle = torchaudio.pipelines.TACOTRON2_WAVERNN_CHAR_LJSPEECH
>>> processor = bundle.get_text_processor()
>>> input, lengths = processor(text)
>>>
>>> print(input)
tensor([[19, 16, 23, 23, 26, 11, 34, 26, 29, 23, 15,  2,  0,  0,  0],
        [31, 16, 35, 31,  1, 31, 26,  1, 30, 27, 16, 16, 14, 19,  2]],
       dtype=torch.int32)
>>>
>>> print(lengths)
tensor([12, 15], dtype=torch.int32)
>>>
>>> print([processor.tokens[i] for i in input[0, :lengths[0]]])
['h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd', '!']
>>> print([processor.tokens[i] for i in input[1, :lengths[1]]])
['t', 'e', 'x', 't', '-', 't', 'o', '-', 's', 'p', 'e', 'e', 'c', 'h', '!']
示例 - 基于音素
>>> text = [
>>>     "Hello, T T S !",
>>>     "Text-to-speech!",
>>> ]
>>> bundle = torchaudio.pipelines.TACOTRON2_WAVERNN_PHONE_LJSPEECH
>>> processor = bundle.get_text_processor()
Downloading:
100%|███████████████████████████████| 63.6M/63.6M [00:04<00:00, 15.3MB/s]
>>> input, lengths = processor(text)
>>>
>>> print(input)
tensor([[54, 20, 65, 69, 11, 92, 44, 65, 38,  2,  0,  0,  0,  0],
        [81, 40, 64, 79, 81,  1, 81, 20,  1, 79, 77, 59, 37,  2]],
       dtype=torch.int32)
>>>
>>> print(lengths)
tensor([10, 14], dtype=torch.int32)
>>>
>>> print([processor.tokens[i] for i in input[0]])
['HH', 'AH', 'L', 'OW', ' ', 'W', 'ER', 'L', 'D', '!', '_', '_', '_', '_']
>>> print([processor.tokens[i] for i in input[1]])
['T', 'EH', 'K', 'S', 'T', '-', 'T', 'AH', '-', 'S', 'P', 'IY', 'CH', '!']

相关用法


注:本文由纯净天空筛选整理自pytorch.org大神的英文原创作品 torchaudio.pipelines.Tacotron2TTSBundle.get_text_processor。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。