def test_tokenizer(self):
        tokenizer = Tokenizer(alphabet=list('ab c'))
        self.assertEqual(5, tokenizer.start_token_index)
        self.assertEqual(6, tokenizer.end_token_index)
        self.assertEqual(7, tokenizer.vocab_size)

        seq = tokenizer('a b d')
        self.assertEqual([5, 1, 3, 2, 3, 6], seq)

        seq = np.array([5, 1, 3, 2, 8, 6])
        seq = tf.convert_to_tensor(seq)
        text = tokenizer.decode(seq)
        self.assertEqual('>a b<', text)
Esempio n. 2
0
 def default_pipeline(cls, language, add_start_end):
     if language == 'en':
         cleaner = English()
     elif language == 'de':
         cleaner = German()
     else:
         raise ValueError(
             f'language must be either "en" or "de", not {language}.')
     phonemizer = Phonemizer(language=language)
     tokenizer = Tokenizer(sorted(list(_phonemes) + list(_punctuations)),
                           add_start_end=add_start_end)
     return cls(cleaner=cleaner, phonemizer=phonemizer, tokenizer=tokenizer)
Esempio n. 3
0
 def default_pipeline(cls, language, add_start_end, with_stress, njobs=1):
     if (language == 'en') or (language == 'en-gb') or (language
                                                        == 'en-us'):
         cleaner = English()
     elif language == 'de':
         cleaner = German()
     else:
         raise ValueError(
             f'language must be either "en" (en-us, en-gb) or "de", not {language}.'
         )
     phonemizer = Phonemizer(language=language,
                             strip=False,
                             njobs=njobs,
                             with_stress=with_stress)
     tokenizer = Tokenizer(all_phonemes, add_start_end=add_start_end)
     return cls(cleaner=cleaner, phonemizer=phonemizer, tokenizer=tokenizer)
Esempio n. 4
0
    from preprocessing.metadata_readers import get_preprocessor_by_name
    from preprocessing.datasets import DataReader, AutoregressivePreprocessor, TextMelDataset
    from preprocessing.text.tokenizer import Tokenizer
    from preprocessing.text.symbols import all_phonemes
    from pathlib import Path

    ljspeech_folder = '/Volumes/data/datasets/LJSpeech-1.1'
    metadata_path = '/Volumes/data/datasets/LJSpeech-1.1/phonemized_metadata.txt'
    metadata_reader = get_preprocessor_by_name('ljspeech')
    data_reader = DataReader(data_directory=ljspeech_folder,
                             metadata_path=metadata_path,
                             metadata_reading_function=metadata_reader,
                             scan_wavs=True)
    mel_dir = Path('/Volumes/data/datasets/LJSpeech-1.1/mels')

    tokenizer = Tokenizer(alphabet=all_phonemes)
    preprocessor = AutoregressivePreprocessor(mel_channels=80,
                                              mel_start_value=.5,
                                              mel_end_value=-.5,
                                              tokenizer=tokenizer)
    dataset_creator = TextMelDataset(data_reader=data_reader,
                                     preprocessor=preprocessor,
                                     mel_directory=mel_dir)
    dataset = dataset_creator.get_dataset(
        shuffle=True,
        drop_remainder=False,
        bucket_batch_sizes=[6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 1])
    for i in range(10):
        mel, text, stop, fname = dataset.next_batch()
        pass
Esempio n. 5
0
    from preprocessing.metadata_readers import get_preprocessor_by_name
    from preprocessing.datasets import DataReader, AutoregressivePreprocessor, TextMelDataset
    from preprocessing.text.tokenizer import Tokenizer
    from preprocessing.text.symbols import all_phonemes
    from pathlib import Path

    ljspeech_folder = '/Volumes/data/datasets/LJSpeech-1.1'
    metadata_path = '/Volumes/data/datasets/LJSpeech-1.1/phonemized_metadata.txt'
    metadata_reader = get_preprocessor_by_name('ljspeech')
    data_reader = DataReader(data_directory=ljspeech_folder,
                             metadata_path=metadata_path,
                             metadata_reading_function=metadata_reader,
                             scan_wavs=True)
    mel_dir = Path('/Volumes/data/datasets/LJSpeech-1.1/mels')

    tokenizer = Tokenizer()
    preprocessor = AutoregressivePreprocessor(mel_channels=80,
                                              mel_start_value=.5,
                                              mel_end_value=-.5,
                                              tokenizer=tokenizer)
    dataset_creator = TextMelDataset(data_reader=data_reader,
                                     preprocessor=preprocessor,
                                     mel_directory=mel_dir)
    dataset = dataset_creator.get_dataset(
        shuffle=True,
        drop_remainder=False,
        bucket_batch_sizes=[6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 1])
    for i in range(10):
        mel, text, stop, fname = dataset.next_batch()
        pass