我的香橙派闹钟-v0.1 mini

项目描述

想要做一个闹钟,然后一步一步完善。 毕竟想做很久了,所以总归算是填坑吧

手头的香橙派装的Ubuntu18.04 应该是

记录下来主要怕这老爷车零部件每一步都是临时凑出来的之后哪个部件想不起来就G了

目前的定时方案

使用的是crontab做的定时方案使用的命令是

复制代码
crontab -e

被#注释的东西不必在意,目前只做了一个任务

当时的参考文章,后期找到了高级用法,有空看看 ,感觉能用到

bash 复制代码
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
#
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').
#
# Notice that tasks will be started based on the cron's system
# daemon's notion of time and timezones.
#
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
#
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
50 7 * * 1-5 python /home/orangepi/code/alarm/play.py
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h  dom mon dow   command

显然,命令的意思是周一到周五每天早上执行python play. 比如这周要变成周一到周六,那么1-5改成1-6。真是个悲伤的故事。。。。

python 播放音乐

我的python文件路径是"/home/orangepi/code/alarm/play.py",mp3或者说音频文件存放的路径是"/home/orangepi/code/alarm/mp3"

overpath是用百度paddle生成的一段早安音频

python 复制代码
import time
import pygame
import os
from mutagen.mp3 import MP3

# def play_music(filep) :
list1=os.listdir(r"/home/orangepi/code/alarm/mp3")
list2 = []
for i in list1:
    s=os.path.join(r"/home/orangepi/code/alarm/mp3",i)
    list2.append(s)

morningPath = os.path.join(r"/home/orangepi/code/voice", r"morning.wav")
overPath = os.path.join(r"/home/orangepi/code/voice", r"over.wav")
# 初始化
pygame.mixer.init()
# 加载音乐
pygame.mixer.music.load(overPath)
# 音量设置
pygame.mixer.music.set_volume(80)
# 播放音乐
pygame.mixer.music.play()
# 播放时间
time.sleep(10)

for n in list2:
    # 获取每一首歌的时长
    audio = MP3(n)
    pygame.mixer.init()
    path = n
    pygame.mixer.music.load(path)
    pygame.mixer.music.play()
    time.sleep(int(audio.info.length))

# 关闭音乐

pygame.mixer.music.stop()

早安音频生成

overpath是用百度paddle生成的一段早安音频,

既然用了,这里就挂个广告吧,不过我在香橙派上部署的cpu的,等以后装个主机挂个GPU,在服务器上跑应该会更好。目前只能说,,,能用。且免费。

shell 复制代码
git clone https://github.com/PaddlePaddle/PaddleSpeech.git
cd PaddleSpeech
pip install pytest-runner
pip install .

安装好了之后调用语句是这样的:

bash 复制代码
paddlespeech tts --input "主人,再不起床人家会伤心的" --output over.wav

当然默认生成的是巨平淡的电子音,以后有空专门调校一下这个,看看有没有有意思的。

TBD

下一步做一个Web服务器,可以局域网往上面传音乐,局域网网页关闭音乐播放和打开音乐播放。改响铃时间。

相关推荐
星恒随风12 小时前
MySQL 从零入门(五):MySQL 内置函数详解——日期、字符串、数学函数与实战案例
linux·数据库·笔记·sql·mysql
菥蓂寻生12 小时前
STM32移植到GD32中以105为例
stm32·单片机·嵌入式硬件
投图匠13 小时前
十种不同风格的 CTP接口 框架
开发语言·python
2601_9679801114 小时前
深入理解词向量算法及其在Python中的实践
python·word2vec·glove·fasttext·词向量
129Lab15 小时前
电池循环测试数据自动化分析:用Python+AI工具构建一键式寿命评估流水线
python·数据分析·电池测试·数据自动化·寿命评估
treasure14015 小时前
【复古】浅尝Django前后端不分离
前端·css·python·django·bootstrap·html·web
Dmz丶16 小时前
前端转 AI 100 天 Day 44:前端集成实战——用 React 给 Agent 做个正式界面
python
唐墨12316 小时前
linux kernel 比较数据大小的宏定义
linux·算法
jay神16 小时前
基于 YOLOv8 的手势识别系统(Web 版)
前端·人工智能·python·深度学习·yolo·计算机视觉·计算机毕业设计
程序开发阿元16 小时前
密码不进工具:一个独立开发者的服务器凭据管理办法
linux·ssh