當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。