8 岁以上 · 入门 · Scratch
声音调音师:让 AI 听出你唱的音
Voice Tuner
Scratch 会随机弹出一个音,你的任务是用嘴巴哼或唱出同一个音。一个 AI 模型会「听」你的声音,判断你唱的是哪个音。你还会顺带搞清楚:这个会听音的 AI,当初是用谁的声音、怎么训练出来的。
🧠背后的 AI 概念
这次你用的是一个已经训练好的现成模型(叫 SPICE),它能从声音里估计出音高。你会读它的「模型卡」——开发者用来说明「这个 AI 是用什么数据、怎么训练出来的」的一份说明。把这些信息透明地公开,是负责任地使用 AI 的好习惯。(有趣的是,这个模型是用一千段研究人员唱中文卡拉 OK 的录音训练出来的!)
动手教程
打开浏览器,访问 machinelearningforkids.co.uk/scratch,这是 Machine Learning for Kids 提供的特别版 Scratch 编辑器。
点击页面上的「Project templates」(项目模板)。
在模板列表里找到并点击「Voice Tuner」,耐心等项目下载、载入完成。
点击绿旗(Green Flag)开始:Scratch 会随机挑选一个音符并播放给你听。你的任务就是对着麦克风,用嘴巴哼出或唱出同一个音。
想知道这个随机音符是怎么选出来、怎么播放的?点开「target」角色看看它的代码,可以先让孩子猜一猜再对照。
点击「measure」角色,接下来的代码都写在这个角色里。
照 worksheet 里的截图搭第一段代码:用一个「当按下 M 键」的事件积木,让 Scratch 在你按下键盘 M 键时开始听你的哼唱。也可以换成你喜欢的其他键——选 M 是因为它是 Music(音乐)的首字母。
继续照 worksheet 的截图搭第二段代码,让 AI 模型分析听到的声音并判断音高。截图里的注释(comments)只是帮你理解代码用的,可以不用输入。
动手试一试!点绿旗让 Scratch 选一个新音符并播放它,然后按下 M 键让 Scratch 开始聆听,对着麦克风哼或唱出这个音,看看 AI 判断得对不对。
在开始下一步之前,先和孩子猜一猜:你觉得训练这个模型,一共收集了多少段真人唱歌的录音?这些录音可能是怎么收集到的?把你们的猜测写下来,一会儿对照答案。
新开一个浏览器窗口,访问 ibm.biz/spiceml。这个会听音高的模型叫 SPICE,这个网页是它的「模型卡(model card)」——模型的创建者公开说明「它是怎么做出来的」的地方。
和孩子一起读一读模型卡。模型卡有点复杂,看不懂全部完全没关系,但可以找到几条有趣的信息:比如最初创建它的研究者的名字;它被训练来识别「单个清唱人声、没有背景音乐」的音高;以及它是用什么训练数据、怎么训练出来的。
在模型卡中找到训练集 MIR-1k 的说明(也可以访问 paperswithcode.com/dataset/mir-1k 进一步了解):它包含一千段计算机研究人员在卡拉 OK 里唱中文歌的录音!和刚才写下的猜测比一比,你们猜得接近吗?
准备好动手了?
跟着上面的中文教程一步步做;英文原版 worksheet 可留作对照。