当前位置:创意手工网>创意手工>电子DIY>

手把手教你用树莓派打造宇宙翻译机【转译】手工电子DIY教程

电子DIY 阅读(2W)

手把手教你用树莓派打造宇宙翻译机【转译】

宇宙翻译机非常适合在周末时制作,它可以教你如何运用一些非常强大的工具来打造一些可立即使用的东西。喔,还有,它也超好玩的。【转译】

主要材料

  Raspberry Pi单板电脑  SD卡,4GB以上
  USB耳机  电池组
  无线USB插座(非必要)

所需工具:

  USB键盘  HDMI显示器:用于跟Raspberry Pi交互。
  能上网的电脑:用来建立免费线上帐号与宇宙翻译机交互。

制作步骤:

第1步:

手把手教你用树莓派打造宇宙翻译机【转译】 第2张

设定Raspberry Pi和下载软件

第2步:

手把手教你用树莓派打造宇宙翻译机【转译】 第3张

如果你的Raspberry Pi还没准备好运行,可以参考Raspberry Pi网站提供的教学:

确认Raspberry Pi有网络连线。如果没有现成的以太网连接,可以用USB Wi-Fi接收器来连线网络。

从指令行执行以下两个指令来更新Raspberry Pi的软件:

从指令行执行以下两个指令来更新Raspberry Pi的软件:
1.
apt-get update
3.
apt-get upgrade
5.
这个程序可能需要一些时间。

用以下的指令安装这个项目需要的软件:
1.
apt-get install python-pip mplayer flac python2.7-dev libcurl4-gnutls-dev
3.
pip install requests pycurl
5.
注:这个项目在截稿前经过最新版Raspbian的测试。请注意随着软件的更新产生的变化。如果要比较你的版本和我们测试的版本,可以从指令行:
@raspberrypi ~ $ uname -a
2.
x raspberrypi 3.12.22+ #691 PREEMPT Wed Jun 18 18:29:58
BST 2014 armv6l GNU/Linux执行 uname -a。
4.

第3步:

手把手教你用树莓派打造宇宙翻译机【转译】 第4张

设定及测试耳机

第4步:

手把手教你用树莓派打造宇宙翻译机【转译】 第5张

第5步:

手把手教你用树莓派打造宇宙翻译机【转译】 第6张

插入USB耳机(必要时可使用供电USB集线器)。
执行以下的指令,它们会列出你的音效装置:

1.
/proc/asound/cards
3.
/proc/asound/modules
5.
这时候应该可以看到罗技耳机被列为card 1。第二个指令会显示card 0(预设输出)的驱动程序是snd_bcm2835,也就是Raspberry Pi的类比音效输出。card 1(我们的罗技耳机)的驱动程序是snd_usb_audio。如果没有看到耳机被列出来,可以尝试重新启动:

1.
reboot
3.
为了把USB耳机设定成预设的音效输入和输出,我们需要更新ALSA配置文件。用Nano文字编辑器开启:
1.
nano /etc/modprobe.d/
3.
把这行:
1.
ons snd-usb-audio index=-2
3.
改成这样:

1.
ons snd-usb-audio index=0
3.
用Ctrl-X和输入y来储存并关闭文件,接着用这个指令来重新启动Raspberry Pi:
1.
reboot
3.
重新启动后,音效系统会重新载入,所以再次执行前面的
1.

3.

5.
指令后,应该就会看到USB耳机列为预设 的输入/输出装置(card 0),如上图所示。

用麦克风录5秒钟的片段来测试:
1.
ord -d 5 -r 48000
3.
注:如果看到写着「overrun!!!」的错误提示,可以安心把它忽略。

用耳机的扬声器播放:
1.
y
3.
如果声音有点粗糙也不用担心,因为在下一步会用更高的品质来录制。

若需要调整音量,可以使用内建公用程序alsamixer。这个工具可以处理音效的输入和输出音量:
1.
alsamixer
3.

第6步:

手把手教你用树莓派打造宇宙翻译机【转译】 第7张

下载并撷取源代码

要用Raspberry Pi实现语音识别功能有几种方法,不过我认为这里最适合的方案是借助Google的语音转文字服务。这个服务让我们上传录好的音频文件,然后转换成文字(之后我们会用来翻译)。

项目源代码会帮你处理这个部分。执行以下的指令来下载和撷取文件:
1.

3.
p
5.
PiTranslate-master
7.
注:里面提供Shell和Python程序码。

将语音转文字程序码转换为可执行文件:
1.
chmod +x
3.

第7步:

手把手教你用树莓派打造宇宙翻译机【转译】 第8张

设定Google语音识别API

第8步:

手把手教你用树莓派打造宇宙翻译机【转译】 第9张

要使用Google的语音识别API,必须先注册。登录你的Google帐号并依照以下的步骤进行。

前往并点选「Create Project」。取一个「我的宇宙翻译机」之类的名称,然后点选「Create」。(Google会产生一个随机的项目ID,所以这一ID不用理他。)

在Google的云盘建立你的新项目时,开启新的浏览器分页来加入Chromium-dev Google网上论坛,这样可以存取语音API: #!forum/chromium-dev

回到Google项目分页。如果完成建立项目了,就会看到项目控制面板。点选左边的「APIS & AUTH」并点选「APIs」。接着往下滚动并开启语音API。

一样在项目控制面板,点选左边「APIS & AUTH」下方的「Credentials」,接着点选「Create new Key(建立新密钥)」按钮,并选取「Browser Key(浏览器密钥)」。把允许的访客来源文字栏位留白,并点选「Create」。新产生的API密钥接着会显示在控制面板上。

在Raspberry Pi上开启 文件并找到下面的代码:
1.
= 'xxx'
3.
用控制面板上的密钥取代xxx。为了让这个步骤更容易,可以启动Raspberry Pi的桌面环境(用startx),用网络浏览器Midori登录Google帐号,然后把密钥复制粘贴到文件里。也可以用电脑通过SFTP变更文件。

注:Google的语音API虽然是免费的,它每天只接受50个要求。

第9步:

手把手教你用树莓派打造宇宙翻译机【转译】 第10张

设定微软翻译API

第10步:

手把手教你用树莓派打造宇宙翻译机【转译】 第11张

Google也有翻译API,但我们的项目会用微软提供的服务,因为是免费的。用你的微软帐号登录Azure Marketplace:

点选「注册」按钮来建立新的应用程序。

填写用户ID、应用程序名称和重新导向URI(任何URL都行)。 点选「建立」。

接下来和Google密钥的做法很像,在正确的单引号之间填上用户ID和用户端密码并储存:
1.
= {
3.
4. 'client_id': '',#your client id here
5.
6. 'client_secret': '',#your azure secret here
7.
8. 'scope': '',
9.
10. 'grant_type': 'client_credentials'
11.
12. }
13.

第11步:

手把手教你用树莓派打造宇宙翻译机【转译】 第12张

使用宇宙翻译机

第12步:

手把手教你用树莓派打造宇宙翻译机【转译】 第13张

现在API密钥已经建立完成,也输了代码,就可以来测试宇宙翻译机了。戴上耳机后,执行:
1.
2. ./
3.
对耳机麦克风说话,说完之后按Ctrl-C

接着可以从耳机听到翻译,还会在指令行看到回馈。

预设设定会把英语翻译成西班牙语。可以在 的最后一行轻松变更来源和目标语言,剩下的工作就交给程序代码了。这样的宇宙翻译机支援数以千计的语言交互翻译,你可以尽情尝试!

小贴士:

原址: