Table of Contents
Introduction Text To Speech Conversion Using NLP
Text To Speech Conversion Using NLP means converting text to the voice speech using NLP. NLP is a field of artificial intelligence that gives the machines the ability to read, understand, and derive meaning from human languages. Top MNC Companies and Start-up companies are putting more effort and millions of money in the NLP field. Everywhere is a data scientist is trying to understand the NLP domain and its process with excellent application. Most of the industry trying to automated with NLP.
Why NLP?
In Industry 4.0 now going towards the automation industry like develop a robot for medical counseling, detect the disease, and much more application based on NLP. So,many NLP researchers had spent time, natural language processing has evolved into a new powerful technique to clean a raw text into various processes based upon application.
If you need the magic in the text so look at its application. Therefore our organization put the best application with python code.
So, let’s start with the first effective application of natural language processing.
Widget not in any sidebars
Text To Speech Conversion Using NLP
Several text-to-speech API is available, now in this article used the ‘pyttsx3’. pyttsx3 is a text-to-speech conversion library in Python. Unlike alternative libraries, it works offline and is compatible with both Python 2 and 3.
Before API some of the pre-trained models are available in python but sometimes it is difficult to convert the voice or volume. And it required more computational power.
Everywhere used this technique like, the film industry dubbing the movie, converting the male voice to female voice.
In this application I used the pyttsx 3.Advantage is (TTS) library for Python 2 and 3. Works without internet connection or delay. Supports multiple TTS engines, including Sapi5, nsss, and espeak.
See following sample code for TTS using pyttsx3.
#import library
import pyttsx3
#if any error when installation install the dependency library, If you receive errors such as No module named win32com.client, No module named win32, or No module named win32api, you will need to additionally install pypiwin32.
engine = pyttsx3.init() #declare
engine.say("I will speak this text") #pass any string
engine.runAndWait() #output in voice format
# Changing Voice , Rate and Volume
import pyttsx3
engine = pyttsx3.init() # object creation
""" RATE"""
rate = engine.getProperty('rate') # getting details of current speaking rate
print (rate) #printing current voice rate
engine.setProperty('rate', 125) # setting up new voice rate
#####VOLUME#####
volume = engine.getProperty('volume') #getting to know current volume level (min=0 and max=1)
print (volume) #printing current volume level
engine.setProperty('volume',1.0) # setting up volume level between 0 and 1
#####VOICE#####
voices = engine.getProperty('voices') #getting details of current voice
#engine.setProperty('voice', voices[0].id) #changing index, changes voices. o for male
engine.setProperty('voice', voices[1].id) #changing index, changes voices. 1 for female
engine.say("Hello World!")
engine.say('My current speaking rate is ' + str(rate))
engine.runAndWait()
engine.stop()
#####Saving Voice to a file#####
# On linux make sure that 'espeak' and 'ffmpeg' are installed
engine.save_to_file('Hello World', 'test.mp3')
engine.runAndWait()
Widget not in any sidebars
Conclusion
In this article,just explain the TTS in python with change the voice, volume,and rate. Simple code just changes the parameters as per requirements.