三、声音传奇

第11课 录音采集

任务场景:录音采集
任务场景:录音采集

一、任务目标

理解边测音量边写入文件,能采一段后重现,让点阵走势对上刚才的大声/小声,并能说明文件里存的是什么。

二、我们要学什么

  • 学习要点:按一次 1号按键 完成开灯、打开文件、采样、画柱、写入、关闭
  • 本课过关:能采完一截并生成文件;完整代码能打开同一文件把曲线再画出来。
  • 示例对齐:体验题对应 「3-3-1 录音采集」;完整代码对应 「3-3-2 录音采集」。

三、本节要点

本节 = 看见声音 + 文件写入。采样 for 必须套在 1号按键 打开文件之后;映射上限同样用 4095。

1读场景明确真实任务
2对要点按 1号按键 采样并写入
3载入运行兴趣课程积木/代码

四、解题思路

  • 输入:1号按键 开始采集;声音量。
  • 输出:点阵列高 + /test.txt 里的数值。
  • 生活对照:按一下录音键,录完自动停。
  • 验证现象:按一次采固定次数(体验 200 次)后 LED 灭、文件关闭。

本课主要用到:声音传感、点阵屏、文件、LED、按键。

  1. 1明确任务「录音采集」:按一次采一段,不是一直录。
  2. 21号按键 内:开灯、open、for 采样、映射画柱、write、close、关灯。
  3. 3映射 fromHigh 用 4095;不要改采样次数去凑范围。
  4. 4载入后按一次 1号按键 看是否自动结束。

流程示意(可对照左侧文字)

任务:录音采集1号按键 内:开灯、open、for 采样、映射画柱、write、clo映射 fromHigh 用 4095载入后按一次 1号按键 看是否自动结束

五、图形块功能讲解

下面只列出本课首次出现的 Mixly 图形块(真积木截图)。已在前面课讲过的不再重复;先认新块,再点「载入」对照拖搭。

图形块分类作用本课用法
尝试执行
控制捕获运行错误并保证收尾代码执行。本课体验与完整代码都未套 try/finally;关闭文件靠 close。载入后可在工具箱对照。

六、知识点讲解

录音采集 = 边测音量边写入文件。停下来后还能打开同一份文件,把当时的响度曲线重新画出来或回放,不怕一断电变量就丢。采的是响度序列,不是歌曲文件:每一拍把 soundlevel(或映射后的高度)写成一行。回放时按同样间隔读出来画点阵,看起来像「声音又走了一遍」。它不是扬声器播放 MP3,而是把「多吵」这件事记下来。采集与重现成对出现:体验题侧重采;完整代码「录音重现」把文件再读回显示。两边必须约定同一格式:一行一个数、同一套映射,否则重现会错位或画飞。出错也要关掉文件:本课新块「尝试执行」保证中间报错也能走到收尾:文件仍 close、灯仍关掉。采集循环一长,更要防止文件句柄漏关。

对照与过关:采样太密文件巨大、太稀会丢失拍手的峰。先固定延时,再对比重现是否像当时那一声。按键负责「开始采 / 停止采」,与文件的 open/close 对齐:开始才打开,停止才关闭。采一段后重现,点阵走势能对上刚才的大声/小声,并能说明文件里存的是什么。先分清「采集写入」和「读出重现」,再载入示例对照点阵与文件。

七、编程练习

点「载入」打开 MixVM(board=mini_design)。默认图形化积木;起步程序与积木均来自 MixGo MINI 兴趣课程/学期2。在 Mixly 工具栏点「运行 / 停止」,「检查」做关键字核对。请先读本页「四、解题思路」与「五、图形块功能讲解」,再点载入。

兴趣课程:3-3-1 录音采集.mix。载入后运行。

八、课堂练习

先完成两道判断题,再完成选择题;全部选定后点「检查」。

  1. 判断:写文件的 for 可以放在 if 1号按键 外面,反正稍后会 open。

  2. 判断:体验题按一次 1号按键 采集固定次数后关闭文件。

  3. 本课写入文件的是?

  4. 仿真里把音量映射成柱高,fromHigh 应对齐?

九、本节小结

本课主题是录音采集:按一次1号按键完成开灯、打开文件、采样、画柱、写入、关闭。体验程序能采完一截并生成文件;完整程序能打开同一文件把曲线再画出来。