三、触摸与文件

第9课 触摸弹琴

任务场景:触摸弹琴
任务场景:触摸弹琴

一、任务目标

滑动触摸改变蜂鸣音高:偏离中位就发声,像在简易滑音琴上弹琴。

二、我们要学什么

  • 学习要点:touch_slide 映射到音高:中间死区不响,两侧 map 到 131~988 Hz 再 pitch_time
  • 本课过关:滑动时音调明显变化;能说明死区与 map 音高范围。
  • 示例对齐:体验与完整代码对应「10-01 触摸弹琴」。

三、本节要点

本节用蜂鸣 + 滑动做声音交互:音高由触摸决定,不采集环境声。

1读场景滑动画音高
2对要点死区 + map
3载入运行官方示例积木/代码

四、解题思路

  • 输入:touch_slide 滑动值。
  • 输出:onboard_music.pitch_time 短音。
  • 生活对照:电子琴滑音、收音机调台。
  • 验证现象:居中几乎不响;滑向两端音调升高或降低。

本课主要用到:触摸、板载蜂鸣(onboard_music)。

  1. 1明确任务「触摸弹琴」:滑动定音高。
  2. 2判断滑动是否离开 -3~3 死区。
  3. 3math_map 到 131~988,再 pitch_time(X, 10)。
  4. 4循环检测,持续跟手发声。

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

任务:触摸弹琴读滑动值死区判断与 mappitch_time 发声

五、图形块功能讲解

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

图形块分类作用本课用法
触摸滑动
板载传感连续滑动值。体验:定音高。
音调发声
板载执行按频率响一段时间。体验:pitch_time。
映射
数学线性映射数值。体验:滑动→频率。

六、知识点讲解

本课的「声音」来自蜂鸣器被程序驱动,由触摸决定音高——不是用麦克风听环境声,更不是录音回放。

死区

中间一小段 |slide|<3 不发声,避免噪声抖动一直响。

音高映射

131~988 Hz 覆盖低音到高音的一段;map 错了会又尖又难听或几乎听不见。

短音跟手

pitch_time(..., 10) 每次只响很短,主循环快刷,听感就像连续滑音。

  • 本课输入是触摸滑动,输出是蜂鸣音高,不要写成麦克风采集。
  • 过关:居中安静、两侧有音高变化,并能指出死区判断那一行。

先听清「谁在响」(蜂鸣),再调滑动。

七、编程练习

点「载入」打开 MixVM(board=mixgo_zero_design)。在 Mixly 工具栏点「运行 / 停止」,「检查」做关键字核对。请先读本页「四、解题思路」与「五、图形块功能讲解」,再点载入。

官方示例:10-01-输入输出-触摸弹琴.mix。载入后运行。

八、课堂练习

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

  1. 判断:本课用麦克风把音量画到点阵上。

  2. 判断:体验靠触摸键触发蜂鸣。

  3. 本课声音来自?

  4. 为什么不叫「看见声音」?

九、本节小结

记住:用触摸弹琴学声音输出,不要假装有麦克风。