{"id":1562,"date":"2025-07-09T13:12:09","date_gmt":"2025-07-09T13:12:09","guid":{"rendered":"https:\/\/zahiralam.com\/blog\/?p=1562"},"modified":"2025-07-10T06:05:24","modified_gmt":"2025-07-10T06:05:24","slug":"how-to-set-up-hindi-tts-on-mac-apple-silicon-step-by-step-guide","status":"publish","type":"post","link":"https:\/\/zahiralam.com\/blog\/how-to-set-up-hindi-tts-on-mac-apple-silicon-step-by-step-guide\/","title":{"rendered":"How to Set Up Hindi TTS on Mac Apple Silicon: Step-by-Step Guide"},"content":{"rendered":"\n<p>If you&#8217;re looking to run Hindi Text-to-Speech (TTS) locally on your Mac M1, M2, M3 or M4 without GPU dependency, this guide walks you through setting up&nbsp;<a rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/smtiitm\/Fastspeech2_HS\" target=\"_blank\">Fastspeech2_HS<\/a>&nbsp;\u2014 a powerful multilingual TTS system developed by IIT Madras.\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u2705 Prerequisites<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Mac with Apple Silicon (M1, M2,  M3 or M4)<\/li>\n\n\n\n<li><a href=\"https:\/\/docs.conda.io\/en\/latest\/miniconda.html\">Miniconda<\/a>&nbsp;installed<\/li>\n\n\n\n<li>Basic knowledge of terminal and Python<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83e\uddea Step 1: Clone the Repository<\/h2>\n\n\n\n<div class=\"code-block-container\">\n                        <pre class=\"wp-block-code\"><code id=\"code-1\">git clone https:\/\/github.com\/smtiitm\/Fastspeech2_HS.git\ncd Fastspeech2_HS<\/code><\/pre>\n                        <amp-iframe sandbox=\"allow-scripts\" width=\"94\" height=\"72\" frameborder=\"0\" \n                                    src=\"https:\/\/zahiralam.com\/blog\/wp-content\/plugins\/amp-copy-code-button\/copier.html#git%20clone%20https%3A%2F%2Fgithub.com%2Fsmtiitm%2FFastspeech2_HS.git%0Acd%20Fastspeech2_HS\">\n                            <button class=\"copy-button\" data-label=\"git clone https:\/\/github.com\/smtiitm\/Fastspeech2_HS.git\ncd Fastspeech2_HS\"  placeholder disabled>Copy<\/button>\n                        <\/amp-iframe>\n                    <\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83e\uddf1 Step 2: Create the Conda Environment<\/h2>\n\n\n\n<p>Create a file named&nbsp;<code>environment_m1.yml<\/code>&nbsp;and paste the following content:\n\n\n\n<div class=\"code-block-container\">\n                        <pre class=\"wp-block-code\"><code id=\"code-2\">name: tts-hs-hifigan\nchannels:\n  - conda-forge\n  - apple\ndependencies:\n  - python=3.10\n  - pip\n  - numpy\n  - scipy\n  - matplotlib\n  - pandas\n  - librosa\n  - tqdm\n  - pyyaml\n  - pytorch\n  - torchaudio\n  - torchvision<\/code><\/pre>\n                        <amp-iframe sandbox=\"allow-scripts\" width=\"94\" height=\"72\" frameborder=\"0\" \n                                    src=\"https:\/\/zahiralam.com\/blog\/wp-content\/plugins\/amp-copy-code-button\/copier.html#name%3A%20tts-hs-hifigan%0Achannels%3A%0A%20%20-%20conda-forge%0A%20%20-%20apple%0Adependencies%3A%0A%20%20-%20python%3D3.10%0A%20%20-%20pip%0A%20%20-%20numpy%0A%20%20-%20scipy%0A%20%20-%20matplotlib%0A%20%20-%20pandas%0A%20%20-%20librosa%0A%20%20-%20tqdm%0A%20%20-%20pyyaml%0A%20%20-%20pytorch%0A%20%20-%20torchaudio%0A%20%20-%20torchvision\">\n                            <button class=\"copy-button\" data-label=\"name: tts-hs-hifigan\nchannels:\n  - conda-forge\n  - apple\ndependencies:\n  - python=3.10\n  - pip\n  - numpy\n  - scipy\n  - matplotlib\n  - pandas\n  - librosa\n  - tqdm\n  - pyyaml\n  - pytorch\n  - torchaudio\n  - torchvision\"  placeholder disabled>Copy<\/button>\n                        <\/amp-iframe>\n                    <\/div>\n\n\n\n<p>Now create the environment:\n\n\n\n<div class=\"code-block-container\">\n                        <pre class=\"wp-block-code\"><code id=\"code-3\">conda env create -f environment_m1.yml\nconda activate tts-hs-hifigan<\/code><\/pre>\n                        <amp-iframe sandbox=\"allow-scripts\" width=\"94\" height=\"72\" frameborder=\"0\" \n                                    src=\"https:\/\/zahiralam.com\/blog\/wp-content\/plugins\/amp-copy-code-button\/copier.html#conda%20env%20create%20-f%20environment_m1.yml%0Aconda%20activate%20tts-hs-hifigan\">\n                            <button class=\"copy-button\" data-label=\"conda env create -f environment_m1.yml\nconda activate tts-hs-hifigan\"  placeholder disabled>Copy<\/button>\n                        <\/amp-iframe>\n                    <\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udce6 Step 3: Install Python Dependencies via pip<\/h2>\n\n\n\n<p>Inside the activated environment, run:\n\n\n\n<div class=\"code-block-container\">\n                        <pre class=\"wp-block-code\"><code id=\"code-4\">pip install phonemizer g2p_en unidecode soundfile flask nltk jamo sentencepiece inflect numba h5py pydub resampy pyworld\npip install typeguard==2.13.3\npip install --upgrade scipy<\/code><\/pre>\n                        <amp-iframe sandbox=\"allow-scripts\" width=\"94\" height=\"72\" frameborder=\"0\" \n                                    src=\"https:\/\/zahiralam.com\/blog\/wp-content\/plugins\/amp-copy-code-button\/copier.html#pip%20install%20phonemizer%20g2p_en%20unidecode%20soundfile%20flask%20nltk%20jamo%20sentencepiece%20inflect%20numba%20h5py%20pydub%20resampy%20pyworld%0Apip%20install%20typeguard%3D%3D2.13.3%0Apip%20install%20--upgrade%20scipy\">\n                            <button class=\"copy-button\" data-label=\"pip install phonemizer g2p_en unidecode soundfile flask nltk jamo sentencepiece inflect numba h5py pydub resampy pyworld\npip install typeguard==2.13.3\npip install --upgrade scipy\"  placeholder disabled>Copy<\/button>\n                        <\/amp-iframe>\n                    <\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udee0\ufe0f Step 4: Fix Compatibility Issues<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Fix 1:&nbsp;<code>scipy.signal.kaiser<\/code>&nbsp;Import Issue<\/h3>\n\n\n\n<p>Edit this file:\n\n\n\n<div class=\"code-block-container\">\n                        <pre class=\"wp-block-code\"><code id=\"code-5\">vim \/Users\/zahir\/miniconda3\/envs\/tts-hs-hifigan\/lib\/python3.10\/site-packages\/espnet2\/gan_tts\/melgan\/pqmf.py<\/code><\/pre>\n                        <amp-iframe sandbox=\"allow-scripts\" width=\"94\" height=\"72\" frameborder=\"0\" \n                                    src=\"https:\/\/zahiralam.com\/blog\/wp-content\/plugins\/amp-copy-code-button\/copier.html#vim%20%2FUsers%2Fzahir%2Fminiconda3%2Fenvs%2Ftts-hs-hifigan%2Flib%2Fpython3.10%2Fsite-packages%2Fespnet2%2Fgan_tts%2Fmelgan%2Fpqmf.py\">\n                            <button class=\"copy-button\" data-label=\"vim \/Users\/zahir\/miniconda3\/envs\/tts-hs-hifigan\/lib\/python3.10\/site-packages\/espnet2\/gan_tts\/melgan\/pqmf.py\"  placeholder disabled>Copy<\/button>\n                        <\/amp-iframe>\n                    <\/div>\n\n\n\n<p>Replace:\n\n\n\n<div class=\"code-block-container\">\n                        <pre class=\"wp-block-code\"><code id=\"code-6\">from scipy.signal import kaiser<\/code><\/pre>\n                        <amp-iframe sandbox=\"allow-scripts\" width=\"94\" height=\"72\" frameborder=\"0\" \n                                    src=\"https:\/\/zahiralam.com\/blog\/wp-content\/plugins\/amp-copy-code-button\/copier.html#from%20scipy.signal%20import%20kaiser\">\n                            <button class=\"copy-button\" data-label=\"from scipy.signal import kaiser\"  placeholder disabled>Copy<\/button>\n                        <\/amp-iframe>\n                    <\/div>\n\n\n\n<p>With:\n\n\n\n<div class=\"code-block-container\">\n                        <pre class=\"wp-block-code\"><code id=\"code-7\">from numpy import kaiser<\/code><\/pre>\n                        <amp-iframe sandbox=\"allow-scripts\" width=\"94\" height=\"72\" frameborder=\"0\" \n                                    src=\"https:\/\/zahiralam.com\/blog\/wp-content\/plugins\/amp-copy-code-button\/copier.html#from%20numpy%20import%20kaiser\">\n                            <button class=\"copy-button\" data-label=\"from numpy import kaiser\"  placeholder disabled>Copy<\/button>\n                        <\/amp-iframe>\n                    <\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Fix 2:&nbsp;<code>wordparse()<\/code>&nbsp;Crash on Invalid Word<\/h3>\n\n\n\n<p>In&nbsp;<code>text_preprocess_for_inference.py<\/code>, before this line:\n\n\n\n<div class=\"code-block-container\">\n                        <pre class=\"wp-block-code\"><code id=\"code-8\">parsed_word = wordparse(word, 0, 0, 1)<\/code><\/pre>\n                        <amp-iframe sandbox=\"allow-scripts\" width=\"94\" height=\"72\" frameborder=\"0\" \n                                    src=\"https:\/\/zahiralam.com\/blog\/wp-content\/plugins\/amp-copy-code-button\/copier.html#parsed_word%20%3D%20wordparse%28word%2C%200%2C%200%2C%201%29\">\n                            <button class=\"copy-button\" data-label=\"parsed_word = wordparse(word, 0, 0, 1)\"  placeholder disabled>Copy<\/button>\n                        <\/amp-iframe>\n                    <\/div>\n\n\n\n<p>Add this:\n\n\n\n<div class=\"code-block-container\">\n                        <pre class=\"wp-block-code\"><code id=\"code-9\">if not word or not word[0].isalpha():\n    continue<\/code><\/pre>\n                        <amp-iframe sandbox=\"allow-scripts\" width=\"94\" height=\"72\" frameborder=\"0\" \n                                    src=\"https:\/\/zahiralam.com\/blog\/wp-content\/plugins\/amp-copy-code-button\/copier.html#if%20not%20word%20or%20not%20word%5B0%5D.isalpha%28%29%3A%0A%20%20%20%20continue\">\n                            <button class=\"copy-button\" data-label=\"if not word or not word[0].isalpha():\n    continue\"  placeholder disabled>Copy<\/button>\n                        <\/amp-iframe>\n                    <\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83e\udde0 Step 5: Install Missing Modules<\/h2>\n\n\n\n<p>The repo requires the following modules not included in the&nbsp;<code>environment.yml<\/code>:\n\n\n\n<h3 class=\"wp-block-heading\">indic-num2words<\/h3>\n\n\n\n<div class=\"code-block-container\">\n                        <pre class=\"wp-block-code\"><code id=\"code-10\">pip install indic-num2words<\/code><\/pre>\n                        <amp-iframe sandbox=\"allow-scripts\" width=\"94\" height=\"72\" frameborder=\"0\" \n                                    src=\"https:\/\/zahiralam.com\/blog\/wp-content\/plugins\/amp-copy-code-button\/copier.html#pip%20install%20indic-num2words\">\n                            <button class=\"copy-button\" data-label=\"pip install indic-num2words\"  placeholder disabled>Copy<\/button>\n                        <\/amp-iframe>\n                    <\/div>\n\n\n\n<h3 class=\"wp-block-heading\">indic-unified-parser<\/h3>\n\n\n\n<p>Since the GitHub link is broken, install it from PyPI:\n\n\n\n<div class=\"code-block-container\">\n                        <pre class=\"wp-block-code\"><code id=\"code-11\">pip install indic-unified-parser<\/code><\/pre>\n                        <amp-iframe sandbox=\"allow-scripts\" width=\"94\" height=\"72\" frameborder=\"0\" \n                                    src=\"https:\/\/zahiralam.com\/blog\/wp-content\/plugins\/amp-copy-code-button\/copier.html#pip%20install%20indic-unified-parser\">\n                            <button class=\"copy-button\" data-label=\"pip install indic-unified-parser\"  placeholder disabled>Copy<\/button>\n                        <\/amp-iframe>\n                    <\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udce5 Step 6: Download the Model Files<\/h2>\n\n\n\n<p>By default, when you run:\n\n\n\n<div class=\"code-block-container\">\n                        <pre class=\"wp-block-code\"><code id=\"code-12\">git clone https:\/\/github.com\/smtiitm\/Fastspeech2_HS.git<\/code><\/pre>\n                        <amp-iframe sandbox=\"allow-scripts\" width=\"94\" height=\"72\" frameborder=\"0\" \n                                    src=\"https:\/\/zahiralam.com\/blog\/wp-content\/plugins\/amp-copy-code-button\/copier.html#git%20clone%20https%3A%2F%2Fgithub.com%2Fsmtiitm%2FFastspeech2_HS.git\">\n                            <button class=\"copy-button\" data-label=\"git clone https:\/\/github.com\/smtiitm\/Fastspeech2_HS.git\"  placeholder disabled>Copy<\/button>\n                        <\/amp-iframe>\n                    <\/div>\n\n\n\n<p>you may&nbsp;<strong>not get the full set of model files<\/strong>, especially for Hindi (<code>hindi\/female\/model<\/code>,&nbsp;<code>hindi\/male\/model<\/code>). If the model folders are empty or missing, follow these steps:\n\n\n\n<h3 class=\"wp-block-heading\">\u2705 1. Try a Git Pull to Update the Repo<\/h3>\n\n\n\n<p>Navigate into the project folder:\n\n\n\n<div class=\"code-block-container\">\n                        <pre class=\"wp-block-code\"><code id=\"code-13\">cd Fastspeech2_HS\ngit pull<\/code><\/pre>\n                        <amp-iframe sandbox=\"allow-scripts\" width=\"94\" height=\"72\" frameborder=\"0\" \n                                    src=\"https:\/\/zahiralam.com\/blog\/wp-content\/plugins\/amp-copy-code-button\/copier.html#cd%20Fastspeech2_HS%0Agit%20pull\">\n                            <button class=\"copy-button\" data-label=\"cd Fastspeech2_HS\ngit pull\"  placeholder disabled>Copy<\/button>\n                        <\/amp-iframe>\n                    <\/div>\n\n\n\n<p>This may fetch the missing model directories if they exist in the default branch.\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udd04 2. Check Other Branches for Model Files<\/h3>\n\n\n\n<p>Sometimes, the model files are available in&nbsp;<strong>another branch<\/strong>&nbsp;of the repository. To check available branches:\n\n\n\n<div class=\"code-block-container\">\n                        <pre class=\"wp-block-code\"><code id=\"code-14\">git branch -r<\/code><\/pre>\n                        <amp-iframe sandbox=\"allow-scripts\" width=\"94\" height=\"72\" frameborder=\"0\" \n                                    src=\"https:\/\/zahiralam.com\/blog\/wp-content\/plugins\/amp-copy-code-button\/copier.html#git%20branch%20-r\">\n                            <button class=\"copy-button\" data-label=\"git branch -r\"  placeholder disabled>Copy<\/button>\n                        <\/amp-iframe>\n                    <\/div>\n\n\n\n<p>Then switch to the desired branch:\n\n\n\n<div class=\"code-block-container\">\n                        <pre class=\"wp-block-code\"><code id=\"code-15\">git checkout &lt;branch-name&gt;\ngit pull<\/code><\/pre>\n                        <amp-iframe sandbox=\"allow-scripts\" width=\"94\" height=\"72\" frameborder=\"0\" \n                                    src=\"https:\/\/zahiralam.com\/blog\/wp-content\/plugins\/amp-copy-code-button\/copier.html#git%20checkout%20%3Cbranch-name%3E%0Agit%20pull\">\n                            <button class=\"copy-button\" data-label=\"git checkout &lt;branch-name&gt;\ngit pull\"  placeholder disabled>Copy<\/button>\n                        <\/amp-iframe>\n                    <\/div>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\ud83d\udccc Replace&nbsp;<code>&lt;branch-name&gt;<\/code>&nbsp;with the name of the branch that likely contains the models (e.g.,&nbsp;<code>models<\/code>,&nbsp;<code>hindi<\/code>, or&nbsp;<code>main<\/code>&nbsp;if not already on it).\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udd0d 3. Check Model File Locations on GitHub<\/h3>\n\n\n\n<p>To manually verify model availability on&nbsp;<a href=\"https:\/\/github.com\/smtiitm\/Fastspeech2_HS\">GitHub.com<\/a>:\n\n\n\n<ol class=\"wp-block-list\">\n<li>Go to the repo:&nbsp;<code>https:\/\/github.com\/smtiitm\/Fastspeech2_HS<\/code><\/li>\n\n\n\n<li>Click the&nbsp;<strong>branch dropdown<\/strong>&nbsp;on the top left<\/li>\n\n\n\n<li>Switch to different branches and navigate to:<code>hindi\/female\/model\/ hindi\/male\/model\/<\/code><\/li>\n\n\n\n<li>If you see files like&nbsp;<code>model.pth<\/code>,&nbsp;<code>config.yaml<\/code>, and&nbsp;<code>.npz<\/code>&nbsp;files, that&#8217;s the correct branch to pull from.<\/li>\n<\/ol>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u2705 After downloading, the models should be located inside:\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>Fastspeech2_HS\/hindi\/female\/model\/<\/code><\/li>\n\n\n\n<li><code>Fastspeech2_HS\/hindi\/male\/model\/<\/code><\/li>\n<\/ul>\n<\/blockquote>\n\n\n\n<p>You\u2019re now ready to run inference!\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u2705 Step 7: Verify Installation<\/h2>\n\n\n\n<p>Run this to ensure all critical imports work:\n\n\n\n<div class=\"code-block-container\">\n                        <pre class=\"wp-block-code\"><code id=\"code-16\">python -c &quot;import torch; import librosa; import phonemizer; print(&#039;\u2705 All good!&#039;)&quot;<\/code><\/pre>\n                        <amp-iframe sandbox=\"allow-scripts\" width=\"94\" height=\"72\" frameborder=\"0\" \n                                    src=\"https:\/\/zahiralam.com\/blog\/wp-content\/plugins\/amp-copy-code-button\/copier.html#python%20-c%20%22import%20torch%3B%20import%20librosa%3B%20import%20phonemizer%3B%20print%28%27%E2%9C%85%20All%20good%21%27%29%22\">\n                            <button class=\"copy-button\" data-label=\"python -c &quot;import torch; import librosa; import phonemizer; print(&#039;\u2705 All good!&#039;)&quot;\"  placeholder disabled>Copy<\/button>\n                        <\/amp-iframe>\n                    <\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udd0a Step 8: Run Hindi TTS Inference<\/h2>\n\n\n\n<p>Here\u2019s how to generate a female Hindi voice sample:\n\n\n\n<div class=\"code-block-container\">\n                        <pre class=\"wp-block-code\"><code id=\"code-17\">python inference.py \\\n  --sample_text &quot;\u0928\u092e\u0938\u094d\u0924\u0947, \u092f\u0939 \u090f\u0915 \u092e\u0939\u093f\u0932\u093e \u0906\u0935\u093e\u091c\u093c \u092e\u0947\u0902 \u0939\u093f\u0902\u0926\u0940 \u091f\u0947\u0915\u094d\u0938\u094d\u091f \u091f\u0942 \u0938\u094d\u092a\u0940\u091a \u0921\u0947\u092e\u094b \u0939\u0948\u0964&quot; \\\n  --language hindi \\\n  --gender female \\\n  --alpha 1 \\\n  --output_file hindi_female_output.wav<\/code><\/pre>\n                        <amp-iframe sandbox=\"allow-scripts\" width=\"94\" height=\"72\" frameborder=\"0\" \n                                    src=\"https:\/\/zahiralam.com\/blog\/wp-content\/plugins\/amp-copy-code-button\/copier.html#python%20inference.py%20%5C%0A%20%20--sample_text%20%22%E0%A4%A8%E0%A4%AE%E0%A4%B8%E0%A5%8D%E0%A4%A4%E0%A5%87%2C%20%E0%A4%AF%E0%A4%B9%20%E0%A4%8F%E0%A4%95%20%E0%A4%AE%E0%A4%B9%E0%A4%BF%E0%A4%B2%E0%A4%BE%20%E0%A4%86%E0%A4%B5%E0%A4%BE%E0%A4%9C%E0%A4%BC%20%E0%A4%AE%E0%A5%87%E0%A4%82%20%E0%A4%B9%E0%A4%BF%E0%A4%82%E0%A4%A6%E0%A5%80%20%E0%A4%9F%E0%A5%87%E0%A4%95%E0%A5%8D%E0%A4%B8%E0%A5%8D%E0%A4%9F%20%E0%A4%9F%E0%A5%82%20%E0%A4%B8%E0%A5%8D%E0%A4%AA%E0%A5%80%E0%A4%9A%20%E0%A4%A1%E0%A5%87%E0%A4%AE%E0%A5%8B%20%E0%A4%B9%E0%A5%88%E0%A5%A4%22%20%5C%0A%20%20--language%20hindi%20%5C%0A%20%20--gender%20female%20%5C%0A%20%20--alpha%201%20%5C%0A%20%20--output_file%20hindi_female_output.wav\">\n                            <button class=\"copy-button\" data-label=\"python inference.py \\\n  --sample_text &quot;\u0928\u092e\u0938\u094d\u0924\u0947, \u092f\u0939 \u090f\u0915 \u092e\u0939\u093f\u0932\u093e \u0906\u0935\u093e\u091c\u093c \u092e\u0947\u0902 \u0939\u093f\u0902\u0926\u0940 \u091f\u0947\u0915\u094d\u0938\u094d\u091f \u091f\u0942 \u0938\u094d\u092a\u0940\u091a \u0921\u0947\u092e\u094b \u0939\u0948\u0964&quot; \\\n  --language hindi \\\n  --gender female \\\n  --alpha 1 \\\n  --output_file hindi_female_output.wav\"  placeholder disabled>Copy<\/button>\n                        <\/amp-iframe>\n                    <\/div>\n\n\n\n<p>You can replace the&nbsp;<code>--sample_text<\/code>&nbsp;with your own Hindi sentence.\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83e\uddea Sample Longer Sentence<\/h2>\n\n\n\n<div class=\"code-block-container\">\n                        <pre class=\"wp-block-code\"><code id=\"code-18\">python inference.py \\\n  --sample_text &quot;\u090f\u0915 \u0917\u0930\u0940\u092c \u0915\u093f\u0938\u093e\u0928 \u0915\u094b \u0930\u093e\u0938\u094d\u0924\u0947 \u092e\u0947\u0902 \u0938\u094b\u0928\u0947 \u0915\u0940 \u0925\u0948\u0932\u0940 \u092e\u093f\u0932\u0940, \u0909\u0938\u0928\u0947 \u0932\u093e\u0932\u091a \u0928 \u0915\u0930\u0915\u0947 \u092e\u093e\u0932\u093f\u0915 \u0915\u094b \u0932\u094c\u091f\u093e \u0926\u0940; \u0908\u092e\u093e\u0928\u0926\u093e\u0930\u0940 \u0938\u0947 \u092a\u094d\u0930\u092d\u093e\u0935\u093f\u0924 \u0939\u094b\u0915\u0930 \u092e\u093e\u0932\u093f\u0915 \u0928\u0947 \u0907\u0928\u093e\u092e \u0926\u093f\u092f\u093e, \u0914\u0930 \u0917\u093e\u0901\u0935 \u0935\u093e\u0932\u094b\u0902 \u0928\u0947 \u0909\u0938\u0947 \u0938\u092e\u094d\u092e\u093e\u0928\u093f\u0924 \u0915\u093f\u092f\u093e \u2014 \u092f\u0939 \u0926\u093f\u0916\u093e\u0924\u093e \u0939\u0948 \u0915\u093f \u0938\u091a\u094d\u091a\u093e\u0908 \u0939\u092e\u0947\u0936\u093e \u091c\u0940\u0924\u0924\u0940 \u0939\u0948\u0964&quot; \\\n  --language hindi \\\n  --gender female \\\n  --alpha 1 \\\n  --output_file hindi_female_output.wav<\/code><\/pre>\n                        <amp-iframe sandbox=\"allow-scripts\" width=\"94\" height=\"72\" frameborder=\"0\" \n                                    src=\"https:\/\/zahiralam.com\/blog\/wp-content\/plugins\/amp-copy-code-button\/copier.html#python%20inference.py%20%5C%0A%20%20--sample_text%20%22%E0%A4%8F%E0%A4%95%20%E0%A4%97%E0%A4%B0%E0%A5%80%E0%A4%AC%20%E0%A4%95%E0%A4%BF%E0%A4%B8%E0%A4%BE%E0%A4%A8%20%E0%A4%95%E0%A5%8B%20%E0%A4%B0%E0%A4%BE%E0%A4%B8%E0%A5%8D%E0%A4%A4%E0%A5%87%20%E0%A4%AE%E0%A5%87%E0%A4%82%20%E0%A4%B8%E0%A5%8B%E0%A4%A8%E0%A5%87%20%E0%A4%95%E0%A5%80%20%E0%A4%A5%E0%A5%88%E0%A4%B2%E0%A5%80%20%E0%A4%AE%E0%A4%BF%E0%A4%B2%E0%A5%80%2C%20%E0%A4%89%E0%A4%B8%E0%A4%A8%E0%A5%87%20%E0%A4%B2%E0%A4%BE%E0%A4%B2%E0%A4%9A%20%E0%A4%A8%20%E0%A4%95%E0%A4%B0%E0%A4%95%E0%A5%87%20%E0%A4%AE%E0%A4%BE%E0%A4%B2%E0%A4%BF%E0%A4%95%20%E0%A4%95%E0%A5%8B%20%E0%A4%B2%E0%A5%8C%E0%A4%9F%E0%A4%BE%20%E0%A4%A6%E0%A5%80%3B%20%E0%A4%88%E0%A4%AE%E0%A4%BE%E0%A4%A8%E0%A4%A6%E0%A4%BE%E0%A4%B0%E0%A5%80%20%E0%A4%B8%E0%A5%87%20%E0%A4%AA%E0%A5%8D%E0%A4%B0%E0%A4%AD%E0%A4%BE%E0%A4%B5%E0%A4%BF%E0%A4%A4%20%E0%A4%B9%E0%A5%8B%E0%A4%95%E0%A4%B0%20%E0%A4%AE%E0%A4%BE%E0%A4%B2%E0%A4%BF%E0%A4%95%20%E0%A4%A8%E0%A5%87%20%E0%A4%87%E0%A4%A8%E0%A4%BE%E0%A4%AE%20%E0%A4%A6%E0%A4%BF%E0%A4%AF%E0%A4%BE%2C%20%E0%A4%94%E0%A4%B0%20%E0%A4%97%E0%A4%BE%E0%A4%81%E0%A4%B5%20%E0%A4%B5%E0%A4%BE%E0%A4%B2%E0%A5%8B%E0%A4%82%20%E0%A4%A8%E0%A5%87%20%E0%A4%89%E0%A4%B8%E0%A5%87%20%E0%A4%B8%E0%A4%AE%E0%A5%8D%E0%A4%AE%E0%A4%BE%E0%A4%A8%E0%A4%BF%E0%A4%A4%20%E0%A4%95%E0%A4%BF%E0%A4%AF%E0%A4%BE%20%E2%80%94%20%E0%A4%AF%E0%A4%B9%20%E0%A4%A6%E0%A4%BF%E0%A4%96%E0%A4%BE%E0%A4%A4%E0%A4%BE%20%E0%A4%B9%E0%A5%88%20%E0%A4%95%E0%A4%BF%20%E0%A4%B8%E0%A4%9A%E0%A5%8D%E0%A4%9A%E0%A4%BE%E0%A4%88%20%E0%A4%B9%E0%A4%AE%E0%A5%87%E0%A4%B6%E0%A4%BE%20%E0%A4%9C%E0%A5%80%E0%A4%A4%E0%A4%A4%E0%A5%80%20%E0%A4%B9%E0%A5%88%E0%A5%A4%22%20%5C%0A%20%20--language%20hindi%20%5C%0A%20%20--gender%20female%20%5C%0A%20%20--alpha%201%20%5C%0A%20%20--output_file%20hindi_female_output.wav\">\n                            <button class=\"copy-button\" data-label=\"python inference.py \\\n  --sample_text &quot;\u090f\u0915 \u0917\u0930\u0940\u092c \u0915\u093f\u0938\u093e\u0928 \u0915\u094b \u0930\u093e\u0938\u094d\u0924\u0947 \u092e\u0947\u0902 \u0938\u094b\u0928\u0947 \u0915\u0940 \u0925\u0948\u0932\u0940 \u092e\u093f\u0932\u0940, \u0909\u0938\u0928\u0947 \u0932\u093e\u0932\u091a \u0928 \u0915\u0930\u0915\u0947 \u092e\u093e\u0932\u093f\u0915 \u0915\u094b \u0932\u094c\u091f\u093e \u0926\u0940; \u0908\u092e\u093e\u0928\u0926\u093e\u0930\u0940 \u0938\u0947 \u092a\u094d\u0930\u092d\u093e\u0935\u093f\u0924 \u0939\u094b\u0915\u0930 \u092e\u093e\u0932\u093f\u0915 \u0928\u0947 \u0907\u0928\u093e\u092e \u0926\u093f\u092f\u093e, \u0914\u0930 \u0917\u093e\u0901\u0935 \u0935\u093e\u0932\u094b\u0902 \u0928\u0947 \u0909\u0938\u0947 \u0938\u092e\u094d\u092e\u093e\u0928\u093f\u0924 \u0915\u093f\u092f\u093e \u2014 \u092f\u0939 \u0926\u093f\u0916\u093e\u0924\u093e \u0939\u0948 \u0915\u093f \u0938\u091a\u094d\u091a\u093e\u0908 \u0939\u092e\u0947\u0936\u093e \u091c\u0940\u0924\u0924\u0940 \u0939\u0948\u0964&quot; \\\n  --language hindi \\\n  --gender female \\\n  --alpha 1 \\\n  --output_file hindi_female_output.wav\"  placeholder disabled>Copy<\/button>\n                        <\/amp-iframe>\n                    <\/div>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u26a0\ufe0f Note: The parser may fail on some special characters like em dash (\u2014). If you encounter errors, remove or replace such characters.\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83c\udf89 Conclusion<\/h2>\n\n\n\n<p>You now have a working Hindi TTS system running on your Mac M1, M2, M3 or M4 using Fastspeech2_HS! You can easily extend this to other supported languages such as Bengali, Tamil, Marathi, etc.\n","protected":false},"excerpt":{"rendered":"<p>If you&#8217;re looking to run Hindi Text-to-Speech (TTS) locally on your Mac M1, M2, M3 or M4 without GPU dependency, this guide walks you through [&#8230;]<\/p>\n","protected":false},"author":1,"featured_media":1566,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[214],"tags":[272,256,273],"class_list":["post-1562","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-software-installation","tag-hindi-tts","tag-mac-m1-m2-m3-m4","tag-text-to-speech"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/zahiralam.com\/blog\/wp-json\/wp\/v2\/posts\/1562","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/zahiralam.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/zahiralam.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/zahiralam.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/zahiralam.com\/blog\/wp-json\/wp\/v2\/comments?post=1562"}],"version-history":[{"count":6,"href":"https:\/\/zahiralam.com\/blog\/wp-json\/wp\/v2\/posts\/1562\/revisions"}],"predecessor-version":[{"id":1571,"href":"https:\/\/zahiralam.com\/blog\/wp-json\/wp\/v2\/posts\/1562\/revisions\/1571"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/zahiralam.com\/blog\/wp-json\/wp\/v2\/media\/1566"}],"wp:attachment":[{"href":"https:\/\/zahiralam.com\/blog\/wp-json\/wp\/v2\/media?parent=1562"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/zahiralam.com\/blog\/wp-json\/wp\/v2\/categories?post=1562"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/zahiralam.com\/blog\/wp-json\/wp\/v2\/tags?post=1562"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}