什麼文本到語音識別庫可用於Clojure? 到目前爲止,我已經找到Clojure提供哪些文本到語音和語音識別庫?
https://github.com/klutometis/speech-recognition
https://github.com/klutometis/speech-synthesis
這兩種使用谷歌,因此依賴網絡的。
我找那些不依賴在互聯網上工作
什麼文本到語音識別庫可用於Clojure? 到目前爲止,我已經找到Clojure提供哪些文本到語音和語音識別庫?
https://github.com/klutometis/speech-recognition
https://github.com/klutometis/speech-synthesis
這兩種使用谷歌,因此依賴網絡的。
我找那些不依賴在互聯網上工作
我覺得這是一個非常處女地儘可能現有Clojure庫去。
最好的辦法是看看許多可用的Java語音識別庫,並從Clojure中使用它們 - 它們將會更加成熟和有能力。
你可能想看看:
使用從Clojure的Java庫是非常容易的 - 它通常是作爲進口權類和做(.someMethod someObject arg1 arg2)
一樣簡單如果你確實爲語音識別器創建了一個Clojure包裝器,請將其貢獻給社區!我知道不少人(包括我自己)會對在Clojure做一些與演講有關的工作感興趣。
到目前爲止,我已經能夠使用本機系統的TTS這裏是我的代碼, 也許這將有助於某人?
(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)))
然後用
(set-engine "Festival") ;; set the engine
(speak "Hello, I can talk") ;; speak your text
我已經通過JNI的Java庫,我寫信給生成Clojure中的文本語音espeak的使用。基本庫在github上可用。不幸的是,由於不相關的原因,我不得不把目光投向另一個問題。然而,如果你想用我的庫與clojure進行交流,請給我留言 - 我可以向你發送一些關於我如何使用它的例子。
我不知道任何直接支持clojure的東西,但通常有一個平臺的語音識別或合成引擎,然後人們爲他們選擇的語言構建接口。也許你需要CMU SPhinx的Clojure接口?你可能會發現這個答案是一個有用的起點 - http://stackoverflow.com/a/6351055/90236 – 2012-08-15 22:37:50
而對於基於Java的TTS解決方案,這個答案可能會有所幫助 - http://stackoverflow.com/questions/143390/ java的文本到語音引擎 - 概述 – 2012-08-16 13:03:16