Clojure China

Clojure封装讯飞语音SDK, 实现语音提醒/语音识别/语音朗读

sdk
语音
share
clojure
#1

xunfei-clj源码链接

Clojure封装讯飞语音SDK, 可提供给Emacs/Vim编辑器使用,或者命令行, 实现语音朗读提醒/语音识别/语音转为命令等

目前只支持Linux和Windows系统,因为讯飞官方SDK暂未支持Mac

Usage: 查看使用示例hello-xunfei

;; 1. add to project.clj.
[xunfei-clj "0.1.4-SNAPSHOT"]

;; 2. add Msc.jar to project's lib path, then add `:resource-paths` option.
:resource-paths ["lib/Msc.jar"]

;; 3. copy libmsc64.so(windows: msc64.dll) & libmsc32.so(windows: msc32.dll) to your project root path.

;; 4. core.clj:
(ns hello-xunfei.core
  (:require [xunfei-clj.core :as xunfei]))

;; 讯飞初始化
(xunfei/app-init "your-xunfei-appid") ;; 可以自行到讯飞开放平台注册一个appid

;; 语音朗读
(defn xunfei-say-hi
  [text]
  (xunfei/text-to-player text))

;; 语音识别
(def regcog-res (atom (list)))
(xunfei/record-voice-to-text (fn [] (xunfei/m-reco-listener #(swap! regcog-res conj %))) )

Develop

$ lein repl
;; 讯飞初始化
xunfei-clj.core> (xunfei/app-init "your-xunfei-appid")
;; 语音朗读
xunfei-clj.core> (text-to-player "什么语音文学驱动编程?")

;; 语音识别
xunfei-clj.core> (def regcog-res (atom (list)))
xunfei-clj.core> (record-voice-to-text (fn [] (m-reco-listener #(swap! regcog-res conj %))) )

1赞
#2

欢迎给我提Issues和Start呀:heart_eyes:

#3

这个如何放在全局用啊?我想放在CIDER里面,然后在Emacs里调用。通过clojure或者Emacs插件clomacs.

#4

可以的, 你是Linux或者是Windows吗? 讯飞SDK不支持Mac的动态链接库.
你可以把它作为一个API来使用, 或者是 作为一个语音服务来使用, 在EmacsLisp里面去集成它。
细节需求 你可以提到 Issues里面,我会用 Elisp把他们 开发出来.

#5

已提交issue https://github.com/voice-literate-programming/xunfei-clj/issues/1

1赞
#6

非常感谢 你提的 issues, 我会好好思考设计这个Emacs的 mode,
“问一下这个讯飞SDK是离线的还是需要连接网络去分析语音的?” => 离线的需要付费,我用的是免费版.
这个包是必须伴随 cider repl 启动才能用, 但是 也可以做成 网络 API ,看看哪种做出来的效果好.

#7

如果是个人使用,我觉得还是伴随CIDER REPL启动的好。做成网络API可能的问题相对比较多。

1赞
#8

是的, 确实如此 :relaxed:

#9

我也懂一点点Elisp,如果需要我可以帮忙写一点。

#10

好的,谢谢,我把你加到那个GitHub的组织里面了, 你先把项目在Linux或者Windows上跑起来先. 有什么问题可以在这里提 :blush: