2009-09-28 8 views
24

मैक कमांड say-v ध्वज के साथ उपयोग की गई आवाज निर्दिष्ट कर सकता है।मैक टेक्स्ट-टू-स्पीच वॉयस प्रोग्रामेटिक रूप से सूची प्राप्त करना?

say -v Alex "compile completed, put your swords down." 

उपलब्ध प्राथमिकताओं को सिस्टम प्राथमिकता/भाषण/पाठ से भाषण में देखा जा सकता है। मैं इस सूची को प्रोग्रामेटिक रूप से कैसे प्राप्त कर सकता हूं?

+5

एक्सकेसीडी संदर्भ –

उत्तर

6
+0

अच्छा प्यार करें! यह किसी भी मौके से अजगर के माध्यम से कॉल करने योग्य नहीं होगा? –

+0

मुझे यकीन है कि आप इसे पीओओबीजेसी के माध्यम से कॉल कर सकते हैं, जो मैक ओएस एक्स 10.5 और ऊपर (और पिछले संस्करणों के लिए डाउनलोड करने योग्य) के साथ शामिल है। – Chuck

+0

आप सही हैं, मैंने नीचे incanation की प्रतिलिपि बनाई है ... धन्यवाद एक गुच्छा !! –

7

शैल संस्करण, कोई हैक भी सस्ता!

(वास्तव में इस का उपयोग न करें, बल्कि अजगर संस्करण का उपयोग करें।)

ls /System/Library/Speech/Voices | sed 's/.SpeechVoice$//' 

Agnes 
Albert 
Alex 
BadNews 
Bahh 
Bells 
Boing 
... 
7

अजगर संस्करण, Barry Wark के सौजन्य:

from AppKit import NSSpeechSynthesizer 
print NSSpeechSynthesizer.availableVoices() 
79

यह उपलब्ध आवाजों की सूची है:

say -v '?' 
+0

10.6 पर नहीं। (एसओ 15 चार फिलर टेक्स्ट) – mankoff

+0

10.9 पर काम करता है – kritzikratzi

2

यह थ्रूग जा रहा है एक निर्णय लेने से पहले कई आवाजें। गुणवत्ता में एक बड़ी विविधता है।

उदाहरण के लिए, टॉम थोड़ा अप्रिय लगता है, लेकिन एलेक्स की तुलना में अधिक यथार्थवादी लगता है। और कुछ ब्रिटिश आवाजें बहुत अच्छी हैं।

say -v '?' का उपयोग करना आपको इंस्टॉल की गई आवाज़ों और कुछ नमूना वाक्यों की एक सूची देता है जो आपको एक विचार देता है कि आवाज की अपेक्षा कैसे करें। आपको वास्तव में बहुत अच्छी आवाजों को स्थापित करने के लिए वरीयताओं के माध्यम से जाना होगा, लेकिन वे एक कॉम्पैक्ट वॉयस फ़ाइल के साथ आते हैं जो आपको यह सुनने देता है कि वास्तव में उन्हें डाउनलोड करने से पहले प्रत्येक आवाज़ कैसा लगता है।

18
for voice in `say -v '?' | awk '{print $1}'`; do say -v "$voice" "Hello, my name is $voice."; done 
संबंधित मुद्दे