众所周知,我是一个音乐老师(手动狗头)。
所以平常经常给学生布置作业,而且都是以乐理题与听力音频为主。
因为Aurality搭建的还比较顺利,所以作业布置方面也还算简单。
我之前布置作业的时候都是直接在微信发送文件,特别是wav格式的音频。发一次就是几百兆的大小,而且垃圾微信的存储管理也是非常反人类的。很快各种电子设备的存储空间都会被塞满。
所以一个方便快捷不占空间的布置作业流程是必不可少了。
大致思路
首先这些作业很大一部分具有共通性,不同的学生之间可以复用。于是我每制作出一类题,都写个文档进行存储。
- 编号:编号我使用时间戳生成的,这是橙子哥交给我的好办法。这样给学生布置作业的时候只需要甩出一个编号,学生就可以在网站里进行搜索,找到这个题。
- 录音文件获取:这里提供的是一个网盘的链接,下文再提到。
- 相关信息:这里是这个题型的相关信息。其实说实话,我这个有点搞反了,因为我自己在找题的时候,看着侧边栏的标题不知道是啥。我应该侧边栏的标题表示题型,然后正文里面写编号方便索引~
alist
我之前用zfile搭了一个网盘程序,但就是在搞这个的时候掉链子了。于是猫哥给我推荐了alist,这个说真的比zfile的界面要好看一些,特别是视频、音频播放的界面做的比较完善,还有很友好的下载按钮。唯一觉得美中不足的地方就是没有短链接的生成,在生成链接的时候链接有点长。
不过话说回来,万一以后重新搭建,短连接应该是会变的,直链应该是固定的。所以相对来说还是有保障一点。
关于音频处理
网盘也弄好了,接下来就是怎么去填充内容了。
如果是PDF的话那就很简单,只需要把资源弄上去就行。但是通过logic pro导出的音频都是wav格式的,我还需要转成mp3。
其实在本地也有解决办法,我可以利用docker构建一个handbrake的容器,接着设置一下监控文件夹之类的就行。
不过我还是有点犯懒了,特别是腾讯云的数据万象非常方便的情况下。
设置好之后把音频文件扔到NAS里,接着NAS的cloud sync套件自动上传到腾讯云的存储桶,然后工作流启动,接着就会转码成功,最后又会同步到网盘上。
唯一需要手动操作的就是需要删除源文件,不知道有没有什么方便的方法。
! 不多说了 希望Aurality快点写完善,好好的生成一些完整的题目。
5 条评论
一个技术流的音乐老师,赞赞赞。
哈哈哈哈 而且alist很赞诶 作者响应的速度很快 一直在做版本优化 感觉是个很不错的网盘程序
嗯嗯,其实我也在用alist,感觉也符合我个人的审美。
可以通过配置回调,在本地起一个服务,在转码成功后接受信息执行删除文件操作
class Item(BaseModel): EventName: str WorkflowExecution: dict @app.post("/") def read_post(item: Item): work_flow = item.WorkflowExecution if work_flow.get("State") == "Success": file = os.path.basename(work_flow.get("Object")) os.remove(os.path.join(wav_path, file)) return {"message": "ok"}支持markdown?用fastapi做了一个简单的回调处理
你太棒了! 我去研究一下!