小时候向往神秘的天空,进而想知道任何关于神秘的东西,自然而然的喜欢上了听大人讲鬼故事。爱上灵异网,中国灵异网这些都或多或少的见过。然而这和APP有什么关系?既然听这些故事,自然要去找资源,然而资源有限啊。只能自己创造资源了。本来就是单纯的打算做一个读鬼故事的APP,然而那样听起来死板的很,根本带入不了那种情境。只能想办法让APP自己分析语句的情境和声音大小、语速等方面的信息,通过语音合成和变声器来生成一句话,实现能任意给APP一篇常见的文章,他都能稍带有感情的读。使听者感觉到不死板即可。
莫言情难忘记于 2019.9.1
功能:语音阅读文章,可选择声音(男,女,小伙,老人)等。
设计思路:在开源的小说阅读的APP基础上添加相应功能。情境分析暂时采用百度AI自然语言处理解决;语音合成采用百度语音合成,它能简单的实现语速,声音大小,部分声色的改变;变声器采用FMod开发,需要采用ndk 开发的方式改变声色等信息。
采用Android Studio(以下简称AS)开发
开发记录:
1.阅读APP魔改
Fork 开源软件“阅读” 软件源码及开发者信息等点击 传送
Clone后编译到本地,发现需要firebase(或许得翻墙)google service json文件
于是下载相应的配置文件导入AS project app directory中
略微看了下大概布局等信息
附:firebase网址:传送
2.百度sdk下载与移植
AS 新建项目 New AS project
在百度Ai智能平台(传送)下载百度语音sdk与demo
选择需要的资源与代码移植到project中
部分代码文件 语言dat文件(无网络下的语音文件。Assects中)layout文件 so架构文件等
4.百度语音开发
百度AI等信息集成指南:传送
给项目设置appid appkey等配置信息(务必)
在APP build gradle中加入httpclient 包
加入httpclient包原因与添加方法:传送
添加之后可开发了
附:百度AI语音合成android SDK文档 传送
5.自然语言开发
与4百度语音开发不经相同(差不多的意思),多事参考sdk文档开发
附:百度AI自然语言处理android SDK文档传送
6.变声器开发
因为采用Android studio 的ndk开发,故此新建项目的时候选择 include C++ 选项,然而最新AS把C++项目的新建方式改变了,在下图这个位置,即可创建。
初次接触NDK的开发者请在SDK Manager:添加 NDK cMake LLDB
将下载好的fmod(fmod:传送)压缩包解压,然后将api/lowlevel下包的lib包下的 armeabi,x86文件及其文件下的.so库,fmod.jar 拷贝到项目的libs目录下。
将api/lowlevel包下的inc文件及其文件拷贝到项目的cpp目录下
Assets(没有进建个)文件夹导入mp3文件(即将变声的文件)
写入ChangeUtils类文件
Javah 变成.h文件(绝对目录)
如:javah -encoding UTF-8 -classpath F:\androidproject\bianshengqi\app\s
rc\main\java -jni cn.edu.caztc.bianshengqi.ChangeUtils
开发后调试应用,出现一个bug,百度谷歌搜不到,正在解决。
2019.9.11记