2010-01-02 9 views
6

मैं अंधे नहीं हूं, मैं सिर्फ अपनी विंडोज मशीन को बफर के बाहर की सामग्री को पढ़ने का तरीका बनाना चाहता हूं। यहां बुनियादी आवश्यकताएं हैं:Emacs में टेक्स्ट-टू-स्पीच

  • कोई भी अंग्रेज़ी टेक्स्ट बफर पढ़ें।
  • किसी भी समय पढ़ने को रोकें और किसी भी समय फिर से शुरू करें (किसी बड़े बफर के लिए कुछ मिनट प्रतीक्षा न करें जब कोई मेरे कार्यालय में चलता है)।
  • प्ले-टाइम पर रीड-बैक गति समायोजित करें।

    • Emacspeak: अंधा के लिए बनाया गया
    • पाठ वर्तमान में पढ़ा जा रहा (वैकल्पिक)

    मैं संभव समाधान की एक जोड़ी पाया हाइलाइट

  • । एक स्टैंड-अलोन प्रोग्राम की तरह दिखता है, न कि Emacs प्लग-इन
  • festival.el: महोत्सव की आवश्यकता है। मुझे महोत्सव के लिए विंडोज़ बिनरी नहीं मिल रही है। किसी के पास है?
  • मैं अपना खुद का लिख ​​सकता हूं। इन दिनों टेक्स्ट-टू-स्पीच (टीटीएस) पुस्तकालय बहुत सारे हैं। इंटरैक्टिव पॉज़ सुविधा सबसे बड़ी चाल हो सकती है, लेकिन कुछ पुस्तकालय होना चाहिए जो इसे कर सकते हैं।

कौन सा विकल्प सबसे अच्छा योजना है? मैं यहां एक सप्ताह की लंबी परियोजना नहीं चाहता हूं। विंडोज़ में संकलन महोत्सव एक दर्दनाक प्रयोग रहा है। Emacspeak जो मैं चाहता हूं उसके लिए ओवरकिल की तरह दिखता है।

+0

यहाँ में एक प्रश्न है? – Mike

+0

अच्छा बिंदु! मैंने इसे फिर से phrased किया। – User1

उत्तर

6

विंडोज के लिए उत्सव here उपलब्ध है। मैं गारंटी नहीं दे सकता कि त्यौहार इन बाइनरी के साथ काम करेगा। मुझे इन बाइनरी के साथ काम करने का अनुभव है, हालांकि, अगर आपको उन्हें इमाक्स के बाहर काम करने में समस्याएं आ रही हैं, तो मैं मदद कर सकता हूं।

मुझे नहीं लगता कि आप त्यौहार के साथ प्लेबैक गति पर नियंत्रण रखेंगे, हालांकि मुझे गलती हो सकती है। जहां तक ​​इस पर नियंत्रण बनाए रखा जा रहा है, मैं कहूंगा कि आपका सबसे अच्छा शर्त यह प्रोग्राम करना है ताकि यह केवल त्योहार के समय में छोटे हिस्से भेज रहा हो। अन्यथा, इसे पूरा होने तक इसे पढ़ने से रोकने का कोई तरीका नहीं है।

असल में, मुझे नहीं लगता कि वहां कुछ भी है जो कुछ काम किए बिना आपकी न्यूनतम आवश्यकताओं को पूरा करेगा।

संपादित करें: अपनी आवश्यकताओं को वापस देखने के बाद, मैं कहूंगा कि फेस्टिवल में एक समय में वाक्य भेजने के लिए त्यौहार.एल को हैक करने का सबसे अच्छा तरीका होगा। फिर आप एक कीस्ट्रोक प्रोग्राम कर सकते हैं जो इसे मार देगा, ताकि यह केवल वर्तमान वाक्य को पूरा कर सके। साथ ही, आपकी स्क्रिप्ट उस वाक्य को हाइलाइट कर सकती है जिसे वर्तमान में महोत्सव में भेजा जा रहा है।

+0

यह सबसे अच्छा जवाब है जो मैंने कभी इस मंच पर किया है! दुनिया में कैसे आपको महोत्सव बाइनरी मिलती है? मैंने कुछ गंभीर Google प्रश्नों की कोशिश की और कुछ भी काम नहीं किया। – User1

+1

मेरा google-Fu आपके से भी मजबूत है :) कोई गंभीरता से यह मुझे हमेशा खोजने के लिए ले गया। –

+0

और यहां बताया गया है कि उन्होंने विंडोज़ पर महोत्सव कैसे बनाया: http://www.eguidedog.net/doc_build_win_festival.php –

1

मेरे पास पाइथन pyttsx मॉड्यूल के आधार पर एक साधारण समाधान है। यह एक पायथन स्क्रिप्ट को एक emacs प्रक्रिया के रूप में शुरू करता है और इसे तारों को पढ़ने के लिए भेजता है।

(defvar tts nil "text to speech process") 

(defun tts-up() 
    (interactive) 
    (and (not (null tts)) 
     (eq (process-status tts) 'run))) 

(defun tts-start() 
    (interactive) 
    (if (not (tts-up)) 
     (setq tts 
      (start-process "tts-python" 
          "*tts-python*" 
          "python" "speak.py")))) 

(defun tts-end() 
    (interactive) 
    (delete-process tts) 
    (setq tts nil)) 

(defun tts-say (text) 
    (interactive) 
    (tts-start) 
    (process-send-string tts (concat text "\n"))) 

अजगर फ़ाइल speak.py:

import pyttsx 

engine = pyttsx.init() 

def say(data): 
    engine.say(data) 
    engine.runAndWait() 

while True: 
    say(raw_input())