2025-08-10 17:17:20 +08:00
2025-08-10 17:17:20 +08:00
2025-08-10 17:17:20 +08:00
2025-08-10 17:17:20 +08:00
2025-08-10 17:17:20 +08:00
2025-07-13 22:06:09 +08:00
2025-08-10 17:17:20 +08:00
2025-08-03 21:35:30 +08:00
t2v
2025-08-08 17:26:38 +08:00
2025-07-13 22:06:09 +08:00
2023-10-24 14:25:11 +00:00
2021-02-01 09:47:19 +08:00
2025-07-22 13:03:05 +00:00
req
2025-07-26 13:03:10 +08:00
2023-05-28 11:40:11 +08:00
2023-05-28 11:40:11 +08:00
2023-10-24 14:25:11 +00:00
2025-06-28 14:13:50 +08:00
2025-08-10 17:17:20 +08:00
2025-08-10 17:17:20 +08:00
2022-03-22 13:48:07 +00:00

YiWa

介绍

  • 伊瓦(伊娃&瓦力),用于家庭数据展示和语音手势交互(如:儿童奖励表,幼童算数,搜索图片,俄罗斯方块等);
  • 建议设备4G内存及以上配置笔记本或平板电脑需要Ubuntu系统语音和手势识别、短文本语义匹配本地化运行未调接口。
  • 借助Flask框架蓝图功能实现插件化开发未来将做成一个功能插件商店可购买安装优质插件功能内容。
  • 技术基础Flask、SQLite、HTML、jQuery易于开发。内含不同技术示例各个技术阶段的都能开发自己的功能。
  • 大家可以fork自行增加不同领域的专业内容进行孵化或幼教机构将其改造为青少年Python学习项目。
  • 支持Ubuntu, Deepin, Fedora, Mac等类Unix系统下调试开发运行, 不支持Windows.

Python版本

分支版本 Python版本 成功运行
<=v0.4 Python3.6 Ubuntu18.10
>v0.4 Python3.8 Ubuntu20.04

截图

  • 语音状态

语音状态

  • 指令目录

指令目录

  • 俄罗斯方块(支持手势操作) 俄罗斯方块

实现逻辑

  • 接收麦克风语音本地离线匹配唤醒词YiWa
  • 唤醒后继续接收麦克风指令,本地语音识别,转换成文字;
  • 接着分应用范围向量搜索匹配指令,匹配成功后,再做文本模糊相似性比对;
  • 命中指令后操作浏览器跳转指令对应url地址实现数据展示
  • 同时指令和手势配置关联页面动作实现语音控制页面动作;

主要技术清单

模块 技术、模型 备注
依赖库管理 pip
虚拟环境 virtualenv
Web框架 flask https://dormousehole.readthedocs.io/en/1.1.2/
前端页面 jinja2+html+jquery
数据库 sqlite
缓存 memcache
页面自动化 playwright https://playwright.nodejs.cn/python/docs/library
语音唤醒 snowboy https://pypi.org/project/snowboy/
语音识别 asr_abc[pytorch]、whisper-tiny https://github.com/glynpu/asr_abc
短文本匹配 text2vec[transformers]、
faiss[sentence_transformers]
https://gitee.com/hf-models/text2vec-base-chinese
手势方向识别 mediapipe api/gdr/_mediapipe.py
二维码 qrcode
文本播报 kokoro-zh-v1.1 已测试,暂未加入,流式耗费资源较高

安装 详见Wiki

  • 安装依赖 pip install -r requirements.txt -i http://mirrors.aliyun.com/pypi/simple
  • 浏览器自动化 playwright install chromium 安装速度可能比较慢;
  • 注意snowboy的安装(建议找下载速度较快的gitee搬运仓库)参考这里

启动运行,详见Wiki

  • python3 web.py
  • python3 yiwa.py
  • 启动无误后,对着麦克风说YiWa激活,显示所有指令查看已支持的功能指令;

本地开发概述,详见Wiki

  • 最好基于类Linux系统开发DebianUbuntuFedoraMacOS
  • 可开发基于Flask的插件页面插件以独包形式放入apps文件夹下
    • 插件必需包含configs.py配置文件
    • 指定必需的参数:APPID :str, APPNAME :str, COMMANDS :dict
  • 插件的__init__.py文件必需导入其他flask页面文件参考已存在的插件包。
  • 插件包的静态文件放入各自包里
  • 约定:
    • 插件必需以单独文件夹形式放入apps文件夹中
    • 插件文件夹根目录必需包含自我介绍的配置文件configs.py文件

TODO

  • 小学算术11位数以内加减乘除可设置
  • 汉字笔顺(可设置字体和内容)
  • 随机出一张喜欢的图,照着画画,按照自己的想象去创意(后台可自行配置关键词)
  • 做个在线升级和安装apps的功能备份本地apps从gitee拉取代码替换apps重启服务。
  • 高德地图通勤(跨省/市,后台可设置)
  • 时间线功能适配包含远古时代二叠纪、侏罗纪、白垩纪中国历史编年线中国古诗词诗人所在年代line
  • 贪吃蛇(语音控制:前后左右,调头[近食物],停下[按时缩短],加速,跳过,隐身,自动;
    • 设置:食物个数,食物种类和增长点,穿墙,穿过自身,障碍物,老鹰飞过等;其他:长度排名[时间点|长度]
  • 俄罗斯方块游戏,参考这里,谢谢
  • 会优先做一个猜水果游戏[苹果、茄子、双星等],在家里和孩子一起玩。
  • 人生剩余时间倒计时
  • 出门提醒清单(后台可配置)
  • 相册轮播(后台管理本地图片)
  • 会试着用docker来解决部署过于麻烦的问题。
  • 可能哪天会结束这个项目的更新,我还有很多没学,很多想法需要时间实现,很多有趣和必须要做的事情等着我;
  • 这里我只是做一个小平台,提供一个思路,希望能够为大家所用。
Description
伊瓦yiwa,家庭语音控制"假机器人",语音转屏幕页面指令动作,用于家庭数据展示和语音交互,4G内存及以上配置笔记本或平板,借助Flask框架蓝图功能实现插件化开发,技术基础(Flask、SQLite、HTML、jQuery),易于开发。可fork自行增加不同领域插件,或毕业设计,或幼教机构青少年Python学习项目。
Readme GPL-2.0 311 MiB
Languages
Python 51.3%
JavaScript 28.5%
HTML 14.3%
CSS 5.8%