Skip to content

Latest commit

 

History

History
31 lines (25 loc) · 1.19 KB

README.md

File metadata and controls

31 lines (25 loc) · 1.19 KB

基于深度学习的智能钢琴演奏机器人-服务端

姊妹项目

基于深度学习的智能钢琴演奏机器人-客户端 https://github.com/ElderBacon/Pyanist-Client

软件环境

Linux Ubuntu 20.04 LTS

硬件环境

Intel Core i3-10100

NVIDIA T600 GPU

实现功能

接受由客户端传入的图片,并使用 Paddle OCR 对图片进行识别,得到音符信息并传回客户端

实现步骤

  1. 与服务器之间建立Socket连接
  2. 接收客户端发送的图片
  3. 使用 Paddle OCR 对图片进行识别
  4. 将信息以字符串的形式返回给客户端

实现细节

  1. 使用Socket进行传输时容易产生误码,故加入了信息大小的检查作为校验,可在包中加入更多信息来确保传输的正确
  2. 服务端直接调用 Python.h 头文件失败,故采用手动连接字符串方式来调用
  3. executeCMD 函数用于执行系统命令,同时可读取终端中的输出并保存起来
  4. 将收到的文件用日期命名,以免文件重名的同时还能方便管理

性能表现

使用GPU进行预测,单张乐谱时间在2秒左右,若采用CPU运算,性能显著降低。正在考虑能否部署至FPGA上

演示视频

待续