女儿:爸爸,汤姆猫你玩过没?
爸爸:爸爸小时候可喜欢看<猫和老鼠>了,我记得里面那个笨猫就叫汤姆,总是想抓聪明的杰瑞,却总是害到自己。bla…bla…
女儿:不是!我是说那个可以学我说话的汤姆猫,在手机上的!
爸爸:哦,好像是有这么个app。
女儿:对,就是那个app。但是它的广告好多,每次都会误点,特别烦人。您能给我做一个一样的属于我的汤姆猫吗?没广告的!
爸爸:嗯… 这个容易,马上给你做一个。
<思路>
- 这个跟前几天做的变声话筒类似,唯一区别是把回声器换成延时器就可以了。相当于录到的声音等一个固定的时长再播放出来。
- 由于延时器可以支持float数据格式,所以可以把格式转换器去掉。
<代码实现>
由于这版思路图跟<系列之一>的区别仅仅在于RouteB中加了一个延时器,那么利用lkdb
,完全可以在运行MyEngineerDaddy_1
的实时对路由进行修改,实时产生效果,而不用重新修改代码重新编译运行。
先运行MyEngineerDaddy_1
,此时录音出声。查看路由状态:
$ lkdb status
RouteB is RUNNING, 145 frames processed OK, 0 error frame
blkpacapture_0
(O00) --> lnk_0 16000Hz FLOAT_LE 1ch 320samples/frame
blkstreamout_0
(I00) <-- lnk_0 16000Hz FLOAT_LE 1ch 320samples/frame
RouteA is RUNNING, 144 frames processed OK, 0 error frame
blkstreamin_0
(O00) --> lnk_0 16000Hz FLOAT_LE 1ch 320samples/frame
blksoundtouch_0
(I00) <-- lnk_0 16000Hz FLOAT_LE 1ch 320samples/frame
(O00) --> lnk_1 16000Hz FLOAT_LE 1ch 1040samples/frame
blkpaplayback_0