`
kulinglei
  • 浏览: 98721 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

让arm9 发音

阅读更多
arm9终于可以发音了,

#include <unistd.h>
#include <fcntl.h>
#include <sys/types.h>
#include <sys/ioctl.h>
#include <stdlib.h>
#include <stdio.h>
#include<linux/soundcard.h>


#define length  1 
#define rate	11025 
#define size  16 
#define  channels 1 

unsigned char buf[length*rate*size*channels/8];

int main(){

	int  fd ,fr;
	int status;
	int arg;
	 fd=open("/dev/dsp",O_WRONLY);//浠ュ彧鍐欐柟寮忔墦寮€鏂囦欢
	 fr=open("china.wav",O_RDWR);
	
	if(fd<0){
		perror("open of /dev/dsp failed");
		exit(1);


	}

	printf("1\n");
	arg=size;//璁剧疆姣忕鐨勬瘮鐗规暟
	status=ioctl( fd,SOUND_PCM_WRITE_BITS,&arg);
	if(status==-1){

		perror("sound_pcm_write_btts ioctl failed");
		close(fd);
		close(fr);
		exit(1);
	}
	printf("2\n");
	if(arg!=size){
		perror("unable to set sample size");
		exit(1);
	}
	arg=channels;//璁剧疆棰戦亾
	
	printf("3\n");
	status=ioctl((int)fd,SOUND_PCM_WRITE_CHANNELS,&arg);	

	if(status==-1){
		perror("sound_pcm_write_channels ioctl failed");

		exit(1);
	}

	if(arg!=channels){	
		perror("unable to set number of channels");
		exit(1);
	}

	arg=rate;//璁剧疆閲囨牱鐜�
	status=ioctl((int)fd,SOUND_PCM_WRITE_RATE,&arg);



	if(status==-1){	
		perror("sound_pcm_write_rate failed");
		exit(1);
	}

	printf("4\n");

	FILE * fdr=fdopen(fr,"r");//io鍙ユ焺鍒癷o娴佺殑杞崲
	FILE*  fdw=fdopen(fd,"w");//

	printf("5\n");
	int tag=fread(buf,sizeof(buf),1,fdr);
	

	while(!feof(fdr)){


	printf("6\n");

	status=fread(buf,sizeof(buf),1,fdr);

	if(status <0){

		printf("staus error");
		goto tt;

	}

	status=	fwrite(buf,sizeof(buf),1,fdw);	
	
//	ioctl(fd,I_FLUSH,FLUSHR);


	}
	
	tt:
	fclose(fdr);
	fclose(fdw);
	close(fd);
	close(fr);


}
分享到:
评论

相关推荐

    ARM9的指纹识别系统

    ARM技术 指纹识别 方向图 HB7121B 嵌入式 随着计算机技术和生物技术的发展,生物识别技 术在社会中得到了越来越广泛的应用。生物识别技 术主要包括了手形识别、指纹识别、面部识别、发音识 别、虹膜识别、签名...

    基于ARM-Linux的普通话发音质量评价体系.pdf

    基于ARM-Linux的普通话发音质量评价体系.pdf

    嵌入式系统/ARM技术中的基于嵌入式TTS汉语语音系统的解决方案

    使计算机、带有人机交互的电器、仪表... TTS系统中的语音合成方法分为时域和频域两大类:频域方法主要有LPC参数合成及其振峰合成两种,其实质是在工程上实现语音生成模型,进而在终端特性上模拟发音器官。在目前阶段,频

    基于ARM 微处理器的机载语音告警系统设计

    针对某型现代军用飞机的研制要求,设计了基于ARM 微处理器的机载语音告警系统。该系统硬件设计采用立体数字语音转换器,并对语音采用差分方式输出以提高抗干扰能力,设计了50 ms 掉电保护。软件采用U-Boot 的移植及...

    13. 什么英文字母及字母组合发音.doc

    9) [ɔ:]字母组合 al or au our ar small wall talk tall hall ball call walk short more lord horse for forty sport door floor store author caught autumn four mourn court bought warm quarrel quarter ...

    嵌入式系统/ARM技术中的嵌入式TTS汉语语音系统的设计与实现

    TTS系统中的语音合成方法分为时域和频域两大类:频域方法主要有LPC参数合成及其振峰合成两种,其实质是在工程上实现语音生成模型,进而在终端特性上模拟发音器官。在目前阶段,频域方法形成的发音尚不自然,且需要

    基于ARM微处理器的机载语音告警系统设计

    针对某型现代军用飞机的研制要求,设计了基于ARM微处理器的机载语音告警系统。该系统硬件设计采用立体数字语音转换器,并对语音采用差分方式输出以提高抗干扰能力,设计了50 ms掉电保护。软件采用U-Boot的移植及告警...

    英语音标教案-3(12页).doc

    car farm card arm garden fast class last glass plant aunt calm 2) [ɔ: ]字母组合 al or au our ar small wall talk tall hall ball call walk short more lord horse for forty sport door floor store ...

    英语48个国际音标教案.doc

    car farm card arm garden fast class last glass plant aunt calm 2) [ɔ: ]字母组合 al or au our ar small wall talk tall hall ball call walk short more lord horse for forty sport door floor store ...

    modm:modm:用于AVR和ARM Cortex-M设备的C ++ 17库生成器

    modm:准系统嵌入式库生成器 modm(发音类似于拨号“调制解调器”)是一个工具箱,用于构建针对嵌入式设备量身定制的自定义C ++ 20库。 modm以模块化,可定制的过程生成启动代码,HAL及其实现,通信协议,用于外部...

    OpenNi、NITE、Sensor的下载地址

    OpenNI-Linux-Arm-v1.5.7.10 OpenNI-Linux-x64-v1.5.7.10 OpenNI-Linux-x86-v1.5.7.10 OpenNI-Linux-Arm-2.2.0.33 OpenNI-Linux-x64-2.2.0.33 OpenNI-Linux-x86-2.2.0.33 OpenNI--MacOSX-v1.5.7.10 OpenNI-MacOSX-x...

    基于8253、8255芯片汇编实现简易电子琴

    (1)利用计算机的扬声器发音来实现; (2)定义14个键,对应低音区和中音的1—7,能随意演奏乐曲; (3)能选择多首乐曲中的一首演奏,乐曲自选; (4)良好的交互界面用于乐曲的选择和音符的演奏; (5)按ESC...

    codile:基于Web的IDE

    概述Codile(发音为coh-dee-leh )是 IDE的发行版,具有相对较少的内置功能选择,并且对扩展注册表中的扩展提供了补充支持。 Codile易于使用在及其衍生产品(包括 )下安装和使用。 在,Codile的性能应比在上运行的...

    Memrise_Premium_v2.94_18233.apk

    让真正的母语人士通过我们的“与当地人一起学习”视频剪辑,从家乡的街道上教您他们的语言。 试试看-您的第一堂课就在家里。 这就是我们与众不同的原因: 我们拥有幕后杀手学习科学。它可以加快您的学习速度...

    fx3fun:赛普拉斯FX3的查尔斯游乐场

    fx3fun 赛普拉斯FX3的查尔斯游乐场。 我特别对CYUSB3011-BZXC / CYUSB3012感兴趣。 我正在尝试将其变成逻辑... (2)CyprIO(发音为saɪˈpirˈēˈō):我的C库,用于Windows(与CyUSB32.sys)或Linux(与libusb

    手提式D类扩音器

     音频信号由IC2锁相环电路的9脚输入,经内部压控振荡器VCO转换成变频方波,再通过内部相位比较器1比较放大后从2脚输出,通过VT1去推动IC3工作,然后由IC3推动扬声器发音。IC2锁相环电路的9脚无信号输入时,2脚输出...

    gef:GEF-针对漏洞利用开发者和反向者的GDB增强功能

    GEF (发音为ʤɛf-“ Jeff”)是用于x86 / 64,ARM,MIPS,PowerPC和SPARC的一组命令,可在使用老式GDB时帮助漏洞利用开发人员和逆向工程师。 它使用Python API向GDB提供了其他功能,以在动态分析和漏洞利用开发...

    janus:用Go编写的API网关

    Janus在linux/amd64 , linux/i386 , linux/arm64 , darwin/i386 , darwin/amd64 , windows/i386和windows/amd64上得到正式支持。 为什么选择贾努斯? 在古代罗马宗教和神话中,Janus(/ dˈeɪnəs /;拉丁语...

    实时变音处理芯片SD771D的原理与应用

     关键词:实时变音SD771D典型应用电路 1概述 语音技术包括语音识别(speechrecognition)、语音合成(speechsynthesis)及文字转发音TTS(TextToSpeech)。目前,语音合成技术不管是在研究方面,还是在应用...

Global site tag (gtag.js) - Google Analytics