Şimdiye dek yerli sistemin TTS'sini kullanabildim, bu benim kodum, belki bu birilerine yardımcı olur mu?
(use '[speech-synthesis.say :as say])
(use '[clojure.java.shell :only [sh]])
(defn festival [x](sh "sh" "-c" (str "echo " x " | festival --tts")))
(defn espeak [x] (sh "espeak" x))
(defn mac-say[x] (sh "say" x))
(defn check-if-installed[x] (:exit(sh "sh" "-c" (str "command -v " x " >/dev/null 2>&1 || { echo >&2 \"\"; exit 1; }"))))
(defn engine-check[]
(def engines (conj["Google" ]
(if (= (check-if-installed "festival") 0) "Festival")
(if (= (check-if-installed "espeak") 0) "ESpeak" )
(if (= (check-if-installed "say") 0) "Say" ))) ;; Say is the Apple say command
(remove nil? engines))
(defn set-engine [eng](cond (= eng "Google")(def speak say)
(= eng "Festival")(def speak festival)
(= eng "ESpeak") (def speak espeak)
(= eng "Say") (def speak mac-say)))
sonra ben Clojure metinden konuşma oluşturmak için yazdığım bir JNI'yı java kitaplığı aracılığıyla espeak kullandık
(set-engine "Festival") ;; set the engine
(speak "Hello, I can talk") ;; speak your text
Doğrudan clojure'u destekleyen hiçbir şey bilmiyorum, ancak genellikle bir platform için bir konuşma tanıma veya sentez motoru var ve sonra insanlar kendi dilleri için arabirimler oluşturuyorlar. CMU Sphinx için belki bir Clojure arayüzüne ihtiyacınız var mı? Bu cevabı faydalı bir başlangıç noktası olarak bulabilirsiniz: http://stackoverflow.com/a/6351055/90236 –
Java tabanlı TTS çözümleriyle ilgili olarak bu yanıt yararlı olabilir - http://stackoverflow.com/questions/143390/ java-metin-konuşma-motorlar-genel bakış –