{'fraction_non_alphanumeric': 0.03350722311396469, 'fraction_numerical': 0.015489566613162118, 'mean_word_length': 4.974826180771998, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
KazakhTTS2: Extending the Open-Source Kazakh TTS Corpus With More Data, Speakers, and Topics

We present an expanded version of our previously released Kazakh text-to-speech (KazakhTTS) synthesis corpus. In the new KazakhTTS2 corpus, the overall size has increased from 93 hours to 271 hours, the number of speakers has risen from two to five (three females and two males), and the topic coverage has been diversified with the help of new sources, including a book and Wikipedia articles. This corpus is necessary for building high-quality TTS systems for Kazakh, a Central Asian agglutinative language from the Turkic family, which presents several linguistic challenges. We describe the corpus construction process and provide the details of the training and evaluation procedures for the TTS system. Our experimental results indicate that the constructed corpus is sufficient to build robust TTS models for real-world applications, with a subjective mean opinion score ranging from 3.6 to 4.2 for all the five speakers. We believe that our corpus will facilitate speech and language research for Kazakh and other Turkic languages, which are widely considered to be low-resource due to the limited availability of free linguistic data. The constructed corpus, code, and pretrained models are publicly available in our GitHub repository.


Introduction
Text-to-speech (TTS), also known as speech synthesis, is the automatic process of converting written text into speech (Taylor, 2009), which has wide application potential and a substantial social impact, including digital assistants, improved accessibility for people with reading disabilities, speech and vision impairments, to name a few. For visually impaired people, in particular, it enables voice-controlled access to Internet-ofthings devices, on-demand access to books and websites, and access to other vocalized assistive technologies. In turn, these enhance the overall quality of life, consumption of information, and access to knowledge. In addition, TTS can complement other important language and vision technologies, such as speech recognition (Tjandra et al., 2017), speech-to-speech translation (Wahlster, 2013), face-to-face translation (Prajwal et al., 2019), and visual-to-sound (Zhou et al., 2018). Considering the aforementioned benefits, TTS is undoubtedly an essential speech processing technology for any language. In recent years, TTS research has progressed remarkably thanks to neural network-based architectures (Tan et al., 2021), regularly organized challenges (Black and Tokuda, 2005;Dunbar et al., 2019), and open-source datasets (Ito and Johnson, 2017;Zen et al., 2019;Shi et al., 2020). Especially, impressive results have been achieved for commercially viable languages, such as English and Mandarin. However, there is still a lack of research into the development of TTS technologies for low-resource languages. To address this problem in regard to Kazakh, Mussakhojayeva et al. (2021a) have recently developed the first open-source Kazakh text-to-speech (KazakhTTS) corpus, which contains 93 hours of manually transcribed audio from two professional speakers (one female and one male) reading news articles. The developed corpus has generated substantial interest and has been downloaded over 200 times in less than a year by academia and industry, both from local and global organizations. This demonstrates high demand for open-source and high-quality transcribed speech data in the Kazakh language. Motivated by this, in this paper, we present a new version of the KazakhTTS corpus called KazakhTTS2, which adds more data, speakers, and topics to our corpus. Specifically, we have increased the data size from 93 hours to 271 hours. We have added three new professional speakers (two females and one male), with over 25 hours of transcribed data for each speaker. In addition to news, we have diversified the topic coverage with a book and Wikipedia articles. Like the first version, KazakhTTS2 is freely available to both academic researchers and industry practitioners in our GitHub repository 1 . To validate the KazakhTTS2 corpus, we built a stateof-the-art TTS system based on the Tacotron 2 (Shen et al., 2018) architecture. The constructed TTS system was evaluated using the subjective mean opinion score (MOS) measure. The obtained MOSs for all the speakers ranged from 3.6 to 4.2, which indicates the utility of the KazakhTTS2 corpus for building robust TTS systems suitable for real-world applications. We believe that our corpus will further facilitate the rapid development of TTS systems in the Kazakh language and thus serve as an enabler for the wide range of applica-tions mentioned above. We also believe that this work will encourage subsequent efforts in this area to address some of the practical issues that arise when training TTS systems for the Kazakh language. Additionally, our corpus can be employed to bootstrap speech technologies for other similar languages from the Turkic family, for example, by means of cross-lingual transfer learning  and self-supervised pretraining (Baevski et al., 2020). To sum up, our main contributions are: • We developed a text-to-speech synthesis corpus for the Kazakh language containing five speakers (three females and two males) comprising 271 hours of carefully transcribed data from various sources (news, book, and Wikipedia). • We validated the efficacy of the corpus, by training state-of-the-art neural TTS models, which achieved a sufficient subjective MOS for most practical applications. • The KazakhTTS2 corpus, code, and pretrained models were made publicly available 1 for both commercial and academic use. The rest of this paper is organized as follows: Section 2 reviews the work on Kazakh language corpus creation. In Section 3, we briefly summarize the previous release of the corpus and explain the changes made in Kaza-khTTS2, including the corpus structure and statistics. The experimental setup and evaluation results are described in Section 4. Section 5 discusses the challenges of Kazakh speech synthesis and future research directions. Section 6 concludes this work.

Related Work
Despite its under-resourced status, Kazakh language research is emerging as an evolving field with an increasing number of recently released open-source corpora. For example, Khassanov et al. (2021) developed the first large-scale publicly available corpus for automatic speech recognition (ASR). The corpus was collected by means of crowdsourcing, with over 2,000 people contributing around 330 hours of audio recordings. Similarly, Yeshpanov et al. (2021) developed an open-source Kazakh named entity recognition dataset consisting of over 100,000 sentences annotated for 25 entity classes. Linguistic corpora development has also been observed in neighboring countries with languages similar to Kazakh, such as Uzbek (Musaev et al., 2021). Additionally, there are other large-scale projects aimed at collecting open-source corpora for various languages, including Kazakh, such as Common Voice (Ardila et al., 2020). However, all these datasets are unsuitable for building robust Kazakh TTS systems, which require a large number of high-quality audio recordings of a single speaker. The first attempt to collect a large-scale open-source TTS dataset for the Kazakh language was made by Mussakhojayeva et al. (2021a). The collected dataset was called KazakhTTS and consisted of 93 hours of carefully transcribed audio from two professional speakers. Specifically, the speakers were assigned to read local news articles. The recorded articles were manually segmented into sentences and then aligned with the corresponding text with the help of native Kazakh transcribers. The TTS systems developed using KazakhTTS achieved an MOS of above 4.0, demonstrating the high quality of the collected data. This work further extends the KazakhTTS corpus, as described in the following sections. The other existing corpora dedicated to Kazakh TTS are either proprietary or have been collected by leveraging unsupervised and semi-supervised approaches. For example, Black (2019) extracted readings of the Bible in hundreds of languages, including Kazakh. The extracted recordings were automatically segmented and aligned with the corresponding text. Although a TTS system built using this corpus is sufficient to deploy in some use-cases, its overall quality is unsatisfactory for most real-world applications. Specifically, in the evaluation experiments, the Kazakh TTS system achieved a mel-cepstral distortion score of more than 6, which is considered low quality 2 . In another work, Khomitsevich et al. (2015) developed a Kazakh TTS system using a female voice. However, the authors did not provide any information on their corpus, such as its size, how the recordings were acquired, and how to download it. Additionally, the authors did not describe the evaluation procedures performed to assess the developed TTS system.

KazakhTTS2 Corpus
In this section, we describe the curation procedures for the KazakhTTS2 corpus. The KazakhTTS2 corpus collection was approved by the Institutional Research Ethics Committee of Nazarbayev University. We first briefly summarize the previous version of the corpus (i.e., KazakhTTS) and then systematically explain the changes made to extend it.

KazakhTTS
KazakhTTS is the first version of our corpus, which contains around 93 hours of transcribed audio consisting of over 42,000 sentences. The audio was recorded by two professional speakers, both of whom had had over ten years of narration experience in local television and radio stations. The speakers were assigned to read news articles covering various topics, such as sports, business, politics, and so on. The recorded audio was manually segmented into sentences, with defective segments (e.g., mispronunciation and external noise) filtered out. The correspondence between audio and text was verified by native Kazakh transcribers. The statistics for the first and second versions of the corpus are provided in Table 1.

Text Collection
We began by collecting additional news articles from four local news websites. To further broaden the topic coverage, we added a book from the public domain and Wikipedia articles. From Wikipedia, we extracted articles on science, computer technology, countries, and history. All the articles were manually extracted to eliminate defects peculiar to web crawlers and saved in the DOC format for the professional speakers' convenience (i.e., font size, line spacing, and typeface could be adjusted to the preferences of the speakers). In total, over 2,500 additional news articles, one book, and 159 Wikipedia articles were extracted.

Recording Process
To narrate the collected text, we auditioned several candidates and, as a result, hired three professional speakers (two females and one male). Each speaker participated voluntarily and was informed of the protocols for data collection and use through an informed consent form. All the hired speakers were tasked to read news articles only. In addition, we rehired the male speaker (speaker M1) from the previous corpus creation process, because of his extensive experience in narrating documentaries. He was subsequently tasked to read the book and Wikipedia articles. The speaker specifications, including gender, age, professional experience as a narrator, and recording device information, are provided in Table 2. Speakers F1 and M1 were part of KazakhTTS, whereas F2, F3, and M2 are newly hired speakers.
Due to the COVID-19 pandemic, we could not invite the speakers to our laboratory for data collection. Therefore, the speakers were allowed to record audio in their makeshift studios that they had set up to work from home. The speakers were instructed to read the texts in a quiet indoor environment with neutral tone and pace. They were also asked to follow orthoepic rules, to maintain a constant distance between the microphone and lips, to pause at commas, and to intonate sentences ending with a question mark appropriately. In total, each newly hired speaker read around 1,400 news articles, and Speaker M1 read one book entitled Abai Zholy (The Path of Abai) and 159 Wikipedia articles.

Segmentation and Alignment
For audio segmentation and audio-to-text alignment, we employed the same approach as in the KazakhTTS corpus construction. We hired five native Kazakh transcribers with different backgrounds and thorough knowledge of Kazakh grammar rules. The transcribers manually segmented the recordings into sentence-level chunks and aligned them with the corresponding text using the Praat toolkit (Boersma, 2001). All the texts were represented using a Cyrillic script consisting of 42 letters 3 and other punctuation marks, such as period, comma, hyphen, question mark, and exclamation mark. The transcribers were instructed to remove segments with mispronunciation and background noise, to trim long pauses at the beginning and end of segments, and to convert numbers and special characters (e.g., '%', '$', '+', etc) into the written form. To ensure the uniform quality of work among the transcribers, we assigned a linguist to randomly check the completed tasks and to organize regular "go through errors" sessions.
To ensure the correctness of the audio-to-text alignment process, the segmented recordings were inspected using our internal ASR system trained on the KSC dataset . Specifically, the ASR system was used to generate segment transcriptions, which were then compared to the corresponding manually annotated transcripts. Segments with a high character error rate (CER) were regarded as incorrectly transcribed, and therefore rechecked by the linguist.

Corpus Structure and Statistics
The file structure of the KazakhTTS2 corpus is shown in Figure 1. Collections of audio recordings and the corresponding transcriptions are stored in a separate folder for each speaker. Additionally, for Speaker M1, we split the data from different sources into separate folders (i.e., News, Wiki, and Book). All audio recordings were downsampled to 22.05 kHz and stored at 16 bits per sample in the WAV format. All transcripts are stored as TXT files in the UTF-8 encoding. The audio and the corresponding transcript filenames are identical except for the extension. The  name of each file consists of the source name, document ID, and utterance ID (i.e., source docID uttID). Speaker information, including gender, age, professional experience, and recording device, is provided in the speaker metadata.txt file.
The statistics for the KazakhTTS2 corpus are given in Table 3. The overall corpus size is around 271 hours, with each speaker having at least 25 hours of transcribed audio. The total number of sentences is around 136 thousand, and the total number of tokens is over 1.7 million, with unique token types per speaker ranging from 28.5 thousand to 80.7 thousand. Figure 2 presents the histograms of the distributions of sentence duration and length (in words) for each speaker in KazakhTTS2. For all speakers, the majority of sentence durations are between 3 and 6 seconds. The majority of sentence lengths are between 11 and 15 words for female speakers, and between 6 and 10 words for male speakers.

Speech Synthesis Experiments
In this section, we describe the experiments conducted to validate the utility of the KazakhTTS2 corpus. We first describe the experimental setup, followed by our evaluation procedures and results.

Experimental Setup
We used the ESPnet-TTS toolkit (Hayashi et al., 2020) to build end-to-end TTS models based on the Tacotron 2 (Shen et al., 2018) architecture. Specifically, we followed the training recipe of LJ Speech (Ito and Johnson, 2017). All TTS models were trained using Tesla V100 GPUs running on NVIDIA DGX 2 machines. The input for each model is a sequence of characters consisting of 42 letters and 5 symbols ('.', ',', '-','?', '!'), and the output is a sequence of acoustic features (80 dimensional log Mel-filter bank features). To transform these acoustic features into the time-domain waveform samples, we employed Wave-GAN  vocoders.
In the Tacotron 2 model, the encoder module was modeled as a single bidirectional LSTM layer with 512 units (256 units in each direction), and the decoder module was modeled as a stack of two unidirectional LSTM layers with 1,024 units. The parameters were optimized using the Adam algorithm (Kingma and Ba, 2015) with an initial learning rate of 10 −3 for 200 epochs. To mitigate overfitting, we applied a dropout of 0.5. A separate Tacotron 2 model was trained for each speaker (i.e., a single speaker model). More details on the model specifications and training procedures are provided in our GitHub repository 1 .

Experimental Evaluation
To assess the quality of the synthesized recordings, we performed a subjective evaluation using the MOS measure. We evaluated only the voices developed using the newly collected data 4 (i.e., F2, F3, M1 Wikipedia and Book, and M2), as the other data had already been evaluated in the previous work (Mussakhojayeva et al., 2021a). The evaluation procedure was similar to that of our previous work, except for the number of sentences selected as a test set. Specifically, in this work, we selected 25 sentences of varying lengths from each speaker, whereas, in the previous work, 50 sentences per speaker were selected. The reason for selecting a smaller number of sentences is based on our observation that raters become exhausted or bored after around 25 sentences and quit the evaluation session. The evaluation sentences were not used to train the models. The speakers were evaluated in separate sessions, and in each session we compared the ground truth (i.e., natural speech) recordings against the Tacotron 2 synthesized recordings. The ground truth sentences were manually checked to ensure that the speaker read them   Figure 2: Segment duration (a, b, c, d, e) and length (f, g, h, i, j) distributions for each speaker of KazakhTTS2 well (i.e., without disfluencies, mispronunciations, or background noise). Evaluation sessions were conducted using the instant messaging platform Telegram (Telegram Messenger Inc., 2013), as it is difficult to find native Kazakh raters on other well-known platforms, such as Amazon Mechanical Turk (Amazon.com Inc., 2005). We developed a separate evaluation Telegram bot for each speaker. The bots first presented a welcome message with instructions and then started the evaluation process. During the evaluation, the bots sent a sentence recording 5 with the associated transcript to a rater and received the corresponding evaluation score. Recordings were rated using a five-point Likert scale: 5 for excellent, 4 for good, 3 for fair, 2 for poor, and 1 for bad. The raters were instructed to assess the overall quality through headphones in a quiet environment 6 . They were allowed to listen to the recordings several times, but they were not allowed to alter the ratings once submitted. Additionally, the Telegram bots kept track of the raters' ID, to prevent them from participating in the evaluation session more than once. The evaluation recordings were presented in the same order and one at a time. However, at each time step, the bots randomly decided which version of a recording to select (i.e., ground truth or synthesized). As a result, each rater heard only one of the versions of a recording, and both systems (i.e., ground truth and Tacotron 2) were presented to all the raters. Each recording was rated at least 24 times for all the three speakers. The numbers of raters were 57, 61, 116, 89, and 53 for speakers F2, F3, M1 Wikipedia, M1 Book, and M2, respectively 7 . At the end of the evaluation, the bots thanked the raters and invited them to fill in an optional questionnaire about their age, region (where a rater grew up and learned the Kazakh language), and gender. The questionnaire results showed that the raters varied in gender  . Specifically, the majority of raters were from the south and west of Kazakhstan, and females outnumbered males by a factor of 1.5.

Experiment Results
The subjective evaluation results are given in Table 4. As expected, the ground truth recordings received higher MOS scores than the Tacotron 2 synthesized ones. Nevertheless, all synthesized recordings except M1 Wikipedia scored above 4.0 on the MOS measure and were close to the ground truth (i.e., 8.7%, 3.1%, 18.1%, 11.1% and 5.2% relative MOS reductions for speakers F2, F3, M1 Wikipedia, M1 Book, and M2, respectively). These results demonstrate the utility of our KazakhTTS2 dataset for TTS applications. Overall, the highest MOS score among the synthesized recordings was achieved by Speaker F1, and the lowest score was achieved by M1 Wikipedia. Presumably, the reason for the poor performance of M1 Wikipedia is the wide variety of topics and the abundance of rare scientific terms (from chemistry, biology, information technology, etc.). We believe that the performance of M1 Wikipedia can be improved by exploiting other data from Speaker M1. For example, by pre-training a model on M1 News and Book data, followed by finetuning using M1 Wikipedia. In addition, we conducted an objective evaluation in which we manually analyzed the synthesized evaluation set recordings. Specifically, we counted the various error types made by the Tacotron 2 systems built using the newly collected data. The objective evaluation results are given in Table 5, which are consistent with the subjective evaluation, with Speaker M2 having the lowest number of errors, followed by F2 and M1 Book, and then F3 and M1 Wikipedia. The most common error types among all speakers are mispronunciation, incomplete words, and word skipping. This analysis indicates that there is still room for improvement and future work should focus on eliminating these errors.

Challenges and Future Work
The Kazakh language presents several challenges to the speech synthesis task. The first one is code-switching, as the majority of Kazakh speakers are bilingual in Kazakh and Russian. While the languages are not mixed in most formal situations (e.g., news, books, law, etc.), intrasentential code-switching often occurs in informal conversations. Moreover, intra-word codeswitching is also possible (e.g., Kazakh stem words with Russian suffixes or vice versa), which may further deteriorate TTS quality.
Additionally, Kazakh has a large number of loanwords from Russian, and these words usually retain the orthographic and phonological properties of the source language. This has especially important consequences for TTS applications, as Russian differs from Kazakh in many aspects. For example, in most Kazakh words, the stress is fixed on the final syllable, while in Russian, the stress can be on any syllable of a word (Jouravlev and Lupker, 2014). Furthermore, the spelling of Kazakh words closely matches their pronunciation, which is not the case with Russian words; for example, the letter "o" is sometimes pronounced as /a/. It is important to mention that due to globalization, the number of loanwords from other languages, especially English, is also increasing, which is likely to pose an additional challenge in the near future (Mussakhojayeva et al., 2021b). Another challenge is that Kazakh is an agglutinative language, with a very large vocabulary and many characters per word. It is also susceptible to morphophonemic changes arising during word formation. One of the solutions would be to increase the size of the Kazakh speech corpus to cover more word formation variants. We believe that overcoming these challenges for the Kazakh language will be an interesting direction for future research.

Conclusion
We have presented KazakhTTS2, a large-scale opensource Kazakh text-to-speech corpus, which further extends the previous work with more data, voices, and topics. The corpus consists of five voices (three female and two male), with over 270 hours of high-quality transcribed data. The corpus is publicly available, which permits both academic and commercial use. We validated the corpus by means of crowdsourced subjective evaluation, where all voices synthesized using the Tacotron 2 model achieved an MOS of above 3.6, making it suitable for practical deployment. To enable experiment reproducibility and facilitate future research, we shared our training recipes and pretrained models in our GitHub repository 1 . Although the corpus was designed with TTS application in mind, it can be used to complement other speech processing applications, such as speech recognition and speech translation. We hope the TTS corpus construction and evaluation procedures described in this paper will contribute to the burgeoning field of Kazakh speech and language research and help advance the state-of-the-art for other low-resource languages of the Turkic family.