Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/zetane/block-text-to-speech
Provide a text message and the sample audio file to generate the audio for the text message in the voice provided in the audio file
https://github.com/zetane/block-text-to-speech
Last synced: 21 minutes ago
JSON representation
Provide a text message and the sample audio file to generate the audio for the text message in the voice provided in the audio file
- Host: GitHub
- URL: https://github.com/zetane/block-text-to-speech
- Owner: zetane
- Created: 2024-06-14T13:19:47.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2024-06-14T13:41:06.000Z (7 months ago)
- Last Synced: 2024-11-10T14:08:27.262Z (about 2 months ago)
- Language: Python
- Size: 428 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# Text-to-Speech Conversion with TTS
This repository contains a script to convert textual descriptions into audio files using a text-to-speech (TTS) model. The script is designed to work with a specific TTS model from the `TTS` library.
## Requirements
- Python 3.x
- PyTorch
- TTS Library## Installation
1. Clone the repository:
```bash
pip install torch TTS
Usage
The script provides a compute function to convert text to speech and save it as an audio file.Function Definition
python
Copy code
def compute(prompt, audio_file_path):
"""Convert text to speech and save it as an audio file.Inputs:
prompt (str): Textual description to be converted to audio.
audio_file_path (str): Path to an existing audio file for speaker adaptation.Outputs:
result (dict of str): Dictionary containing the path to the output audio file.
"""
Inputs
prompt (str): The text that you want to convert into speech.
audio_file_path (str): The path to an existing audio file used for speaker adaptation.
Outputs
result (dict of str): A dictionary containing the path to the output audio file.
Example
Here's an example of how to use the compute function:python
Copy code
import torch
from TTS.api import TTS
import builtinsdef compute(prompt, audio_file_path):
"""Convert text to speech and save it as an audio file.Inputs:
prompt (str): Textual description of audio.
audio_file_path (str): Path for audio file.Outputs:
result (dict of str): List of Output file.
"""
# Backup the original input function
original_input = builtins.input# Define a new function that always returns 'y'
def mock_input(prompt):
print(prompt + "y") # Optionally print the prompt and response
return 'y'# Replace the input function with the mock_input function
builtins.input = mock_input# Initialize TTS
tts = TTS("tts_models/multilingual/multi-dataset/xtts_v2").to("cpu")# Run TTS to convert text to speech
wav = tts.tts(text=prompt, speaker_wav=audio_file_path, language="en")# Convert text to speech and save to a file
tts.tts_to_file(text=prompt, speaker_wav=audio_file_path, language="en", file_path="output.wav")# Append output file to results
result = ["output.wav"]# Restore the original input function after operations
builtins.input = original_inputreturn {"result": result}
# Example usage
prompt = "Hello, this is a test."
audio_file_path = "path/to/existing/audio.wav"
output = compute(prompt, audio_file_path)
print(output)
This script uses the TTS library to perform the text-to-speech conversion. It adapts to the speaker's voice using an existing audio file.