這是我的第一個開源項目,是我一直想做的一個小工具:
端到端實時語音轉文字系統。
通過小程序和H5頁面,用戶可以實時采錄音頻,通過ws上傳到java的netty server。
Java在經過權限驗證、流量控制等操作之后,通過gRPC流式發送給python服務。
python項目通過開源的?speech_paraformer?模型實時識別文字結果,然后發送給java,java 發給客戶端實時展示。
系統架構
1. 前端采集層(開發中)
- ??小程序/H5頁面??:提供用戶友好的錄音界面
- ??實時音頻采集??:使用Web Audio API實現高質量音頻捕獲
- ??WebSocket傳輸??:建立低延遲的雙向通信通道
2. Java中間層(初版)
- ??Netty服務器??:處理高并發的WebSocket連接
- ??安全驗證??:實現基于JWT的權限控制
- ??流量管理??:采用令牌桶算法進行請求限流
- ??gRPC網關??:與Python服務進行高效通信
3. Python識別層(初版)
- ??speech_paraformer模型??:使用這個開源的語音識別模型進行實時轉寫
- ??流式處理??:支持邊錄音邊識別的實時模式
- ??結果優化??:對識別結果進行后處理,提高準確率
技術亮點
- ??全流程實時處理??:從錄音到文字展示,延遲目標控制在毫秒級
- ??高性能架構??:Netty+gRPC的組合確保系統的高吞吐量
- ??開源模型集成??:使用speech_paraformer提供高質量的識別效果
- ??完善的權限控制??:從客戶端到服務端的多層安全驗證
應用場景
這個系統可廣泛應用于:
- 在線會議實時字幕
- 語音筆記自動轉寫
- 直播場景的字幕生成
- 語音交互應用的開發基礎
開源計劃
我已經將項目完整代碼開源在GitHub上
h5:
TBD
mini program
TBD
java 項目地址:https://github.com/TongDaxia/realtime_voice_to_text
python 項目地址:https://github.com/TongDaxia/realtime_voice_to_text_engine
歡迎大家:
- 試用并提出改進建議
- 參與代碼貢獻
- 基于此項目進行二次開發
?