में किसी फ़ाइल में संश्लेषित टेक्स्ट-टू-स्पीच रिकॉर्डिंग मैं संश्लेषित भाषण लेने और इसे ऑडियो फ़ाइल में रिकॉर्ड करने का एक तरीका खोजने का प्रयास कर रहा हूं। मैं वर्तमान में pyttsx का उपयोग अपनी टेक्स्ट-टू-स्पीच लाइब्रेरी के रूप में कर रहा हूं, लेकिन आउटपुट को फ़ाइल में सहेजने के लिए कोई तंत्र नहीं है, केवल इसे स्पीकर से सीधे चला रहा है। मैंने detecting and recording audio के साथ-साथ PyAudio में देखा है, लेकिन ये फ़ाइल में आउटगोइंग ऑडियो को रीडायरेक्ट करने के बजाय माइक्रोफ़ोन से इनपुट लेते हैं। क्या ऐसा करने का कोई ज्ञात तरीका है?पाइथन
Q
पाइथन
7
A
उत्तर
4
आप subprocess का उपयोग कर -w तर्क के साथ espeak पर कॉल कर सकते हैं।
import subprocess
def textToWav(text,file_name):
subprocess.call(["espeak", "-w"+file_name+".wav", text])
textToWav('hello world','hello')
यह जोर से पढ़ने के बिना file_name.wav लिख देगा। यदि आपका टेक्स्ट किसी फ़ाइल में है (उदा। Text.txt) तो आपको -f पैरामीटर ("-f" + टेक्स्ट) के साथ espeak को कॉल करने की आवश्यकता है। मैं आपके पास सभी विकल्पों को देखने के लिए espeak man pages पढ़ने की अनुशंसा करता हूं।
उम्मीद है कि इससे मदद मिलती है।
1
आप Wav फ़ाइल में आउटपुट को सहेजने के लिए अधिक उन्नत SAPI wrapper का उपयोग कर सकते हैं। उदाहरण के लिए आप की कोशिश कर सकते
https://github.com/DeepHorizons/tts
कोड इस तरह दिखना चाहिए:
import tts.sapi
voice = tts.sapi.Sapi()
voice.set_voice("Joey")
voice.create_recording('hello.wav', "Hello")
2
यहाँ एक उदाहरण है जो आप NSSpeechSynthesizer एपीआई
#!/usr/bin/env python
from AppKit import NSSpeechSynthesizer
import sys
import Foundation
if len(sys.argv) < 2:
text = raw_input('type text to speak> ')
else:
text = sys.argv[1]
nssp = NSSpeechSynthesizer
ve = nssp.alloc().init()
ve.setRate_(100)
url = Foundation.NSURL.fileURLWithPath_('yourpath/test.aiff')
ve.startSpeakingString_toURL_(text,url)
संबंधित मुद्दे
बहुत बढ़िया, ऐसा ही किया तक पहुंचाता है चाल! धन्यवाद! – petrichor