搜索
bottom↓
回复: 19

[原创]偶地第2件独立作品:用SYN6288语音合成开发板制作的银行语音排队机[图片+视频]

[复制链接]

出0入0汤圆

发表于 2010-11-27 04:49:42 | 显示全部楼层 |阅读模式
吼吼。。。 语音芯片玩上瘾了。。。
这次我把SYN6288和单片机集成到一起做了个语音合成开发板,
还用它做了个银行语音排队机实验。。。


(原文件名:14.jpg)


(原文件名:15.jpg)

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

 楼主| 发表于 2010-11-27 04:51:37 | 显示全部楼层
视频。。。
效果还不错吧。。。
用SYN6288开发板做的超简单银行语音排队机实验

出0入0汤圆

发表于 2010-11-27 07:57:13 | 显示全部楼层
不错,顶一下!

出0入0汤圆

发表于 2010-11-27 08:14:20 | 显示全部楼层
芯片价格太贵了,而且还不提供免费样片 供客户测试。。。。。。

出0入0汤圆

发表于 2010-11-27 09:12:21 | 显示全部楼层
LZ 是否就是语音天下的工程师!

出0入0汤圆

发表于 2010-11-27 09:12:50 | 显示全部楼层
LZ 是否就是语音天下的工程师!

出0入22汤圆

发表于 2010-11-27 09:35:41 | 显示全部楼层
确实是原创:原创的图片,其他没有

出0入0汤圆

发表于 2010-11-27 10:45:07 | 显示全部楼层
发音效果是一字一顿的吧。
不过科大讯飞的语音芯片XF-4041的效果还真是不错的说。

出0入0汤圆

发表于 2010-11-27 11:02:51 | 显示全部楼层
回复【7楼】hahacomcn  
发音效果是一字一顿的吧。
不过科大讯飞的语音芯片xf-4041的效果还真是不错的说。
-----------------------------------------------------------------------

这个芯片哪里有卖,多少米?

出0入0汤圆

发表于 2010-11-27 11:04:57 | 显示全部楼层
手里拿的那个是?

出0入0汤圆

发表于 2010-11-27 11:14:58 | 显示全部楼层
芯片价格太高

出0入0汤圆

 楼主| 发表于 2010-11-27 20:31:47 | 显示全部楼层
真是的,芯片价格高低关我什么事啊,
我也是买来玩的哈哈,
不过说心里话效果是真的不太理想,
我老公买了个XF4240,声音比这个好多啦!
谁说光照片是原创啊,源码也是好不好

这次实验的源码就不发了,发个以前写的6288实验源码吧

/***********************************************************
**
** 北京宇音天下公司 SYN6288 中文语音合成芯片测试程序演示版
**
** 本程序用于89C51/89C52/89S51/89S52及与其兼容的其他单片机
**
** 作    者:CIKY & SPP From Dreamon-II Labs.
**
** 版权所有:追梦计算机及电子技术实验室
**
** 最后修改:2010-05-06  凌晨 03:22
**
***********************************************************/

#include <reg51.h>

#define uchar unsigned char

#define KEY          P1  //P1用于键扫描

#define BUFLEN      255  //文字缓冲区的长度
#define HEADLEN       5  //数据包头的长度
#define LEN_OFFSET    2  //长度字节的偏移量(本例中长度不超过255字节,因此只使用1字节长度)

//数据包头(0xFD + 2字节长度 + 1字节命令字 + 1字节命令参数)
uchar head[HEADLEN] = {0xfd,0x00,0x00,0x01,0x00};

//文字(中间有需要变化的内容可在发送前修改)
code uchar text[BUFLEN] = {"蒸羊羔蒸熊掌蒸鹿尾烧雏鸡烧花鸭烧子鹅红丸子白丸子麻婆豆腐糖醋鲤鱼家常凉菜红烧肉水煮鱼麻辣小龙虾"};
//                          0,6  7,6  13,6 19,6 25,6 31,6 37,6 43,6 49,8   57,8   65,8   73,6 79,6 85,10

uchar val = 0;  //计数值
uchar old = 0;  //旧计数值(用来检测变化)

//延时1ms
void Delay1ms(uchar n)
{
    uchar i=112;

        while(n--)
        {
                while(i--);
        }
}

//串口初始化
void UART_InitBaud(void)
{
        SCON=0xD8 ;  //晶振为11.059MHZ时,设定串口波特率为9600bit/s,方式3  
        TMOD=0x20 ;
        PCON=0x00 ;
        TH1=0xFD ;
        TR1=1;       
}

//串口发送数据
void UART_Trans(uchar n)
{
        SBUF = n;   
        while(TI==0);  //发送数据   
        TI=0;       
}                               

//发声程序
void Speech(uchar *buf, uchar len)
{
        uchar i = 0;          //循环计数变量
        uchar xor = 0x00;     //校验码初始化
                       
        head[LEN_OFFSET] = len + 3;  //计算正文长度(1命令字 + 1命令参数 + 文字长度 + 1校验位)

        //发送数据包头(0xFD + 2字节长度 + 1字节命令字 + 1字节命令参数)
        for(i = 0; i < HEADLEN; i++)
        {
                xor ^= head;
                UART_Trans(head);
                Delay1ms(2);
           }

        //发送文字内容
        for(i = 0; i < len; i++)
        {
                xor ^= buf;
                UART_Trans(buf);
                Delay1ms(2);
        }

        UART_Trans(xor);        //发送校验位
}

//键扫描
void keyScan(void)
{
    uchar k;

    KEY = 0xff;            //置位P2口以读取键值

        if(KEY != 0xff)        //如果有键按下
        {
                k = KEY;           //取键值
                Delay1ms(1);       //消抖

                if(KEY == k)       //确认按下
                {
                        switch(k)
                        {
                        case 0xfe:
                                Speech(text,6);
                                break;
                        case 0xfd:
                                Speech(text+6,6);
                                break;
                        case 0xfb:
                                Speech(text+12,6);
                                break;
                        case 0xf7:
                                Speech(text+18,6);
                                break;
                        case 0xef:
                                Speech(text+24,6);
                                break;
                        case 0xdf:
                                Speech(text+30,6);
                                break;
                        case 0xbf:
                                Speech(text+36,6);
                                break;
                        case 0x7f:
                                Speech(text+42,6);
                                break;
                        case 0xfc:
                                Speech(text+48,8);
                                break;
                        case 0xf9:
                                Speech(text+56,8);
                                break;
                        case 0xf3:
                                Speech(text+64,8);
                                break;
                        case 0xe7:
                                Speech(text+72,6);
                                break;
                        case 0xcf:
                                Speech(text+78,6);
                                break;
                        case 0x9f:
                                Speech(text+84,10);
                                break;
                        default:
                                break;
                        }
                }
        }

        while(KEY != 0xff);  //等待按键抬起

        return;
}

//主函数
void main()
{
        uchar xor = 0;    //校验码(正文内容的异或)
        uchar i = 0;      //循环计数变量
       
        UART_InitBaud();  //初始化串口为 9600bps

        while(1)
        {
                keyScan();      //检查按键
                Delay1ms(100);        //延时
        }
}

出0入0汤圆

发表于 2012-4-20 10:46:18 | 显示全部楼层
谢谢分享

出0入0汤圆

发表于 2012-4-20 10:54:52 | 显示全部楼层
mark。谢谢分享

出0入0汤圆

发表于 2012-4-20 11:00:26 | 显示全部楼层
顶下楼主。

出0入0汤圆

发表于 2012-6-14 14:24:27 | 显示全部楼层
楼主动机不明,纯粹支持一下吧。

出0入0汤圆

发表于 2012-6-14 18:45:08 来自手机 | 显示全部楼层
好技术要顶

出0入0汤圆

发表于 2012-11-28 10:23:43 | 显示全部楼层
顶一顶啊顶一顶

出0入0汤圆

发表于 2014-1-15 12:47:18 | 显示全部楼层
mark,最近要用

出0入0汤圆

发表于 2014-7-31 16:29:25 | 显示全部楼层
呵呵,好好玩的样子
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-26 03:21

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表