Sahana31 commited on
Commit
47768bd
·
1 Parent(s): 2e18497

tts indian accent

Browse files
Files changed (4) hide show
  1. .gitignore +176 -0
  2. app.py +116 -0
  3. requirements.txt +52 -0
  4. voice_description_indian.json +198 -0
.gitignore ADDED
@@ -0,0 +1,176 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+ venv_new/
6
+ NeMo/
7
+ asr_venv
8
+ *.nemo
9
+ # C extensions
10
+ *.so
11
+ *.wav
12
+ *.mp3
13
+ *.log
14
+ # Distribution / packaging
15
+ .Python
16
+ build/
17
+ develop-eggs/
18
+ dist/
19
+ downloads/
20
+ eggs/
21
+ .eggs/
22
+ lib/
23
+ lib64/
24
+ parts/
25
+ sdist/
26
+ var/
27
+ wheels/
28
+ share/python-wheels/
29
+ *.egg-info/
30
+ .installed.cfg
31
+ *.egg
32
+ MANIFEST
33
+
34
+ # PyInstaller
35
+ # Usually these files are written by a python script from a template
36
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
37
+ *.manifest
38
+ *.spec
39
+
40
+ # Installer logs
41
+ pip-log.txt
42
+ pip-delete-this-directory.txt
43
+
44
+ # Unit test / coverage reports
45
+ htmlcov/
46
+ .tox/
47
+ .nox/
48
+ .coverage
49
+ .coverage.*
50
+ .cache
51
+ nosetests.xml
52
+ coverage.xml
53
+ *.cover
54
+ *.py,cover
55
+ .hypothesis/
56
+ .pytest_cache/
57
+ cover/
58
+
59
+ # Translations
60
+ *.mo
61
+ *.pot
62
+
63
+ # Django stuff:
64
+ *.log
65
+ local_settings.py
66
+ db.sqlite3
67
+ db.sqlite3-journal
68
+
69
+ # Flask stuff:
70
+ instance/
71
+ .webassets-cache
72
+
73
+ # Scrapy stuff:
74
+ .scrapy
75
+
76
+ # Sphinx documentation
77
+ docs/_build/
78
+
79
+ # PyBuilder
80
+ .pybuilder/
81
+ target/
82
+
83
+ # Jupyter Notebook
84
+ .ipynb_checkpoints
85
+
86
+ # IPython
87
+ profile_default/
88
+ ipython_config.py
89
+
90
+ # pyenv
91
+ # For a library or package, you might want to ignore these files since the code is
92
+ # intended to run in multiple environments; otherwise, check them in:
93
+ # .python-version
94
+
95
+ # pipenv
96
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
97
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
98
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
99
+ # install all needed dependencies.
100
+ #Pipfile.lock
101
+
102
+ # UV
103
+ # Similar to Pipfile.lock, it is generally recommended to include uv.lock in version control.
104
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
105
+ # commonly ignored for libraries.
106
+ #uv.lock
107
+
108
+ # poetry
109
+ # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
110
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
111
+ # commonly ignored for libraries.
112
+ # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
113
+ #poetry.lock
114
+
115
+ # pdm
116
+ # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
117
+ #pdm.lock
118
+ # pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
119
+ # in version control.
120
+ # https://pdm.fming.dev/latest/usage/project/#working-with-version-control
121
+ .pdm.toml
122
+ .pdm-python
123
+ .pdm-build/
124
+
125
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
126
+ __pypackages__/
127
+
128
+ # Celery stuff
129
+ celerybeat-schedule
130
+ celerybeat.pid
131
+
132
+ # SageMath parsed files
133
+ *.sage.py
134
+
135
+ # Environments
136
+ .env
137
+ .venv
138
+ env/
139
+ venv/
140
+ ENV/
141
+ env.bak/
142
+ venv.bak/
143
+
144
+ # Spyder project settings
145
+ .spyderproject
146
+ .spyproject
147
+
148
+ # Rope project settings
149
+ .ropeproject
150
+
151
+ # mkdocs documentation
152
+ /site
153
+
154
+ # mypy
155
+ .mypy_cache/
156
+ .dmypy.json
157
+ dmypy.json
158
+
159
+ # Pyre type checker
160
+ .pyre/
161
+
162
+ # pytype static type analyzer
163
+ .pytype/
164
+
165
+ # Cython debug symbols
166
+ cython_debug/
167
+
168
+ # PyCharm
169
+ # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
170
+ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
171
+ # and can be added to the global gitignore or merged into this file. For a more nuclear
172
+ # option (not recommended) you can uncomment the following to ignore the entire idea folder.
173
+ #.idea/
174
+
175
+ # PyPI configuration file
176
+ .pypirc
app.py ADDED
@@ -0,0 +1,116 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ import requests
3
+ import json
4
+ import logging
5
+
6
+ # Configure logging
7
+ logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
8
+ logger = logging.getLogger(__name__)
9
+
10
+ # Load voice descriptions from JSON file
11
+ def load_voice_descriptions(file_path):
12
+ try:
13
+ with open(file_path, 'r') as file:
14
+ return json.load(file)
15
+ except FileNotFoundError:
16
+ logger.error(f"File not found: {file_path}")
17
+ return []
18
+ except json.JSONDecodeError as e:
19
+ logger.error(f"Failed to parse JSON: {e}")
20
+ return []
21
+
22
+ # Function to send text input to the API and retrieve the audio file
23
+ def get_audio(input_text, voice_description_id):
24
+ try:
25
+ # Find the selected voice description
26
+ selected_description = next((desc for desc in voice_descriptions if desc['id'] == int(voice_description_id)), None)
27
+
28
+ if selected_description:
29
+ voice_description = selected_description['voice_description']
30
+ output_file_name = selected_description['output_file_name']
31
+ else:
32
+ logger.error(f"Voice description not found for ID: {voice_description_id}")
33
+ return f"Error: Voice description not found"
34
+
35
+ # Define the API endpoint and headers
36
+ url = "http://localhost:9860/v1/audio/speech"
37
+ headers = {
38
+ "accept": "application/json",
39
+ "Content-Type": "application/json"
40
+ }
41
+
42
+ # Define the request payload
43
+ payload = {
44
+ "input": input_text,
45
+ "voice": voice_description
46
+ }
47
+
48
+ # Send the POST request
49
+ response = requests.post(url, json=payload, headers=headers, stream=True)
50
+
51
+ # Check if the request was successful
52
+ if response.status_code == 200:
53
+ logger.info(f"API request successful. Status code: {response.status_code}")
54
+
55
+ # Save the audio file
56
+ with open(output_file_name, "wb") as audio_file:
57
+ for chunk in response.iter_content(chunk_size=1024):
58
+ if chunk:
59
+ audio_file.write(chunk)
60
+
61
+ logger.info(f"Audio file saved to: {output_file_name}")
62
+
63
+ # Return the path to the saved audio file
64
+ return output_file_name
65
+ else:
66
+ logger.error(f"API request failed. Status code: {response.status_code}, {response.text}")
67
+ return f"Error: {response.status_code}, {response.text}"
68
+ except requests.exceptions.RequestException as e:
69
+ logger.error(f"Request exception: {e}")
70
+ return f"Request error: {e}"
71
+ except Exception as e:
72
+ logger.error(f"General exception: {e}")
73
+ return f"Error: {e}"
74
+
75
+ # Load voice descriptions from JSON file
76
+ voice_descriptions = load_voice_descriptions('voice_description_indian.json')
77
+
78
+ # Extract IDs and descriptions for dropdown menu
79
+ dropdown_choices = [(str(desc['id']), f"{desc['id']}: {desc['voice_description'][:50]}...") for desc in voice_descriptions]
80
+
81
+ # Define the Gradio interface
82
+ with gr.Blocks() as demo:
83
+ gr.Markdown("### Text-to-Speech Generator")
84
+
85
+ with gr.Row():
86
+ input_text = gr.Textbox(label="Enter Text", placeholder="Type your text here...")
87
+
88
+ with gr.Row():
89
+ voice_dropdown = gr.Dropdown(
90
+ choices=[choice[0] for choice in dropdown_choices],
91
+ label="Select Voice Description",
92
+ type="value",
93
+ value=dropdown_choices[0][0] if dropdown_choices else None,
94
+ interactive=True,
95
+ )
96
+
97
+ with gr.Row():
98
+ output_audio = gr.Audio(label="Generated Audio")
99
+
100
+ submit_button = gr.Button("Generate Audio")
101
+
102
+ def process_request(input_text, voice_description_id):
103
+ return get_audio(input_text, voice_description_id)
104
+
105
+ submit_button.click(
106
+ process_request,
107
+ inputs=[input_text, voice_dropdown],
108
+ outputs=[output_audio]
109
+ )
110
+
111
+ # Launch the Gradio demo
112
+ try:
113
+ demo.launch()
114
+ except Exception as e:
115
+ logger.error(f"Failed to launch Gradio demo: {e}")
116
+
requirements.txt ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ aiofiles==23.2.1
2
+ annotated-types==0.7.0
3
+ anyio==4.8.0
4
+ certifi==2025.1.31
5
+ charset-normalizer==3.4.1
6
+ click==8.1.8
7
+ fastapi==0.115.11
8
+ ffmpy==0.5.0
9
+ filelock==3.17.0
10
+ fsspec==2025.2.0
11
+ gradio==5.20.0
12
+ gradio_client==1.7.2
13
+ groovy==0.1.2
14
+ h11==0.14.0
15
+ httpcore==1.0.7
16
+ httpx==0.28.1
17
+ huggingface-hub==0.29.1
18
+ idna==3.10
19
+ Jinja2==3.1.5
20
+ markdown-it-py==3.0.0
21
+ MarkupSafe==2.1.5
22
+ mdurl==0.1.2
23
+ numpy==2.2.3
24
+ orjson==3.10.15
25
+ packaging==24.2
26
+ pandas==2.2.3
27
+ pillow==11.1.0
28
+ pydantic==2.10.6
29
+ pydantic_core==2.27.2
30
+ pydub==0.25.1
31
+ Pygments==2.19.1
32
+ python-dateutil==2.9.0.post0
33
+ python-multipart==0.0.20
34
+ pytz==2025.1
35
+ PyYAML==6.0.2
36
+ requests==2.32.3
37
+ rich==13.9.4
38
+ ruff==0.9.9
39
+ safehttpx==0.1.6
40
+ semantic-version==2.10.0
41
+ shellingham==1.5.4
42
+ six==1.17.0
43
+ sniffio==1.3.1
44
+ starlette==0.46.0
45
+ tomlkit==0.13.2
46
+ tqdm==4.67.1
47
+ typer==0.15.2
48
+ typing_extensions==4.12.2
49
+ tzdata==2025.1
50
+ urllib3==2.3.0
51
+ uvicorn==0.34.0
52
+ websockets==15.0
voice_description_indian.json ADDED
@@ -0,0 +1,198 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [
2
+ {
3
+ "id": 1,
4
+ "voice_description": "A male voice with an Indian accent enunciates every word with precision. The speaker's voice is very close-sounding, and the recording is excellent, capturing his very low-pitched voice with crisp clarity.",
5
+ "output_file_name": "male_indian_very_low_pitch.mp3"
6
+ },
7
+ {
8
+ "id": 2,
9
+ "voice_description": "A female voice with an Indian accent enunciates every word with precision. The speaker's voice is very close-sounding, and the recording is excellent, capturing her quite low-pitched voice with crisp clarity.",
10
+ "output_file_name": "female_indian_quite_low_pitch.mp3"
11
+ },
12
+ {
13
+ "id": 3,
14
+ "voice_description": "A male voice with an Indian accent enunciates every word with precision. The speaker's voice is very close-sounding, and the recording is excellent, capturing his fairly low-pitched voice with crisp clarity.",
15
+ "output_file_name": "male_indian_fairly_low_pitch.mp3"
16
+ },
17
+ {
18
+ "id": 4,
19
+ "voice_description": "A female voice with an Indian accent enunciates every word with precision. The speaker's voice is very close-sounding, and the recording is excellent, capturing her slightly low-pitched voice with crisp clarity.",
20
+ "output_file_name": "female_indian_slightly_low_pitch.mp3"
21
+ },
22
+ {
23
+ "id": 5,
24
+ "voice_description": "A female voice with an Indian accent enunciates every word with precision. The speaker's voice is very close-sounding, and the recording is excellent, capturing her slightly high-pitched voice with crisp clarity.",
25
+ "output_file_name": "female_indian_slightly_high_pitch.mp3"
26
+ },
27
+ {
28
+ "id": 6,
29
+ "voice_description": "A male voice with an Indian accent enunciates every word with precision. The speaker's voice is very close-sounding, and the recording is excellent, capturing his fairly high-pitched voice with crisp clarity.",
30
+ "output_file_name": "male_indian_fairly_high_pitch.mp3"
31
+ },
32
+ {
33
+ "id": 7,
34
+ "voice_description": "A female voice with an Indian accent enunciates every word with precision. The speaker's voice is very close-sounding, and the recording is excellent, capturing her quite high-pitched voice with crisp clarity.",
35
+ "output_file_name": "female_indian_quite_high_pitch.mp3"
36
+ },
37
+ {
38
+ "id": 8,
39
+ "voice_description": "A male voice with an Indian accent enunciates every word with precision. The speaker's voice is very close-sounding, and the recording is excellent, capturing his very high-pitched voice with crisp clarity.",
40
+ "output_file_name": "male_indian_very_high_pitch.mp3"
41
+ },
42
+ {
43
+ "id": 9,
44
+ "voice_description": "A female voice with an Indian accent enunciates every word with precision. The speaker's voice is very close-sounding, and the recording is excellent, capturing her voice with crisp clarity. Her tone is very monotone.",
45
+ "output_file_name": "female_indian_monotone.mp3"
46
+ },
47
+ {
48
+ "id": 10,
49
+ "voice_description": "A female voice with an Indian accent enunciates every word with precision. The speaker's voice is very close-sounding, and the recording is excellent, capturing her voice with crisp clarity. Her tone is quite monotone.",
50
+ "output_file_name": "female_indian_quite_monotone.mp3"
51
+ },
52
+ {
53
+ "id": 11,
54
+ "voice_description": "A male voice with an Indian accent enunciates every word with precision. The speaker's voice is very close-sounding, and the recording is excellent, capturing his voice with crisp clarity. His tone is fairly monotone.",
55
+ "output_file_name": "male_indian_fairly_monotone.mp3"
56
+ },
57
+ {
58
+ "id": 12,
59
+ "voice_description": "A female voice with an Indian accent enunciates every word with precision. The speaker's voice is very close-sounding, and the recording is excellent, capturing her voice with crisp clarity. Her tone is slightly monotone.",
60
+ "output_file_name": "female_indian_slightly_monotone.mp3"
61
+ },
62
+ {
63
+ "id": 13,
64
+ "voice_description": "A male voice with an Indian accent enunciates every word with precision. The speaker's voice is very close-sounding, and the recording is excellent, capturing his voice with crisp clarity. His tone is slightly expressive and animated.",
65
+ "output_file_name": "male_indian_slightly_expressive.mp3"
66
+ },
67
+ {
68
+ "id": 14,
69
+ "voice_description": "A female voice with an Indian accent enunciates every word with precision. The speaker's voice is very close-sounding, and the recording is excellent, capturing her voice with crisp clarity. Her tone is fairly expressive and animated.",
70
+ "output_file_name": "female_indian_fairly_expressive.mp3"
71
+ },
72
+ {
73
+ "id": 15,
74
+ "voice_description": "A male voice with an Indian accent enunciates every word with precision. The speaker's voice is very close-sounding, and the recording is excellent, capturing his voice with crisp clarity. His tone is quite expressive and animated.",
75
+ "output_file_name": "male_indian_quite_expressive.mp3"
76
+ },
77
+ {
78
+ "id": 16,
79
+ "voice_description": "A female voice with an Indian accent enunciates every word with precision. The speaker's voice is very close-sounding, and the recording is excellent, capturing her voice with crisp clarity. Her tone is very expressive and animated.",
80
+ "output_file_name": "female_indian_very_expressive.mp3"
81
+ },
82
+ {
83
+ "id": 17,
84
+ "voice_description": "A male voice with an Indian accent enunciates every word with precision. The speaker's voice is very close-sounding, and the recording is excellent, capturing his voice with crisp clarity. He reads the book very slowly.",
85
+ "output_file_name": "male_indian_very_slow.mp3"
86
+ },
87
+ {
88
+ "id": 18,
89
+ "voice_description": "A female voice with an Indian accent enunciates every word with precision. The speaker's voice is very close-sounding, and the recording is excellent, capturing her voice with crisp clarity. She reads the book quite slowly.",
90
+ "output_file_name": "female_indian_quite_slow.mp3"
91
+ },
92
+ {
93
+ "id": 19,
94
+ "voice_description": "A male voice with an Indian accent enunciates every word with precision. The speaker's voice is very close-sounding, and the recording is excellent, capturing his voice with crisp clarity. He reads the book fairly slowly.",
95
+ "output_file_name": "male_indian_fairly_slow.mp3"
96
+ },
97
+ {
98
+ "id": 20,
99
+ "voice_description": "A female voice with an Indian accent enunciates every word with precision. The speaker's voice is very close-sounding, and the recording is excellent, capturing her voice with crisp clarity. She reads the book slightly slowly.",
100
+ "output_file_name": "female_indian_slightly_slow.mp3"
101
+ },
102
+ {
103
+ "id": 21,
104
+ "voice_description": "A male voice with an Indian accent enunciates every word with precision. The speaker's voice is very close-sounding, and the recording is excellent, capturing his voice with crisp clarity. He reads the book slightly quickly.",
105
+ "output_file_name": "male_indian_slightly_quick.mp3"
106
+ },
107
+ {
108
+ "id": 22,
109
+ "voice_description": "A female voice with an Indian accent enunciates every word with precision. The speaker's voice is very close-sounding, and the recording is excellent, capturing her voice with crisp clarity. She reads the book fairly quickly.",
110
+ "output_file_name": "female_indian_fairly_quick.mp3"
111
+ },
112
+ {
113
+ "id": 23,
114
+ "voice_description": "A male voice with an Indian accent enunciates every word with precision. The speaker's voice is very close-sounding, and the recording is excellent, capturing his voice with crisp clarity. He reads the book quite quickly.",
115
+ "output_file_name": "male_indian_quite_quick.mp3"
116
+ },
117
+ {
118
+ "id": 24,
119
+ "voice_description": "A female voice with an Indian accent enunciates every word with precision. The speaker's voice is very close-sounding, and the recording is excellent, capturing her voice with crisp clarity. She reads the book very quickly.",
120
+ "output_file_name": "female_indian_very_quick.mp3"
121
+ },
122
+ {
123
+ "id": 25,
124
+ "voice_description": "A male voice with an Indian accent enunciates every word with precision. The recording is very bad, and the speaker's voice is very distant-sounding and noisy.",
125
+ "output_file_name": "male_indian_bad_recording.mp3"
126
+ },
127
+ {
128
+ "id": 26,
129
+ "voice_description": "A female voice with an Indian accent enunciates every word with precision. The speaker's voice is quite close-sounding but very noisy.",
130
+ "output_file_name": "female_indian_noisy.mp3"
131
+ },
132
+ {
133
+ "id": 27,
134
+ "voice_description": "A male voice with an Indian accent enunciates every word with precision. The speaker's voice is close-sounding but fairly noisy.",
135
+ "output_file_name": "male_indian_fairly_noisy.mp3"
136
+ },
137
+ {
138
+ "id": 28,
139
+ "voice_description": "A male voice with an Indian accent enunciates every word with precision. The speaker's voice is fairly distant-sounding.",
140
+ "output_file_name": "male_indian_fairly_distant.mp3"
141
+ },
142
+ {
143
+ "id": 29,
144
+ "voice_description": "A female voice with an Indian accent enunciates every word with precision. The speaker's voice is slightly distant-sounding.",
145
+ "output_file_name": "female_indian_slightly_distant.mp3"
146
+ },
147
+ {
148
+ "id": 30,
149
+ "voice_description": "A male voice with an Indian accent enunciates every word with precision. The speaker's voice is fairly close-sounding.",
150
+ "output_file_name": "male_indian_fairly_close.mp3"
151
+ },
152
+ {
153
+ "id": 31,
154
+ "voice_description": "A male voice with an Indian accent enunciates every word with precision. The speaker's voice is quite close-sounding and quite clean.",
155
+ "output_file_name": "male_indian_quite_clean.mp3"
156
+ },
157
+ {
158
+ "id": 32,
159
+ "voice_description": "A female voice with an Indian accent enunciates every word with precision. The speaker's voice is very close-sounding and clean, and the recording is excellent, capturing her voice with crisp clarity.",
160
+ "output_file_name": "female_indian_clean.mp3"
161
+ },
162
+ {
163
+ "id": 33,
164
+ "voice_description": "A male voice with an Indian accent enunciates every word with precision. The speaker's voice is very close-sounding, and the recording is excellent, capturing his voice with crisp clarity.",
165
+ "output_file_name": "male_indian_accent.mp3"
166
+ },
167
+ {
168
+ "id": 34,
169
+ "voice_description": "A male voice with an English accent enunciates every word with precision. The speaker's voice is very close-sounding, and the recording is excellent, capturing his voice with crisp clarity.",
170
+ "output_file_name": "male_english_accent.mp3"
171
+ },
172
+ {
173
+ "id": 35,
174
+ "voice_description": "A male voice with a Pakistani accent enunciates every word with precision. The speaker's voice is very close-sounding, and the recording is excellent, capturing his voice with crisp clarity.",
175
+ "output_file_name": "male_pakistani_accent.mp3"
176
+ },
177
+ {
178
+ "id": 36,
179
+ "voice_description": "A female voice with an Italian accent enunciates every word with precision. The speaker's voice is very close-sounding, and the recording is excellent, capturing her voice with crisp clarity.",
180
+ "output_file_name": "female_italian_accent.mp3"
181
+ },
182
+ {
183
+ "id": 37,
184
+ "voice_description": "A male voice with a South African accent enunciates every word with precision. The speaker's voice is very close-sounding, and the recording is excellent, capturing his voice with crisp clarity.",
185
+ "output_file_name": "male_south_african_accent.mp3"
186
+ },
187
+ {
188
+ "id": 38,
189
+ "voice_description": "A male voice with a Canadian accent enunciates every word with precision. The speaker's voice is very close-sounding, and the recording is excellent, capturing his voice with crisp clarity.",
190
+ "output_file_name": "male_canadian_accent.mp3"
191
+ },
192
+ {
193
+ "id": 39,
194
+ "voice_description": "A female voice with an Indian accent enunciates every word with precision. The speaker's voice is very close-sounding, and the recording is excellent, capturing her voice with crisp clarity.",
195
+ "output_file_name": "female_indian_accent.mp3"
196
+ }
197
+ ]
198
+