在Scratch 3.0中,亚马逊为Scratch供应了“笔墨朗读”扩展积木。
利用这些积木,我们可以编写Scratch程序将一串笔墨转化针言音,类似于智好手机上电子书APP的听书功能,或者***APP的听***功能。

少儿编程|Scratch实例10:AI人工智能让你的文字自己变成语音_积木_脚色 计算机

亚马逊的英语文本朗读已经十分出色,基本上听不出是机器在朗读。
当前亚马逊支持14种措辞,包括英语、法语、德语、日语等,只要你能供应相应措辞的笔墨,它们就能被自动朗读出来。

本文我们将从经典的教材书新观点英语取一个例子,仿照一段英文对话,并且将对话内容以语音朗读出来,形成一个英语传授教化动画。

***中的语音都是电脑自动将笔墨转换而成,不是编程时录入的真人音

下面是新观点英语第一册的第一课,选取该篇纯粹是由于取材便利,你也可以用其他的英语对话替代。

Excuse me!

对不起

Yes?

什么事?

Is this your handbag?

这是您的手提包吗?

Pardon?

对不起,请再说一遍

Is this your handbag?

这是您的手提包吗?

Yes, it is.

是的,是我的。

Thank you very much.

非常感谢!

这是两个人之间的对话,内容是A捡到一个手提包并返还给失落主B的大略过程。

00 软件剖析

需求解释:

01 引入扩展积木

点击左下角的【添加扩展】按钮,在新打开的页面中找到【笔墨朗读】,点击它。
页面会回到Scratch主页面,把稳不雅观察左侧的代码积木栏,新增了【Text to Speech】分类,右侧增加了3个绿色的积木。

02 添加角色

添加2个角色,把稳要一个男一个女,这样做是为了能够清晰区分对边的双方,也是为了试用新积木功能的须要。

删除默认的小猫角色。

角色的朝向

添加Abby和Devin两个角色后,发生一个问题,我们能够想到,对话双方该当是面对面的,可是我们的这两个角色面向同一个方向。
以是,须要优化,这是一个之前没有讲解过的内容,也是Scratch 3.0新增的操作方法,请把稳不雅观看和考试测验操作,并且与以前讲解的角色“面向xx方向”积木作比较,理解角色翻转与角色面向的差异。

03 调度角色的大小

将角色调度到得当的大小和位置。

04 改换舞台背景

按照你自己的喜好,将默认的舞台背景更换成得当的背景图。

我选择的是背景库“户外——Metro”。

05 笔墨朗读积木讲解

编码前,我们先来理解下这些新积木的用法,工欲善其事必先利其器。

1、朗读:朗读输入框中的文本

2、设置嗓音:默认的“中音”是个温顺的女声,“男高音”听起来也挺好,剩下3个大家自己感想熏染下吧~

3、设置措辞:这里的措辞设置该当和【朗读__】积木中的笔墨同等。
但是,你也可以填写英文句子却把朗读措辞设置成日语,听听日式英语也别有一番风味

须要把稳的是,笔墨朗读功能暂时不支持中文,略有遗憾,希望亚马逊在后续可以增加朗读中文。

06 角色编码

对话是从拾金不昧的那个人开始的,由于他捡到的是手提包,以是,丢东西的是女角色,捡到东西的是男角色。

第一句话是男说的,第二句是女说的……以此类推。

代码有几点须要把稳:

1、设置两个角色利用不同的嗓音,便于在机器朗读中区分先后顺序

2、对话的双方一问一答,在A说话时B该当等待,反过来亦然。
如上的等待2秒。
如果单句话韶光长,那么对方等待的韶光也应相应增加

3、对话结束后,外不雅观积木【说___】的输入框不要写任何内容,也可以说成把输入框置空,这样可以使得角色上不会一贯勾留末了一句的内容。
你可以删除这个积木,比拟不雅观察效果

现在就试用一下吧~~

07 初版程序存在的问题

上面的程序运行完备符合预期,不过,如果你仔细思考会创造它仍旧存在一些不足“美”的地方:

1、对话内容是固定的(软件行业的术语是“硬编码”),如果你想让Scratch帮我们阅读另一个英语对话,那么,只能重新编写一个程序

2、两个角色的对话过程中,句子和句子须要相互等待,也便是上面多次重复的【等待2秒】积木,如果碰着轻微长一些的句子,还须要多次修正这个韶光使得它在高下句中恰好得当。
这个办法太笨重了,觉得不是程序在为我们做事,而是我们在给程序“打工”

基于此,我们优化代码,发布第二版程序——version 2.0。

08 优化代码 程序第二版

首先,改进对话内容的存储办法。

将对话内容从保存在多少【朗读__】积木到保存到列表中。
(关于“列表”的知识可查阅《【Scratch工具先容】数据积木》)

再增加一个变量用于保存当前朗读到了第几条对话内容。

须要提醒大家的是,初始化“对话列表”有两种办法:1)点击舞台上的列表左下角+号,逐条手工添加对话,2)提前在纯文本***文件中准备好对话内容,然后右键点击舞台上的对话列表,import导入文件的内容

然后,借助“广播”,A说完一句后见告B说

我们以前说过“广播”是非常主要的机制,尤其是在多角色互助时。
本程序场景便是一个很好的例子。
(关于“广播”的知识可查阅《Scratch编程 | 事宜积木》)

不多阐明了,直接上代码:

经由改造,第二版将兼容大部分二人对话的场景。
当须要实现新的英文对话时,只要清空对话列表,然后导入新的对话内容即可,不须要修正任何代码。
这也表示了“列表”给编程带来的巨大灵巧性。

09 落成!
运行程序

至此,我们完成了“需求解释”中的全部内容。

点击舞台左上角的小旌旗运行程序,看看效果吧。

附加练习对话内容中提到了“手提包”,请增加一个角色,并根据对话内容将手提包从拾到者转移到丢失者找一篇你正在学习的英文对话,更换对话内容增加两个按钮【停息/连续】和【重说上一句】,实现类似复读机的功能,让我们的程序成为赞助英语传授教化的好工具

tag:#Scratch编程、#少儿编程、#儿童编程、#意见意义编程、#青少年编程、#软件编程