Clojure で使用できるテキスト読み上げおよび音声認識ライブラリは何ですか? これまでのところ、私は見つけました
https://github.com/klutometis/speech-recognition
https://github.com/klutometis/speech-synthesis
どちらも Google を使用しているため、Web に依存しています。
インターネットに依存しないものを探しています
Clojure で使用できるテキスト読み上げおよび音声認識ライブラリは何ですか? これまでのところ、私は見つけました
https://github.com/klutometis/speech-recognition
https://github.com/klutometis/speech-synthesis
どちらも Google を使用しているため、Web に依存しています。
インターネットに依存しないものを探しています
これは、既存の 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 ライブラリ経由で espeak を使用して、clojure のテキストから音声を生成しました。基本ライブラリは github で入手できます。残念ながら、別の理由で、当分の間、別の問題に焦点を当てることを余儀なくされました。ただし、私のライブラリを使用して clojure の espeak とやり取りしたい場合は、メッセージをお送りください。使用方法の例をいくつかお送りします。