搜索
bottom↓
回复: 12

如何把音频文件变成二进制文件

[复制链接]

出0入0汤圆

发表于 2010-12-1 09:05:23 | 显示全部楼层 |阅读模式
如题 有没有类似于图形,字体取字模的工具,我想要把0--9这是个数字编码,存入单片机的flash,做个语音提示器

出0入0汤圆

发表于 2010-12-1 10:24:59 | 显示全部楼层
有呀。或者自己写个。。不难
我写过,但写得较简单,只能用WAV文件。。不过我是弄成一个数组。。
本来是不想上传的,因为写得太烂、太简单。
还是想上传一下公供能考。
我这个要先将wav处理成8位单声道的格式,其它格式不行
点击此处下载 ourdev_601508U59JDU.rar(文件大小:408K) (原文件名:WAV Data Get V0.1.rar)
输出在.h文件中以数组的形式,原来是用在AVR上的。

(原文件名:未命名.jpg)

出0入0汤圆

发表于 2010-12-1 10:32:17 | 显示全部楼层
再给你传个语音资源。。
0,1,2,3,4,5,6,7,8,9 ,十百千万年月日厘米。。。。原来在凌阳网上下过来的,处理过的,可以直接用我这个东西
点击此处下载 ourdev_601511OGSH11.rar(文件大小:50K) (原文件名:speech_wave1.rar)

出0入0汤圆

发表于 2010-12-3 15:44:40 | 显示全部楼层
先将它用GOODWAVE编辑一下,然后用语音烧录软件烧进去.

出0入0汤圆

 楼主| 发表于 2010-12-5 08:51:51 | 显示全部楼层
自己顶一个

出0入0汤圆

 楼主| 发表于 2010-12-5 09:19:33 | 显示全部楼层
回复【1楼】hotyong
-----------------------------------------------------------------------

先谢过了   我试试

出0入0汤圆

发表于 2010-12-5 10:25:53 | 显示全部楼层
音频文件本来就是二进制的。都是10101010,这个回答没错吧?

出0入0汤圆

发表于 2013-5-19 11:45:19 | 显示全部楼层
hotyong 发表于 2010-12-1 10:24
有呀。或者自己写个。。不难
我写过,但写得较简单,只能用WAV文件。。不过我是弄成一个数组。。
本来是不 ...

我目前在做STM32语音播发,菜鸟一个,看了您的回复,不知道你是怎么把这串数组都出去发声呢?希望您能解释下程序该怎么弄?
头像被屏蔽

出0入0汤圆

发表于 2013-5-20 12:42:35 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

出0入0汤圆

发表于 2013-5-27 11:57:13 | 显示全部楼层
bbs2009 发表于 2013-5-20 12:42
搞懂 WAV 文件  的格式。     
WAV 用  三个参数来表示声音,量化位数,取样频率和声道数。
在 STM32 回 ...

有如何处理这些音频数据的相关例程吗?有的话能不能贴出来参考下~
~

出10入23汤圆

发表于 2013-5-27 14:05:30 | 显示全部楼层
matlab
wavread
save

出0入0汤圆

发表于 2013-5-30 14:58:48 | 显示全部楼层
zj5566.77 发表于 2013-5-27 11:57
有如何处理这些音频数据的相关例程吗?有的话能不能贴出来参考下~
~  ...

如果有了音频数据那就简单了,
比如,这串音频数据有N个数据,
如这些数据的采样速率为8kps, 那么你就开个125us的定时器,中断一次取一个数据就是了。

参考一下


unsigned char audio_data[N];
unsigned int i;
unsigned char flag=0;

void play(void)
{
   flag = 0;  //播放结束标志
   i=0;        //播放[地址]
  start_timer(); //启动定时器
   while(flag == 0)//等待播放结束
  {
    ;
  }

}
void main(viod)
{
    set_timer(125US);//设置定时器为125us中断

    play();//播放

   for(;;);
}

void irq_timer(void)
{

     DAC = audio_data;//取音频数据到DAC
     i++;//准备下一个数据
    if(i>N) //播放完成
  {
      flag = 1;
  }

}

出0入0汤圆

发表于 2013-6-1 12:54:34 | 显示全部楼层
hotyong 发表于 2013-5-30 14:58
如果有了音频数据那就简单了,
比如,这串音频数据有N个数据,
如这些数据的采样速率为8kps, 那么你就开 ...

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

本版积分规则

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

GMT+8, 2024-4-19 19:12

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

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