diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..ace7f00eb80783bd7d9dd6e303300e8fc914354b Binary files /dev/null and b/requirements.txt differ diff --git a/unlimit gen.py b/unlimit gen.py new file mode 100644 index 0000000000000000000000000000000000000000..5c60eee99f97c613ecf2d76cddbe3f9332cfddcb --- /dev/null +++ b/unlimit gen.py @@ -0,0 +1,257 @@ +from kokoro import KModel, KPipeline +import gradio as gr +import os +import random +import torch +import logging +import soundfile as sf + +# Optional: import Resemblyzer for voice cloning (install via pip install resemblyzer) +try: + from resemblyzer import VoiceEncoder, preprocess_wav + encoder = VoiceEncoder() +except ImportError: + encoder = None + +# Configuration +VOICE_DIR = r"D:\New folder (2)\model\voices" +OUTPUT_DIR = r"D:\New folder (2)\output_audio" +TEXT = "Hello, this is a test of the Kokoro TTS system." + +# Configure logging +logging.basicConfig(level=logging.INFO) +logger = logging.getLogger(__name__) + +# Device setup +CUDA_AVAILABLE = torch.cuda.is_available() +device = "cuda" if CUDA_AVAILABLE else "cpu" +logger.info(f"Using hardware: {device}") + +# Load models for CPU and GPU (if available) +models = {gpu: KModel("hexgrad/Kokoro-82M").to("cuda" if gpu else "cpu").eval() for gpu in [False] + ([True] if CUDA_AVAILABLE else [])} + +# Define pipelines for American ('a') and British ('b') English +pipelines = { + 'a': KPipeline(model=models[False], lang_code='a', device='cpu'), # American English + 'b': KPipeline(model=models[False], lang_code='b', device='cpu') # British English +} + +# Set custom pronunciations for "kokoro" in both American and British modes +try: + pipelines["a"].g2p.lexicon.golds["kokoro"] = "kˈOkəɹO" + pipelines["b"].g2p.lexicon.golds["kokoro"] = "kˈQkəɹQ" +except AttributeError as e: + logger.warning(f"Could not set custom pronunciations: {e}") + +def forward_gpu(text, voice_path, speed): + # Use the GPU model directly without spaces.GPU decorator + pipeline = pipelines[voice_path[0]] + # Ensure the pipeline uses the GPU model + pipeline.model = models[True] # Switch to GPU model + generator = pipeline(text, voice=voice_path, speed=speed) + for _, _, audio in generator: + return audio + return None + +def generate_first(text, voice="af_bella.pt", speed=1, use_gpu=CUDA_AVAILABLE, clone_voice_file=None): + voice_path = os.path.join(VOICE_DIR, voice) + if not os.path.exists(voice_path): + raise FileNotFoundError(f"Voice file not found: {voice_path}") + + pipeline = pipelines[voice[0]] + + # If a clone file is provided and the encoder is available, try to clone the voice + if clone_voice_file is not None and encoder is not None: + try: + # clone_voice_file is a file path (string) in Gradio with type="filepath" + wav = preprocess_wav(clone_voice_file) + cloned_voice = torch.tensor(encoder.embed_utterance(wav), device=device).unsqueeze(0) + temp_voice_path = os.path.join(VOICE_DIR, "cloned_voice.pt") + torch.save(cloned_voice, temp_voice_path) + voice_path = temp_voice_path + except Exception as e: + logger.error(f"Error cloning voice: {e}") + voice_path = os.path.join(VOICE_DIR, voice) + + use_gpu = use_gpu and CUDA_AVAILABLE + try: + if use_gpu: + audio = forward_gpu(text, voice_path, speed) + else: + pipeline.model = models[False] # Ensure CPU model is used + generator = pipeline(text, voice=voice_path, speed=speed) + for _, ps, audio in generator: + return (24000, audio.numpy()), ps + except gr.exceptions.Error as e: + if use_gpu: + gr.Warning(str(e)) + gr.Info("Retrying with CPU. To avoid this error, change Hardware to CPU.") + pipeline.model = models[False] # Switch to CPU model + generator = pipeline(text, voice=voice_path, speed=speed) + for _, ps, audio in generator: + return (24000, audio.numpy()), ps + else: + raise gr.Error(e) + return None, "" + +def predict(text, voice="af_bella.pt", speed=1): + return generate_first(text, voice, speed, use_gpu=False)[0] + +def tokenize_first(text, voice="af_bella.pt"): + voice_path = os.path.join(VOICE_DIR, voice) + if not os.path.exists(voice_path): + raise FileNotFoundError(f"Voice file not found: {voice_path}") + + pipeline = pipelines[voice[0]] + generator = pipeline(text, voice=voice_path) + for _, ps, _ in generator: + return ps + return "" + +def generate_all(text, voice="af_bella.pt", speed=1, use_gpu=CUDA_AVAILABLE): + voice_path = os.path.join(VOICE_DIR, voice) + if not os.path.exists(voice_path): + raise FileNotFoundError(f"Voice file not found: {voice_path}") + + pipeline = pipelines[voice[0]] + use_gpu = use_gpu and CUDA_AVAILABLE + first = True + if use_gpu: + pipeline.model = models[True] # Switch to GPU model + else: + pipeline.model = models[False] # Switch to CPU model + generator = pipeline(text, voice=voice_path, speed=speed) + for _, _, audio in generator: + yield 24000, audio.numpy() + if first: + first = False + yield 24000, torch.zeros(1).numpy() + +# Load random quotes and sample texts +try: + with open("en.txt", "r") as r: + random_quotes = [line.strip() for line in r] +except FileNotFoundError: + random_quotes = ["Hello, this is a test of the Kokoro TTS system."] + +def get_random_quote(): + return random.choice(random_quotes) + +def get_gatsby(): + try: + with open("gatsby5k.md", "r") as r: + return r.read().strip() + except FileNotFoundError: + return "The Great Gatsby text not found." + +def get_frankenstein(): + try: + with open("frankenstein5k.md", "r") as r: + return r.read().strip() + except FileNotFoundError: + return "Frankenstein text not found." + +# Dynamically load all .pt voice files from VOICE_DIR +def load_voice_choices(): + voice_files = [f for f in os.listdir(VOICE_DIR) if f.endswith('.pt')] + choices = {} + for voice_file in voice_files: + # Determine the voice type based on the prefix + prefix = voice_file[:2] + if prefix == 'af': + label = f"🇺🇸 🚺 {voice_file[3:-3].capitalize()}" + elif prefix == 'am': + label = f"🇺🇸 🚹 {voice_file[3:-3].capitalize()}" + elif prefix == 'bf': + label = f"🇬🇧 🚺 {voice_file[3:-3].capitalize()}" + elif prefix == 'bm': + label = f"🇬🇧 🚹 {voice_file[3:-3].capitalize()}" + else: + label = f"Unknown {voice_file[:-3]}" + choices[label] = voice_file + return choices + +CHOICES = load_voice_choices() + +# Log available voices +for label, voice_path in CHOICES.items(): + full_path = os.path.join(VOICE_DIR, voice_path) + if not os.path.exists(full_path): + logger.warning(f"Voice file not found: {full_path}") + else: + logger.info(f"Loaded voice: {label} ({voice_path})") + +# If no voices are found, add a default fallback +if not CHOICES: + logger.warning("No voice files found in VOICE_DIR. Adding a placeholder.") + CHOICES = {"🇺🇸 🚺 Bella 🔥": "af_bella.pt"} + +TOKEN_NOTE = ''' +💡 Customize pronunciation with Markdown link syntax and /slashes/ like [Kokoro](/kˈOkəɹO/) + +💬 To adjust intonation, try punctuation ;:,.!?—…"()“” or stress ˈ and ˌ + +⬇️ Lower stress [1 level](-1) or [2 levels](-2) + +⬆️ Raise stress 1 level [or](+2) 2 levels (only works on less stressed, usually short words) +''' + +with gr.Blocks() as generate_tab: + out_audio = gr.Audio(label="Output Audio", interactive=False, streaming=False, autoplay=True) + generate_btn = gr.Button("Generate", variant="primary") + with gr.Accordion("Output Tokens", open=True): + out_ps = gr.Textbox(interactive=False, show_label=False, + info="Tokens used to generate the audio, up to 510 context length.") + tokenize_btn = gr.Button("Tokenize", variant="secondary") + gr.Markdown(TOKEN_NOTE) + predict_btn = gr.Button("Predict", variant="secondary", visible=False) + +with gr.Blocks() as stream_tab: + out_stream = gr.Audio(label="Output Audio Stream", interactive=False, streaming=True, autoplay=True) + with gr.Row(): + stream_btn = gr.Button("Stream", variant="primary") + stop_btn = gr.Button("Stop", variant="stop") + with gr.Accordion("Note", open=True): + gr.Markdown("⚠️ There is an unknown Gradio bug that might yield no audio the first time you click Stream.") + gr.DuplicateButton() + +API_OPEN = True +with gr.Blocks() as app: + with gr.Row(): + with gr.Column(): + text = gr.Textbox(label="Input Text", info="Arbitrarily many characters supported") + with gr.Row(): + voice = gr.Dropdown(list(CHOICES.items()), value="af_bella.pt" if "af_bella.pt" in CHOICES.values() else list(CHOICES.values())[0], label="Voice", + info="Quality and availability vary by language") + use_gpu = gr.Dropdown( + [("GPU 🚀", True), ("CPU 🐌", False)], + value=CUDA_AVAILABLE, + label="Hardware", + info="GPU is usually faster, but may require CUDA support", + interactive=CUDA_AVAILABLE + ) + speed = gr.Slider(minimum=0.5, maximum=2, value=1, step=0.1, label="Speed") + clone_voice_file = gr.File(label="Clone Voice Sample (Optional)", file_count="single", type="filepath") + random_btn = gr.Button("🎲 Random Quote 💬", variant="secondary") + with gr.Row(): + gatsby_btn = gr.Button("🥂 Gatsby 📕", variant="secondary") + frankenstein_btn = gr.Button("💀 Frankenstein 📗", variant="secondary") + with gr.Column(): + gr.TabbedInterface([generate_tab, stream_tab], ["Generate", "Stream"]) + random_btn.click(fn=get_random_quote, inputs=[], outputs=[text]) + gatsby_btn.click(fn=get_gatsby, inputs=[], outputs=[text]) + frankenstein_btn.click(fn=get_frankenstein, inputs=[], outputs=[text]) + generate_btn.click(fn=generate_first, inputs=[text, voice, speed, use_gpu, clone_voice_file], + outputs=[out_audio, out_ps]) + tokenize_btn.click(fn=tokenize_first, inputs=[text, voice], outputs=[out_ps]) + stream_event = stream_btn.click(fn=generate_all, inputs=[text, voice, speed, use_gpu], outputs=[out_stream]) + stop_btn.click(fn=None, cancels=[stream_event]) + predict_btn.click(fn=predict, inputs=[text, voice, speed], outputs=[out_audio]) + +if __name__ == "__main__": + app.queue(api_open=API_OPEN).launch( + server_name="127.0.0.1", + server_port=40001, + show_api=API_OPEN, + inbrowser=True + ) \ No newline at end of file diff --git a/voices/af_alloy.pt b/voices/af_alloy.pt new file mode 100644 index 0000000000000000000000000000000000000000..c0f72034c4e1369e4d17990442ffe35aeceb21f3 --- /dev/null +++ b/voices/af_alloy.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6d877149dd8b348fbad12e5845b7e43d975390e9f3b68a811d1d86168bef5aa3 +size 523425 diff --git a/voices/af_aoede.pt b/voices/af_aoede.pt new file mode 100644 index 0000000000000000000000000000000000000000..047c8e54f2fac7b9175dd5a2f85ac45f1813a4e3 --- /dev/null +++ b/voices/af_aoede.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c03bd1a4c3716c2d8eaa3d50022f62d5c31cfbd6e15933a00b17fefe13841cc4 +size 523425 diff --git a/voices/af_bella.pt b/voices/af_bella.pt new file mode 100644 index 0000000000000000000000000000000000000000..67135fde4b0f0ab1d8bfe6d3b1ab46d37675279b --- /dev/null +++ b/voices/af_bella.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8cb64e02fcc8de0327a8e13817e49c76c945ecf0052ceac97d3081480e8e48d6 +size 523425 diff --git a/voices/af_heart.pt b/voices/af_heart.pt new file mode 100644 index 0000000000000000000000000000000000000000..23a296174457c31b22b694f6e07e4e1b558122bf --- /dev/null +++ b/voices/af_heart.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0ab5709b8ffab19bfd849cd11d98f75b60af7733253ad0d67b12382a102cb4ff +size 523425 diff --git a/voices/af_jessica.pt b/voices/af_jessica.pt new file mode 100644 index 0000000000000000000000000000000000000000..9740b43fd7ce43473fb5e673a16173136876ba04 --- /dev/null +++ b/voices/af_jessica.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cdfdccb8cc975aa34ee6b89642963b0064237675de0e41a30ae64cc958dd4e87 +size 523435 diff --git a/voices/af_kore.pt b/voices/af_kore.pt new file mode 100644 index 0000000000000000000000000000000000000000..e5532ee773d500ac62cb2fdcc92e8847a867e8f8 --- /dev/null +++ b/voices/af_kore.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8bfbc512321c3db49dff984ac675fa5ac7eaed5a96cc31104d3a9080e179d69d +size 523420 diff --git a/voices/af_nicole.pt b/voices/af_nicole.pt new file mode 100644 index 0000000000000000000000000000000000000000..8be29483c47b630ec3ce1315be802c79126be9da --- /dev/null +++ b/voices/af_nicole.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c5561808bcf5250fe8c5f5de32caf2d94f27e57e95befdb098c5c85991d4c5da +size 523430 diff --git a/voices/af_nova.pt b/voices/af_nova.pt new file mode 100644 index 0000000000000000000000000000000000000000..4f781bca452e06e7acd8c5a5f80d73bf5abca5f7 --- /dev/null +++ b/voices/af_nova.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e0233676ddc21908c37a1f102f6b88a59e4e5c1bd764983616eb9eda629dbcd2 +size 523420 diff --git a/voices/af_river.pt b/voices/af_river.pt new file mode 100644 index 0000000000000000000000000000000000000000..78a4f7b3aba66fa78e82916f73028a3f24d894b8 --- /dev/null +++ b/voices/af_river.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e149459bd9c084416b74756b9bd3418256a8b839088abb07d463730c369dab8f +size 523425 diff --git a/voices/af_sarah.pt b/voices/af_sarah.pt new file mode 100644 index 0000000000000000000000000000000000000000..6e64a6594789ae709973e5902b111b77d8b40043 --- /dev/null +++ b/voices/af_sarah.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:49bd364ea3be9eb3e9685e8f9a15448c4883112a7c0ff7ab139fa4088b08cef9 +size 523425 diff --git a/voices/af_sky.pt b/voices/af_sky.pt new file mode 100644 index 0000000000000000000000000000000000000000..097b254d4b6baf42efb838bf569d1064caeeeb86 --- /dev/null +++ b/voices/af_sky.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c799548aed06e0cb0d655a85a01b48e7f10484d71663f9a3045a5b9362e8512c +size 523351 diff --git a/voices/am_adam.pt b/voices/am_adam.pt new file mode 100644 index 0000000000000000000000000000000000000000..bcadf28e7b574cdc1eb1f4df59bae0b0303bd9f7 --- /dev/null +++ b/voices/am_adam.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ced7e284aba12472891be1da3ab34db84cc05cc02b5889535796dbf2d8b0cb34 +size 523420 diff --git a/voices/am_echo.pt b/voices/am_echo.pt new file mode 100644 index 0000000000000000000000000000000000000000..424d55379346413fdf0282ab65518a10eab27c2a --- /dev/null +++ b/voices/am_echo.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8bcfdc852bc985fb45c396c561e571ffb9183930071f962f1b50df5c97b161e8 +size 523420 diff --git a/voices/am_eric.pt b/voices/am_eric.pt new file mode 100644 index 0000000000000000000000000000000000000000..5c6a5e836ef7d9d104c5d42f8a48e6f95afc0365 --- /dev/null +++ b/voices/am_eric.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ada66f0eefff34ec921b1d7474d7ac8bec00cd863c170f1c534916e9b8212aae +size 523420 diff --git a/voices/am_fenrir.pt b/voices/am_fenrir.pt new file mode 100644 index 0000000000000000000000000000000000000000..78f7a7d984453b438d546bb6006dabbe565a9884 --- /dev/null +++ b/voices/am_fenrir.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:98e507eca1db08230ae3b6232d59c10aec9630022d19accac4f5d12fcec3c37a +size 523430 diff --git a/voices/am_liam.pt b/voices/am_liam.pt new file mode 100644 index 0000000000000000000000000000000000000000..ee88bcc01c91aa7ae5c6687de4444d2107f8c4f9 --- /dev/null +++ b/voices/am_liam.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c82550757ddb31308b97f30040dda8c2d609a9e2de6135848d0a948368138518 +size 523420 diff --git a/voices/am_michael.pt b/voices/am_michael.pt new file mode 100644 index 0000000000000000000000000000000000000000..9e71bb84ce59989842ff0695f4119463fa72a35f --- /dev/null +++ b/voices/am_michael.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9a443b79a4b22489a5b0ab7c651a0bcd1a30bef675c28333f06971abbd47bd37 +size 523435 diff --git a/voices/am_onyx.pt b/voices/am_onyx.pt new file mode 100644 index 0000000000000000000000000000000000000000..258cfa7e3a745f9379453e06bd21d1aa397487b5 --- /dev/null +++ b/voices/am_onyx.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e8452be16cd0f6da7b4579eaf7b1e4506e92524882053d86d72b96b9a7fed584 +size 523420 diff --git a/voices/am_puck.pt b/voices/am_puck.pt new file mode 100644 index 0000000000000000000000000000000000000000..1bf5747ea6c19ef35d673a9ce066ff9cfa25295c --- /dev/null +++ b/voices/am_puck.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dd1d8973f4ce4b7d8ae407c77a435f485dabc052081b80ea75c4f30b84f36223 +size 523420 diff --git a/voices/am_santa.pt b/voices/am_santa.pt new file mode 100644 index 0000000000000000000000000000000000000000..a18e725bbe8790303fe5cb982457fd701a237bd8 --- /dev/null +++ b/voices/am_santa.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7f2f7582fa2b1f160e90aafe6d0b442a685e773608b6667e545d743b073e97a7 +size 523425 diff --git a/voices/bf_alice.pt b/voices/bf_alice.pt new file mode 100644 index 0000000000000000000000000000000000000000..ae3a0a1db073ef34170583f2a55e8034bfa15932 --- /dev/null +++ b/voices/bf_alice.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d292651b6af6c0d81705c2580dcb4463fccc0ff7b8d618a471dbb4e45655b3f3 +size 523425 diff --git a/voices/bf_emma.pt b/voices/bf_emma.pt new file mode 100644 index 0000000000000000000000000000000000000000..6b75d4188b780acb738f89f662133be5e24e42a0 --- /dev/null +++ b/voices/bf_emma.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d0a423deabf4a52b4f49318c51742c54e21bb89bbbe9a12141e7758ddb5da701 +size 523420 diff --git a/voices/bf_isabella.pt b/voices/bf_isabella.pt new file mode 100644 index 0000000000000000000000000000000000000000..b08811a075e0212355bd1b283dda61b6ab5679d5 --- /dev/null +++ b/voices/bf_isabella.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cdd4c37003805104d1d08fb1e05855c8fb2c68de24ca6e71f264a30aaa59eefd +size 523440 diff --git a/voices/bf_lily.pt b/voices/bf_lily.pt new file mode 100644 index 0000000000000000000000000000000000000000..7a57a8c0ae8f8b66c9db54b79faf6e1345e2ca20 --- /dev/null +++ b/voices/bf_lily.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6e09c2e481e2d53004d7e5ae7d3a325369e130a6f45c35a6002de75084be9285 +size 523420 diff --git a/voices/bm_daniel.pt b/voices/bm_daniel.pt new file mode 100644 index 0000000000000000000000000000000000000000..91e84f5066a015f03e3b37cbf0a1917739c6dbd2 --- /dev/null +++ b/voices/bm_daniel.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fc3fce4e9c12ed4dbc8fa9680cfe51ee190a96444ce7c3ad647549a30823fc5d +size 523430 diff --git a/voices/bm_fable.pt b/voices/bm_fable.pt new file mode 100644 index 0000000000000000000000000000000000000000..fd7542dc771b77a7048d80d019a5dc2617d06325 --- /dev/null +++ b/voices/bm_fable.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d44935f3135257a9064df99f007fc1342ff1aa767552b4a4fa4c3b2e6e59079c +size 523425 diff --git a/voices/bm_george.pt b/voices/bm_george.pt new file mode 100644 index 0000000000000000000000000000000000000000..5004f161fa9fa923f031d6e925c6f5fbce9a9baf --- /dev/null +++ b/voices/bm_george.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f1bc812213dc59774769e5c80004b13eeb79bd78130b11b2d7f934542dab811b +size 523430 diff --git a/voices/bm_lewis.pt b/voices/bm_lewis.pt new file mode 100644 index 0000000000000000000000000000000000000000..5574f064d7aee6fafe88caa66000d7aa5f440c83 --- /dev/null +++ b/voices/bm_lewis.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b5204750dcba01029d2ac9cec17aec3b20a6d64073c579d694a23cb40effbd0e +size 523425 diff --git a/voices/ef_dora.pt b/voices/ef_dora.pt new file mode 100644 index 0000000000000000000000000000000000000000..44cf5fc201c1f21711c24e46cc1053323959d9b5 --- /dev/null +++ b/voices/ef_dora.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d9d69b0f8a2b87a345f269d89639f89dfbd1a6c9da0c498ae36dd34afcf35530 +size 523420 diff --git a/voices/em_alex.pt b/voices/em_alex.pt new file mode 100644 index 0000000000000000000000000000000000000000..c65475a0a9be83b6ffa0524cc79ac853e7371f9b --- /dev/null +++ b/voices/em_alex.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5eac53f767c3f31a081918ba531969aea850bed18fe56419b804d642c6973431 +size 523420 diff --git a/voices/em_santa.pt b/voices/em_santa.pt new file mode 100644 index 0000000000000000000000000000000000000000..a1bc30fe579c46ecb4abeed3498888580e45851c --- /dev/null +++ b/voices/em_santa.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aa8620cb96cec705823efca0d956a63e158e09ad41aca934d354b7f0778f63cb +size 523430 diff --git a/voices/ff_siwis.pt b/voices/ff_siwis.pt new file mode 100644 index 0000000000000000000000000000000000000000..02cfd3620a285f8f08732c4ab41c1ab9ef50a35d --- /dev/null +++ b/voices/ff_siwis.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8073bf2d2c4b9543a90f2f0fd2144de4ed157e2d4b79ddeb0d5123066171fbc9 +size 523425 diff --git a/voices/hf_alpha.pt b/voices/hf_alpha.pt new file mode 100644 index 0000000000000000000000000000000000000000..f9b43af195be13769599d796465799c6ad73b64f --- /dev/null +++ b/voices/hf_alpha.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:06906fe05746d13a79c5c01e21fd7233b05027221a933c9ada650f5aafc8f044 +size 523425 diff --git a/voices/hf_beta.pt b/voices/hf_beta.pt new file mode 100644 index 0000000000000000000000000000000000000000..d70cb8bb354db58ca3b10b94cdd03a11507b530c --- /dev/null +++ b/voices/hf_beta.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:63c0a1a6272e98d43f4511bba40e30dd9c8ceaf5f39af869509b9f51a71c503e +size 523420 diff --git a/voices/hm_omega.pt b/voices/hm_omega.pt new file mode 100644 index 0000000000000000000000000000000000000000..75db739db8c65a70f4ed5e456a92fe3387c2bab9 --- /dev/null +++ b/voices/hm_omega.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b55f02a8e8483fffe0afa566e7d22ed8013acf47ad4f6bbee2795a840155703e +size 523425 diff --git a/voices/hm_psi.pt b/voices/hm_psi.pt new file mode 100644 index 0000000000000000000000000000000000000000..2a43144c80e9bf1a733676ad1b9d8367116f0d2e --- /dev/null +++ b/voices/hm_psi.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2f0f055cea4f1083f4ef127ece48d71606347f6557dbb961c0ca5740a2da485b +size 523351 diff --git a/voices/if_sara.pt b/voices/if_sara.pt new file mode 100644 index 0000000000000000000000000000000000000000..b7a52593153d6711f7d6f245b9df7d4ad7eaf15d --- /dev/null +++ b/voices/if_sara.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6c0b253b955fe32f1a1a86006aebe83d050ea95afd0e7be15182f087deedbf55 +size 523425 diff --git a/voices/im_nicola.pt b/voices/im_nicola.pt new file mode 100644 index 0000000000000000000000000000000000000000..9249ede7c997408dd1bc56d16abedfc031b2aed6 --- /dev/null +++ b/voices/im_nicola.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:234ed06648649f9bd874b37508ea17560b9c993ef85b4ddb3e3a71e062bd2c12 +size 523341 diff --git a/voices/jf_alpha.pt b/voices/jf_alpha.pt new file mode 100644 index 0000000000000000000000000000000000000000..90da6c92332481e222ddc5fa67c226f9ed4a7fdf --- /dev/null +++ b/voices/jf_alpha.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1bf4c9dc69e45ee46183b071f4db766349aac5592acbcfeaf051018048a5d787 +size 523425 diff --git a/voices/jf_gongitsune.pt b/voices/jf_gongitsune.pt new file mode 100644 index 0000000000000000000000000000000000000000..b806c5c2688b32b805ec266e29356f2d009ec7bf --- /dev/null +++ b/voices/jf_gongitsune.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1b171917f18f351e65f2bf9657700cd6bfec4e65589c297525b9cf3c20105770 +size 523351 diff --git a/voices/jf_nezumi.pt b/voices/jf_nezumi.pt new file mode 100644 index 0000000000000000000000000000000000000000..0a93ba4639655cfba1d111a6273e4eca75aeacf7 --- /dev/null +++ b/voices/jf_nezumi.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d83f007a7f01783b77014561a7d493d327a0210e143440e91c9b697590d27661 +size 523420 diff --git a/voices/jf_tebukuro.pt b/voices/jf_tebukuro.pt new file mode 100644 index 0000000000000000000000000000000000000000..e52eb2e40b0d6697a959c5a2b5dbd34bcc7bb903 --- /dev/null +++ b/voices/jf_tebukuro.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0d6917904438aec85f73a6fa1f7ac2be6481aae47c697834936930a91796c576 +size 523435 diff --git a/voices/jm_kumo.pt b/voices/jm_kumo.pt new file mode 100644 index 0000000000000000000000000000000000000000..bb64b41e33422b9e522d90aa58e5f4501e9d9548 --- /dev/null +++ b/voices/jm_kumo.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:98340afd68b1cee84fe0cd95528cfa6d4b39e416aa75a9df64049d52c8b55896 +size 523425 diff --git a/voices/pf_dora.pt b/voices/pf_dora.pt new file mode 100644 index 0000000000000000000000000000000000000000..887042c91adf283cb1a10b01f8ed9c50731e6cbb --- /dev/null +++ b/voices/pf_dora.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:07e4ff987c5d5a8c3995efd15cc4f0db7c4c15e881b198d8ab7f67ecf51f5eb7 +size 523425 diff --git a/voices/pm_alex.pt b/voices/pm_alex.pt new file mode 100644 index 0000000000000000000000000000000000000000..c2146a38bed0114ed76db751ea11ca1c8119e4d3 --- /dev/null +++ b/voices/pm_alex.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cf0ba8c573c2480fc54123683a35cf1e2ae130428e441eb91f9149bdb188a526 +size 523425 diff --git a/voices/pm_santa.pt b/voices/pm_santa.pt new file mode 100644 index 0000000000000000000000000000000000000000..0d25b990d6c2e29fcd0fc1dec3a68ec5f2ebd01d --- /dev/null +++ b/voices/pm_santa.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d42103169c5c872abbafb9129133af7e942bb9d272c3cc3b95c203e7d7198c29 +size 523430 diff --git a/voices/zf_xiaobei.pt b/voices/zf_xiaobei.pt new file mode 100644 index 0000000000000000000000000000000000000000..98d012c808d0c720f343605125b378c0390e7cfe --- /dev/null +++ b/voices/zf_xiaobei.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9b76be63dab4f4f96962030acc0126a9aee9728608fbbe115e2b58a2bd504df6 +size 523435 diff --git a/voices/zf_xiaoni.pt b/voices/zf_xiaoni.pt new file mode 100644 index 0000000000000000000000000000000000000000..042a3588212e7f44dfe8545c5a42bd1bc1df7473 --- /dev/null +++ b/voices/zf_xiaoni.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:95b49f169bf1640f4f43c25e13daa39f7b98d15d00823e83ef5c14b3ced59e49 +size 523430 diff --git a/voices/zf_xiaoxiao.pt b/voices/zf_xiaoxiao.pt new file mode 100644 index 0000000000000000000000000000000000000000..009434acf1f3b1f6430a404af1612ba480b8344c --- /dev/null +++ b/voices/zf_xiaoxiao.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cfaf6f2ded1ee56f1ff94fcd2b0e6cdf32e5b794bdc05b44e7439d44aef5887c +size 523440 diff --git a/voices/zf_xiaoyi.pt b/voices/zf_xiaoyi.pt new file mode 100644 index 0000000000000000000000000000000000000000..4eab21f6b047099939d8dcab0684409d76dcffbe --- /dev/null +++ b/voices/zf_xiaoyi.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b5235dbaeef85a4c613bf78af9a88ff63c25bac5f26ba77e36186d8b7ebf05e2 +size 523430 diff --git a/voices/zm_yunjian.pt b/voices/zm_yunjian.pt new file mode 100644 index 0000000000000000000000000000000000000000..eca150f12119b9766fa063f658648dadfa5f42df --- /dev/null +++ b/voices/zm_yunjian.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:76cbf8bad35901d011d9628a2fdceb7b4f1f127e7a3269cb393b3941eb7fc417 +size 523435 diff --git a/voices/zm_yunxi.pt b/voices/zm_yunxi.pt new file mode 100644 index 0000000000000000000000000000000000000000..ab5b4af8e051d3940b7f265e0ff6a113a7a68f2a --- /dev/null +++ b/voices/zm_yunxi.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dbe6e1ce7c3dbaf2f5667432947b638b1c6831ccbe154c4610dbcc44f431e27b +size 523425 diff --git a/voices/zm_yunxia.pt b/voices/zm_yunxia.pt new file mode 100644 index 0000000000000000000000000000000000000000..edfa288b4b47ddff15c37b00fa9810ec3079be2e --- /dev/null +++ b/voices/zm_yunxia.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bb2b03b08e84d64e1214440ce3b624987fac177f2eeb5bab8571799a3d980acd +size 523430 diff --git a/voices/zm_yunyang.pt b/voices/zm_yunyang.pt new file mode 100644 index 0000000000000000000000000000000000000000..98a1f6e521fa581791c24c6f7c8845307a98cf02 --- /dev/null +++ b/voices/zm_yunyang.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5238ac22e0c7f8b6cdd2eddd6e444b8a700b73c4674d9a047d59a94ff96379a2 +size 523435