当前位置: 首页 > ops >正文

通过python安装小智语音服务器端

小智语音因为不提供服务器端开源代码,就自己在ai问了一套

GitHub - xinnan-tech/xiaozhi-esp32-server: 本项目为xiaozhi-esp32提供后端服务,帮助您快速搭建ESP32设备控制服务器。Backend service for xiaozhi-esp32, helps you quickly build an ESP32 device control server.本项目为xiaozhi-esp32提供后端服务,帮助您快速搭建ESP32设备控制服务器。Backend service for xiaozhi-esp32, helps you quickly build an ESP32 device control server. - xinnan-tech/xiaozhi-esp32-serverhttps://github.com/xinnan-tech/xiaozhi-esp32-server这套代码整体来说分为两部分,一部分是服务器部分,一部分是后台管理部分。

咱这里只说服务器核心代码的部分。我尝试了一下直接跑他们的docker镜像,很简单就可以跑通了。唯独需要注意下docker的端口号问题。

然而,我的服务器也是windows版本的,如果在服务器那个配置上跑docker,服务器就啥都别服务了。

于是看了一下,这套小智核心代码既然都是python的,那么我就在本地直接跑python吧。

上面图是某网站代码的截图。

好了,下来看我本地的python版本。

 py --version

本地显示的版本是

下来,我在本地文件夹使用了一种项目内的虚拟环境技术,这个技术挺好的啊,我也是第一次使用。

创建虚拟环境

  • 在 Windows 上:

  • python -m venv venv

    然后就会创建一个目录myenv,这个就是python的虚拟环境技术。激活这个环境,就会在命令行下进入这个环境

  • 激活虚拟环境:
    根据你的操作系统,使用以下命令激活虚拟环境

  • .\myenv\Scripts\activate


    命令行前缀多了一个绿色的myenv,表示已经在虚拟环境下了。
    venv 是 Python 3.3 及更高版本自带的标准库模块,用于创建轻量级的虚拟环境。它允许你在 Python 项目中创建独立的环境,从而隔离项目的依赖项,避免全局安装的包之间的版本冲突。
    关于 venv 的特点:
    内置模块:从 Python 3.3 开始,venv 被引入为标准库的一部分。因此,如果你使用的是 Python 3.3 或更高版本,无需额外安装,直接使用即可。
    轻量级:venv 提供了比 virtualenv 更简单、更轻量的虚拟环境创建方式。它不包含一些额外的功能,如对旧版本 Python 的支持,因此更适合现代 Python 项目。
    隔离环境:使用 venv 创建的虚拟环境会复制 Python 解释器和标准库文件,并创建一个独立的目录来存储项目的依赖项。这确保了每个项目可以在独立的环境中运行,不会相互干扰。

  • 停用虚拟环境

  • deactivate

安装依赖

这里注意一定要保持网络的稳定,这肯定都懂的

pip install -r requirements.txt

依赖安装完成后,会提示安装成功。

好了,下来尝试运行小智代码。这里会碰到一些问题,还会缺失两样东西,我下来再讲。

py ./app.py

这是因为这两个东西都需要额外下载安装到操作系统中,而不是python,python只是在操作系统中调用。

其中一个是Opus 库,文件是opus.dll 这个是音频信号处理,理所当然要用到。

https://www.dllme.com/dll/files/opus/5d3631c47e09deac2b0a2d0563937369https://www.dllme.com/dll/files/opus/5d3631c47e09deac2b0a2d0563937369

Releases · ShiftMediaProject/opus · GitHubUnofficial Opus with added custom native Visual Studio project build tools. Opus: Opus is a totally open, royalty-free, highly versatile audio codec. - Releases · ShiftMediaProject/opushttps://github.com/ShiftMediaProject/opus/releases

下载 DLL 文件后,将其放置在 Python 虚拟环境的 Scripts 目录下,或者将其路径添加到系统的环境变量 PATH 中,以确保 Python 能够找到并加载该 DLL 文件。例如,可以将 DLL 文件放在 venv/Scripts 目录下。

然后这里在线再安装一个库

pip install opuslib_next


安装完成后用

python -c "import opuslib_next"

验证安装成功是否,如果验证成功,就不会报错,否组会报错


继续执行py app.py

跳过了前面的报错,一个新的ffmpeg的报错信息。

哈哈哈,这个就简单了。直接下载安装

Download FFmpeghttps://ffmpeg.org/download.html

记得安装gyan.dev版本。

安装到默认目录,然后把环境变量加进去就好了。

再次执行主程序,依赖就没有问题了,下来是配置项目

差不多了,然后按照教程配置好配置文件,就好了,测试没问题。


http://www.xdnf.cn/news/6732.html

相关文章:

  • 从实模式到保护模式
  • 基于LTE帧结构参数的F-OFDM仿真
  • 刻录光盘--和炸铁路,tarjan
  • MGX:多智能体管理开发流程
  • 动态范围调整(SEF算法实现)
  • 在多个SpringBoot程序中./相对路径下隐患、文件覆盖问题
  • CSS- 2.1 实战之图文混排、表格、表单、学校官网一级导航栏
  • 基于51单片机和8X8点阵屏、矩阵按键的记忆类小游戏
  • C语言文件操作
  • 第八章 模板项目生成
  • Nextjs首屏加载速度性能从80分优化到98分
  • Qt控件:交互控件
  • PT2020 20触控I2C输出IC
  • 时频分析的应用—外部信号的显影和定点清除
  • 第三部分:内容安全(第十六章:网络型攻击防范技术、第十七章:反病毒、第十八章:入侵检测/防御系统(IDS/IPS))
  • 第J1周:ResNet-50算法实战与解析
  • C语言图案代码大全:从基础到高级
  • 院校机试刷题第四天:1911反转公约数、1702十六进制不进位加法
  • PR-2021
  • ADC深入——SNR、SFDR、ENOB等概念
  • 深入浅出拆分学习,图神经网络拆分学习,混合联邦学习
  • 网络攻防模拟:城市安全 “数字预演”
  • 14 C 语言浮点类型详解:类型精度、表示形式、字面量后缀、格式化输出、容差判断、存储机制
  • AlphaEvolve:基于Gemini的算法发现与优化综合报告
  • AI在线写作平台:AnKo引领未来创作新潮流!
  • 分析主流编程语言中哪些为支持面向对象的语言
  • 什么是实景VR?实景VR应用场景
  • 如何早期识别帕金森病?
  • 《图解 TCP/IP》笔记
  • 安科瑞DJSF1352-D直流电能表:破解充电桩计量难题