舟人韦的技术博客 https://bbs.21ic.com/?420551 [收藏] [复制] [RSS] 部分文章从网络转载,其它加有原创标注的文章由博主撰写,并在实际开发过程中验证过,不存在标题党行为。欢迎与博主交流,空间文章可自由转载。

日志

[原创]Madplay移植

已有 1103 次阅读2012-4-20 02:39 |个人分类:嵌入式技术|系统分类:嵌入式系统| Linux



近期需要在一个项目中应用到语音播报功能,开始的设计方案采用串口语音模块。后来发现串口语音模块市场上推出来的产品不多也不专业,并且这种模块控制不够灵活,需要分段提取语音,程序上控制也麻烦,还需要找专业播音员进行声音采集。采用TTS语音合成技术,解决了录音采集,以及语音音效的问题。通过在ARM9嵌入式板上理论验证后,完全满足目前要求。以下是在TTS中需要用到相关一些工具,只把编译步骤记录下来,防止日后遗忘。具体实现过程放在脑海里就行了。


先从SourceForge.net下载四个文件:madplay-0.15.2b.tar.gzlibid3tag-0.15.1b.tar.gzlibmad-0.15.1b.tar.gzzlib-1.2.3.tar.gz(压缩库存,libid3tag需要用到它)。在编译前,请先在宿主机上配置好交叉编译环境,以下编译过程是在交叉版本为3.4.5编译器环境下通过。


 


1.       编译zlib


./configure --prefix=/usr/local/arm/crosstool/gcc-3.4.5-2.3.6/arm-linux/arm-linux


修改Makefile


CC=arm-linux-gcc
AR=arm-linux-ar rc
RANLIB=arm-linux-ranlib


执行 make,make install


成功编译后,zlib库就安装到了交叉编译器的目录下了。


2.       编译libid3tag


./configure CC=arm-linux-gcc --host=arm-linux --disable-debugging -disable-shared --prefix=/usr/local/arm/crosstool/gcc-3.4.5-2.3.6/arm-linux/arm-linux
  make
  make install


3.       编译libmad


./configure --enable-fpm=arm --host=arm-linux --disable-shared --disable-debugging --prefix=/usr/local/arm/crosstool/gcc-3.4.5-2.3.6/arm-linux/arm-linux CC=arm-linux-gcc
make
make install


4.       编译madplay


./configure --host=arm-linux CC=arm-linux-gcc --disable-debugging --disable-shared
make


 


以上步骤完成后,把madplay拷贝到嵌入式板上即可,madpay依赖的库:libm.so.6libc.so.6,它并不需要把步骤1,2,3编译好的库拷贝到嵌入式板上。


银行,医院,政务部门的排队叫号系统就是采用TTS语音合成技术的,我做完这个项目后才发现了这个秘密,一般人我是不告诉他的,嘿嘿。。。


路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)