# chatAI **Repository Path**: cheng96617/chatAi ## Basic Information - **Project Name**: chatAI - **Description**: No description available - **Primary Language**: NodeJS - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-04 - **Last Updated**: 2025-12-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 百度AI语音识别服务器 这是一个基于Node.js的服务器,用于接收语音文件并转发给百度AI语音识别API进行处理。 ## 功能特点 - 接收客户端上传的语音文件 - 自动转发给百度AI语音识别API - 返回识别结果给客户端 - 支持清理临时文件 ## 前提条件 - Node.js 14+ 环境 - 百度AI开放平台账号 - 百度语音识别API密钥(API Key和Secret Key) ## 安装步骤 1. 克隆或下载此项目到本地 2. 安装依赖 ```bash npm install ``` 3. 配置百度AI密钥 打开 `server.js` 文件,替换以下内容: ```javascript const BAIDU_API_KEY = 'YOUR_API_KEY'; // 替换为你的百度AI API Key const BAIDU_SECRET_KEY = 'YOUR_SECRET_KEY'; // 替换为你的百度AI Secret Key ``` ## 使用方法 1. 启动服务器 ```bash npm start ``` 服务器将运行在 http://localhost:3000 2. 上传语音文件进行识别 使用POST请求发送语音文件到 `/upload` 接口,请求格式如下: - 请求方法:POST - 请求URL:http://localhost:3000/upload - 请求头:Content-Type: multipart/form-data - 请求体:包含名为 'audio' 的文件字段 示例curl命令: ```bash curl -X POST -F "audio=@/path/to/your/audio.pcm" http://localhost:3000/upload ``` ## 语音文件要求 - 格式:PCM、WAV或AMR - 采样率:16000Hz - 声道:单声道 - 位数:16位 ## 响应格式 成功响应: ```json { "success": true, "message": "语音识别成功", "result": { "corpus_no": "123456789", "err_msg": "success", "err_no": 0, "result": ["识别结果文本"], "sn": "123456789" } } ``` 错误响应: ```json { "success": false, "error": "错误信息" } ``` ## 注意事项 1. 确保你的百度AI账号已经开通了语音识别服务 2. 免费账号有调用次数限制,请合理使用 3. 服务器仅支持处理单声道、16000Hz采样率的语音文件 4. 生产环境中建议添加身份验证和请求频率限制 ## 不同网段访问配置 要让不同网段的设备能够访问服务器,需要进行以下配置: ### 1. 确认服务器监听设置 本服务器默认配置为监听所有网络接口(0.0.0.0),这一步已在代码中完成,无需额外修改。 ### 2. 配置防火墙 确保服务器所在机器的防火墙允许外部访问服务器端口(默认为3000)。 #### Windows系统 - 打开"控制面板" -> "系统和安全" -> "Windows Defender 防火墙" -> "高级设置" - 在"入站规则"中点击"新建规则..." - 选择"端口" -> 下一步 - 选择"TCP",并在"特定本地端口"中输入"3000" -> 下一步 - 选择"允许连接" -> 下一步 - 选择适用的网络类型(建议全选)-> 下一步 - 为规则命名(如"语音识别服务器")-> 完成 #### Linux系统 使用iptables或firewalld开放3000端口: ```bash # iptables方式 sudo iptables -A INPUT -p tcp --dport 3000 -j ACCEPT sudo service iptables save # firewalld方式 sudo firewall-cmd --add-port=3000/tcp --permanent sudo firewall-cmd --reload ``` ### 3. 获取服务器IP地址 不同网段的设备需要通过服务器的IP地址访问服务。在服务器上执行以下命令获取IP: #### Windows系统 ```cmd ipconfig ``` 查找"IPv4地址"或"无线局域网适配器 WLAN"下的IP地址。 #### Linux/macOS系统 ```bash ifconfig ``` 查找inet后面的IP地址。 ### 4. 端口转发(如服务器在路由器后面) 如果服务器位于路由器后面(如家庭或办公室网络),需要在路由器上配置端口转发: 1. 登录路由器管理界面(通常在浏览器中输入192.168.1.1或192.168.0.1) 2. 找到"端口转发"或"虚拟服务器"设置 3. 添加一条转发规则: - 外部端口:3000 - 内部IP地址:服务器的本地IP地址 - 内部端口:3000 - 协议:TCP 4. 保存设置 ### 5. 访问测试 在其他网段的设备上,通过以下方式测试访问: ```bash curl -X POST -F "audio=@/path/to/your/audio.pcm" http://服务器IP地址:3000/upload ``` 或在浏览器中访问:`http://服务器IP地址:3000` ## 许可证 MIT