I have made text to speech functionality using the link mentioned below:-
MDN - https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesisUtterance
MDN Example - https://mdn.github.io/web-speech-api/speak-easy-synthesis/
I want to convert it into an MP3 file with a specific voice i.e mentioned in the Select Voice dropdown. How can I achieve that?
Note:- I want to achieve this functionality using JS or PHP
Below is my code
var inputSpeakBtn = document.querySelector('.btn-test-voice');
var inputTxt = document.querySelector('#your-text');
var voiceSelect = document.querySelector('#new-voice-list');
var synth = window.speechSynthesis;
setTimeout(() => {
var voices = synth.getVoices();
for (let index = 0; index < voices.length; index++) {
const voicesElement = voices[index];
var option = document.createElement('option');
option.textContent = voicesElement.name + ' (' + voicesElement.lang + ')';
option.value = index;
voiceSelect.appendChild(option);
}
inputSpeakBtn.addEventListener('click', function() {
var utterThis = new SpeechSynthesisUtterance(inputTxt.value);
utterThis.voice = voices[voiceSelect.value];
synth.speak(utterThis);
inputTxt.blur();
})
}, 1000);
<div class="form-group col-md-12 form-new-voice use-tts">
<label for="">Your Text</label>
<input id="your-text" type="text" class="form-control" placeholder="">
<label for="" class="mt-2">Select Voice</label>
<select id="new-voice-list" class="form-control">
</select>
<button class="btn btn-primary btn-test-voice mt-2">Test Voice</button>
<button class="btn btn-primary btn-download mt-2">Download</button>
</div>