找回密码
 马上注册

QQ登录

只需一步,快速开始

查看: 3838|回复: 2

音乐同步舞蹈--闻乐起舞

[复制链接]
发表于 2018-12-2 19:21:22 | 显示全部楼层 |阅读模式
音乐响起,同步ev3起舞蹈,采用 ev3dev python 编程,主要特点
1.可以在ev3主机上播放大段音乐,数分钟都没问题,得益于操作系统.
2.舞蹈与音乐同步,音乐声起,舞蹈开始,音乐结束,舞蹈终止,节奏符合,节奏感强.



需要改进的地方
1.节奏踏准还需要进一步精准.(如跳过序曲,踩准鼓点)
2.需要进一步分析音乐进而做出不同的动作.
3.马达运动数分钟后没回到原位,逐渐出先偏差,需要纠正.

-----------------源代码-----------------------------------
#!/usr/bin/env python3
from ev3dev2.motor import LargeMotor, OUTPUT_A, OUTPUT_B, SpeedPercent, MoveTank
from ev3dev2.sensor import INPUT_1
from ev3dev2.sensor.lego import TouchSensor
from ev3dev2.led import Leds

import time
import threading
from ev3dev2.sound import Sound
sound = Sound()
sound.set_volume(100)

def music():
   print ('playing start time is:' + time.ctime())
   sound.play_file('./toqiaqia.wav')
   print ('playing over time is:' + time.ctime())

play_thread = threading.Thread(target=music)
m = LargeMotor(OUTPUT_A)

sound.speak('Ladys and gentlman ,Let me show u the dancing now!')
play_thread.setDaemon(True)
play_thread.start()

while play_thread.isAlive():
   m.on_for_seconds(SpeedPercent(25), 0.33,brake=True)
   time.sleep(0.13)
   m.on_for_seconds(SpeedPercent(-25), 0.33,brake=True)
   time.sleep(0.13)
   print ("time Now:" + time.ctime())

sound.speak('playing over thank you!')
print ("all over time:" + time.ctime())



如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
发表于 2018-12-3 14:44:23 | 显示全部楼层
源代码如何下载到EV3主机
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

 楼主| 发表于 2018-12-4 17:28:51 | 显示全部楼层
LEGAO赵老师 发表于 2018-12-3 14:44
源代码如何下载到EV3主机

参看前期写的ev3dev 编程方法。
或搜索关键字 ev3dev
ev3dev.org

EV3 开口说话了!!ev3dev python 编程样例 tts 中英文发音
https://bbs.cmnxt.com/forum.php? ... 5&fromuid=37288
(出处: 中文乐高)
不清楚的地方可以再联系提出。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|中文乐高 ( 桂ICP备13001575号-7 )

GMT+8, 2024-6-3 21:11 , Processed in 0.075001 second(s), 19 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表