7

Clojure で使用できるテキスト読み上げおよび音声認識ライブラリは何ですか? これまでのところ、私は見つけました

https://github.com/klutometis/speech-recognition

https://github.com/klutometis/speech-synthesis

どちらも Google を使用しているため、Web に依存しています。

インターネットに依存しないものを探しています

4

3 に答える 3

6

これは、既存の Clojure ライブラリに関する限り、ほとんど未踏の領域だと思います。

おそらく最善の策は、利用可能な多くの Java 音声認識ライブラリーを調べて、Clojure からそれらを使用することです。この時点で、それらははるかに成熟し、機能するようになります。

あなたは見たいと思うかもしれません:

Clojure から Java ライブラリを使用するのは非常に簡単です。通常は、適切なクラスをインポートして実行するのと同じくらい簡単です。(.someMethod someObject arg1 arg2)

音声認識エンジン用の Clojure ラッパーを作成する場合は、コミュニティに寄付してください。Clojure で音声関連の作業を行うことに関心を持っている人は (私自身も含めて) かなり多いと思います。

于 2012-08-16T01:16:15.193 に答える
2

これまでのところ、ネイティブ システムの 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
于 2012-08-25T20:50:10.427 に答える
1

私が作成した JNI Java ライブラリ経由で espeak を使用して、clojure のテキストから音声を生成しました。基本ライブラリは github で入手できます。残念ながら、別の理由で、当分の間、別の問題に焦点を当てることを余儀なくされました。ただし、私のライブラリを使用して clojure の espeak とやり取りしたい場合は、メッセージをお送りください。使用方法の例をいくつかお送りします。

于 2013-03-02T06:31:10.797 に答える