一个嵌入式音频项目总结

嵌入式ARM 2018-06-11 10:07 次阅读

客户的需求是这样的,做一个声卡混音程序,实现将音箱要播放的声音和话筒输入的声音合成为输入,主要是用于嵌入式音频播放产品,所以大家以后见了音效特别好的产品不要相信销售人员的忽悠。。。“我们的产品音效好是用了XXX高科技材料,觉得处于国际领先水平...”,他们口中所谓的“高科技”,其实都是在软件上做了文章而已。

其实要实现这样的一个功能其实并不难,但我当时其实也是第一次做这样的程序(国内这个东西确实很好有人做过),心里也没底,但是凭借我扎实的基础,再加上我在图书馆泡了一天之后,我很快就有了思路...主要有两种方法可以实现:

1. 可以使用DirectXsound接口做.将输出缓冲区音频叠加到输入缓冲区;

2.可以调用ASIO音频驱动,网上有很多教程.

这两个方案都是只能基于wince系统的,linux下我暂时没有找到一个很好的方案,但是最终我还是选择了第一个,因为毕竟图书馆关于direct的开发资料比较多,开发难度相对来说容易控制,但由于我不能公布全部代码,只能在这里梳理一下重要的几个知识点和程序中需要用到的API。

其实我不怕大家嘲笑,在做这个项目之前我一直以为directx就只做3D处理的,但是在图书馆查了多媒体处理技术的相关书籍之后,才知道自己有多么无知。DirectX是由很多API组成的,按照性质分类,可以分为四大部分,显示部分、声音部分、输入部分和网络部分。显示部分担任图形处理的关键,分为Direct Draw(DDraw)和Direct 3D(D3D),前者主要负责2D图像加速。它包括很多方面:我们播放mpg、DVD电影、看图、玩小游戏等等都是用的DDraw,你可以把它理解成所有 划线的部分都是用的DDraw。后者则主要负责3D效果的显示,比如CS中的场景和人物、FIFA中的人物等等,都是使用了DirectX的Direct 3D。声音部分中最主要的API是DirectSound,除了播放声音和处理混音之外,还加强了3d音效,并提供了录音功能,我所接的这个项目就是利用了DirectSound来解决的。。

API调用方面的话主要掌握3个方面,1.对音频缓冲区的操作,2.对创建辅助缓冲区,3利用directx实现混音程序,这三方面的书籍,dirextx的技术书籍我相信应该都有,只要学会调用这三方面的API,做相关的音频项目自然会便觉得很方便,不是什么高科技,在这里我不想贴代码来忽悠大家,这东西又不是我自创的,花个几十元钱去亚马逊买本书大家都能学会,熟练以后,去游戏公司应聘的话,月薪7K应该不成问题。

我比较注重一些项目经验和设计思路,这样才能够助新手快速培养独立完成项目的思路,因为我不是职业程序员,从事的工作也是电气领域的工作,不会和大家抢工作,我接私活第一是为了接触各个领域方面的技术,拓展自己的专业视野,我大致了解一下开发流程即可,因为没有必要过于深入,因为国内所有领域说句老实话,核心技术都是国外的,除了一些逆向分析的黑客高手和一些科研工作者,一般人都很难了解,也没有这个时间,对于我这样一个业余的技术个体户来讲,我只要按时完成客户给我的项目,能保证产品就可以了,暂时不会研究的那么深入,不过等过个几年,等我的团队日益成熟了,也许会做自己的独立产品。

自己独立接项目的另一个好处就是可以积累一定的社会人脉,让社会来认可我的专业水平,我一直觉得做技术(不光是计算机,电气、机械等其他专业领域一样)和球星踢球很像,个人水平一旦被社会得到认可,身价自然水涨船高了,和比自己水平高一点的人一起做项目,技术能力自然很容易提高。

热门推荐

原文标题:嵌入式er日常!我的第一个嵌入式项目....

文章出处:【微信号:gh_c472c2199c88,微信公众号:嵌入式ARM】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
分享:

评论

相关推荐

2018中国异构系统架构标准暨人工智能产业高层研讨会在南京召开

本次论坛由中国电子技术标准化研究院、全球异构系统架构联盟中国区域委员会(HSA CRC)主办,由中国....

的头像 Duke 发表于 06-22 09:56 275次 阅读
2018中国异构系统架构标准暨人工智能产业高层研讨会在南京召开

一种以开源FreeRTOS内核为核心的RTOS

传统的嵌入式系统开发人员一般使用不联网的设备在裸机上工作,但 IoT 却要求系统连接到因特网。这就要....

的头像 电子设计 发表于 06-22 09:30 103次 阅读
一种以开源FreeRTOS内核为核心的RTOS

8pre-es,52通道雷电/USB音频接口,可用于Mac、Windows和iOS系统

MOTU目前正在发布8pre-es,一个52通道雷电/USB音频接口,可用于Mac、Windows和....

发表于 06-22 08:55 10次 阅读
8pre-es,52通道雷电/USB音频接口,可用于Mac、Windows和iOS系统

21世纪电子技术应用价值的凸显!

电子技术演进到21世纪,已经不再是简简单单的一颗芯片,几个电路的单纯小系统,所有电子产品的问世,背后....

的头像 Freescale视频 发表于 06-22 08:50 16次 观看
21世纪电子技术应用价值的凸显!

飞思卡尔教你如何用基于ARM Cortex-M0+的MCU打造完美嵌入式世界!

如何用32位ARM处理器打造Different, Smarter, Better的嵌入式世界?业界率....

的头像 Freescale视频 发表于 06-21 17:25 44次 观看
飞思卡尔教你如何用基于ARM Cortex-M0+的MCU打造完美嵌入式世界!

世界的引领者:飞思卡尔半导体

飞思卡尔半导体(NYSE:FSL)是嵌入式处理解决方案的全球领导者,提供业界领先的产品,不断提升汽车....

的头像 Freescale视频 发表于 06-21 11:30 53次 观看
世界的引领者:飞思卡尔半导体

飞思卡尔让生活更智能更安全

科技迅速发展,它将世界变得更加美好,就在不久以前,大多数运算都是通过个人电脑来完成的,而现在,运算在....

的头像 Freescale视频 发表于 06-21 10:10 56次 观看
飞思卡尔让生活更智能更安全

关于基于DM368的嵌入式数据记录仪的设计与实现

弹载数据记录仪的主要作用是对导弹飞行中的各种数据信息进行采集与记录,通过对数据记录仪的信息进行回读和....

的头像 电子设计 发表于 06-21 09:40 65次 阅读
关于基于DM368的嵌入式数据记录仪的设计与实现

请问OMAP-L138支持哪些音频编码方式?aac、mp3......?OMAP-L138能同时编码多少路音频数据,性能如何?

发表于 06-21 06:55 0次 阅读
请问OMAP-L138支持哪些音频编码方式?aac、mp3......?OMAP-L138能同时编码多少路音频数据,性能如何?

AM3352 MCASP0音频配置问题,登录shell播放一个音频文件然后aplay一直无法返回,请问这是为什么?如何解决?

发表于 06-21 05:00 33次 阅读
AM3352 MCASP0音频配置问题,登录shell播放一个音频文件然后aplay一直无法返回,请问这是为什么?如何解决?

基于mbedTLS实现的嵌入式固件知识产权保护方案

嵌入式应用的领域越来越广泛,功能需求也越来越复杂,有些嵌入式产品要求在产品出厂后,使用过程中保留有固....

的头像 润欣科技Fortune 发表于 06-20 10:56 369次 阅读
基于mbedTLS实现的嵌入式固件知识产权保护方案

飞思卡尔嵌入式处理打造创新未来

飞思卡尔是嵌入式处理解决方案领域的领导者,主要业务涉及汽车电子、消费电子、工业电子以及网络设备等市场....

的头像 Freescale视频 发表于 06-19 14:32 202次 观看
飞思卡尔嵌入式处理打造创新未来

如何通过HiFive1套件实现快速原型开发

嵌入式系统开发人员一直在想方设法进一步缩短开发时间,特别是针对概念验证和快速原型开发。虽然开发套件已....

的头像 电子设计 发表于 06-19 09:09 762次 阅读
如何通过HiFive1套件实现快速原型开发

LabVIEW ARM嵌入式开发模块的详细介绍和使用手册中文资料概述

LabVIEW ARM嵌入式开发模块是一个完整的图形化开发环境,由NI联合Keil公司开发而成,使用....

发表于 06-19 08:00 23次 阅读
LabVIEW ARM嵌入式开发模块的详细介绍和使用手册中文资料概述

计算机三级考试的嵌入式知识点完全整理赶紧来下载复习吧

RAM 分为动态 DRAM 和静态 SRAM 两种。DRAM 电路简单、集成度高、功耗小、成本低,但....

发表于 06-19 08:00 26次 阅读
计算机三级考试的嵌入式知识点完全整理赶紧来下载复习吧

C语言测试的经典嵌入式面试题详细中文概述

C 语言测试是招聘嵌入式系统程序员过程中必须而且有效的方法。这些年,我既参加也组织了许多这种测试,在....

发表于 06-19 08:00 86次 阅读
C语言测试的经典嵌入式面试题详细中文概述

机器学习中的特征选择的5点详细资料概述

特征选择是一个重要的“数据预处理” (data preprocessing) 过程,在现实机器学习任....

的头像 人工智能爱好者社区 发表于 06-18 17:24 185次 阅读
机器学习中的特征选择的5点详细资料概述

关于简单JTAG电缆,如何提高JTAG下载速度

由JTAG标准决定,通过JTAG写/读一个字节要一系列的操作,根据我的分析,使用简单JTAG电缆,利....

的头像 电子发烧友网 发表于 06-15 09:06 953次 阅读
关于简单JTAG电缆,如何提高JTAG下载速度

嵌入式相关应用开发中kernel module 挂载失败是什么原因啊?

发表于 06-15 06:46 308次 阅读
嵌入式相关应用开发中kernel module 挂载失败是什么原因啊?

基于STM32F407的flash内存结构分析

Main memory部分各个Sector相加最后正合适等于1024Kbyte,这也是与文档开头....

发表于 06-14 10:11 63次 阅读
基于STM32F407的flash内存结构分析

XLW-BLE003U蓝牙模块的使用手册详细概述免费下载

XLW-BLE003U蓝牙模块是一款嵌入式的无线通信模块,支持蓝牙4.0BLE协议,具有低功耗、小尺....

发表于 06-14 08:00 36次 阅读
XLW-BLE003U蓝牙模块的使用手册详细概述免费下载

了解 LabVIEW 的优势及测试、控制以及嵌入式应用

内容包括:LabVIEW的优势,如何使用LabVIEW测试、控制以及嵌入式应用

的头像 NI视频 发表于 06-14 01:21 232次 观看
了解 LabVIEW 的优势及测试、控制以及嵌入式应用

Cortext-M3体系结构与接口编程(3)

ARM最新处理器Cortext-M3体系结构与接口编程

的头像 ARM视频 发表于 06-14 00:32 241次 观看
Cortext-M3体系结构与接口编程(3)

Cortext-M3体系结构与接口编程(1)

ARM最新处理器Cortext-M3体系结构与接口编程

的头像 ARM视频 发表于 06-14 00:04 229次 观看
Cortext-M3体系结构与接口编程(1)

Cortext-M3体系结构与接口编程(2)

ARM最新处理器Cortext-M3体系结构与接口编程

的头像 ARM视频 发表于 06-14 00:01 232次 观看
Cortext-M3体系结构与接口编程(2)

西安某上市公司招聘嵌入式软件开发工程师

发表于 06-13 13:23 275次 阅读
西安某上市公司招聘嵌入式软件开发工程师

一场关于嵌入式技术及学习方法的演讲 (3)

TI 公司自身嵌入式工程师 Loyal Bao 做了题为“嵌入式技术及学习方法”的演讲。  ....

的头像 TI视频 发表于 06-13 13:02 153次 观看
一场关于嵌入式技术及学习方法的演讲 (3)

音频设计-box防水方案设计

前言 在这个智能手机时代,智能手机已经成为我们每个人生活必备工具,不仅做为通讯工具,还能充当数码相机....

的头像 润欣科技Fortune 发表于 06-13 09:34 947次 阅读
音频设计-box防水方案设计

一场关于ARM——数字世界的体系结构的演讲

演讲题目:ARM - The Architecture for The Digital World;....

的头像 ARM视频 发表于 06-13 06:32 203次 观看
一场关于ARM——数字世界的体系结构的演讲

一场关于嵌入式技术及学习方法的演讲 (1)

TI 公司自身嵌入式工程师 Loyal Bao 做了题为“嵌入式技术及学习方法”的演讲。

的头像 TI视频 发表于 06-13 05:52 139次 观看
一场关于嵌入式技术及学习方法的演讲 (1)

一场关于嵌入式技术及学习方法的演讲 (2)

TI 公司自身嵌入式工程师 Loyal Bao 做了题为“嵌入式技术及学习方法”的演讲。

的头像 TI视频 发表于 06-13 05:52 159次 观看
一场关于嵌入式技术及学习方法的演讲 (2)

供应 AK4104 接口音频IC 192kHz 24位3.3V DIT

发表于 06-12 18:16 113次 阅读
供应 AK4104 接口音频IC 192kHz 24位3.3V DIT

一个含有JTAG Debug接口模块的CPU

通常所说的JTAG大致分两类,一类用于测试芯片的电气特性,检测芯片是否有问题;一类用于Debug;一....

的头像 电子设计 发表于 06-12 09:38 676次 阅读
一个含有JTAG Debug接口模块的CPU

32位高性能嵌入式处理器TMS470

高性能 32位嵌入式处理器TMS470 家族

的头像 TI视频 发表于 06-12 01:33 212次 观看
32位高性能嵌入式处理器TMS470

请问音频混合电路,运放实现音频信号的叠加,仿真无输出这是为什么?怎解决?

发表于 06-10 10:28 111次 阅读
请问音频混合电路,运放实现音频信号的叠加,仿真无输出这是为什么?怎解决?

神奇的Isola Pro FX插件可以对你的音频做反混音处理,单独分离出各个声部

Lakeside Audio 的 Isola Pro FX 是一个革新的 Windows 和 Mac....

的头像 Midifan 发表于 06-09 11:36 583次 阅读
神奇的Isola Pro FX插件可以对你的音频做反混音处理,单独分离出各个声部

音频设备的电平信号详解

观察设备之间通过的电平信号表,并对观察到的结果检查与调整,对于行业新人来说是比较困难的。但是一旦你掌....

的头像 Midifan 发表于 06-06 11:28 264次 阅读
音频设备的电平信号详解

嵌入式系统联谊会:物联网与嵌入式行业重点关注的方向会是什么?

人工智能(AI)棋王Alpha Go战胜人类棋王之后,AI 技术便为大众所熟知,计算机技术上的突破和....

发表于 06-05 17:46 634次 阅读
嵌入式系统联谊会:物联网与嵌入式行业重点关注的方向会是什么?

谁占领了车载端,谁就能占据未来在线音频市场的主战场

那么,放下缥缈的数据,从方向选择、场景聚焦上洞悉各大在线音频平台的战略战术,并以此透析其未来发展可能....

的头像 物联网技术 发表于 06-05 16:51 811次 阅读
谁占领了车载端,谁就能占据未来在线音频市场的主战场

基于嵌入式数据库的海量存储技术解析

通常, 我们采用数据库来实现对数据的存储、检索等功能。像MySQL这类基于C/S结构的关系型数据库....

发表于 06-05 11:00 75次 阅读
基于嵌入式数据库的海量存储技术解析

Videostrong RK3399板卡 OV13850 MIPI 接口资料说明

发表于 06-05 09:47 312次 阅读
Videostrong RK3399板卡 OV13850 MIPI 接口资料说明

PCIe总线中的链路初始化与训练

前面的文章中介绍过,PCIe收发的都是差分信号,有的时候Link两端的设备的对应信号的极性可能是相反....

的头像 电子技术应用ChinaAET 发表于 06-05 09:06 309次 阅读
PCIe总线中的链路初始化与训练

嵌入式多任务程序设计的详细中文资料概述

从现代意义上的计算机诞生至今,无论规模如何,计算机的五大基本组成部分就未曾改变过:控制器( Cont....

发表于 06-05 08:00 47次 阅读
嵌入式多任务程序设计的详细中文资料概述

嵌入式linux开发详细资料

本文主要介绍了嵌入式linux开发详细资料。

发表于 06-05 08:00 40次 阅读
嵌入式linux开发详细资料

优化嵌入式系统的工作负载,专用硬件来处理真正的人工智能算法

人工智能仍然是一个新兴且快速发展的领域。神经网络的应用场景快速增加,例如目标识别、语音和声音分析、5....

的头像 电子发烧友网 发表于 06-03 10:09 683次 阅读
优化嵌入式系统的工作负载,专用硬件来处理真正的人工智能算法

对目前嵌入式产业现状、趋势及机遇进行了深入的交流

目前,研华嵌入式主板已经广泛应用于医疗、航天军工、轨道铁路、交通物流、工业制造和金融设备等众多领域,....

的头像 OFweek工控 发表于 05-31 15:39 13132次 阅读
对目前嵌入式产业现状、趋势及机遇进行了深入的交流

嵌入式行业该怎样去面试?

发表于 05-31 10:02 418次 阅读
嵌入式行业该怎样去面试?

直正懂得volatile完全的重要性

一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的....

的头像 嵌入式ARM 发表于 05-30 14:28 516次 阅读
直正懂得volatile完全的重要性

为什么选择Linux操作系统?制约标准Linux操作系统实时性的因素

Xenomai正是充分利用了Adeos技术,它的首要目标是帮助人们尽量平缓地移植那些依赖传统RTOS....

的头像 嵌入式ARM 发表于 05-30 14:24 1073次 阅读
为什么选择Linux操作系统?制约标准Linux操作系统实时性的因素

FCU1401嵌入式控制单元

发表于 05-30 11:34 391次 阅读
FCU1401嵌入式控制单元

一种非常实用的系统掉电检测和保护电路

可靠性是每一个产品的灵魂,如果一个产品可靠性不好,那它就是一个失败的产品,因为客户不会使用存在风险的....

的头像 周立功单片机 发表于 05-30 09:34 2168次 阅读
一种非常实用的系统掉电检测和保护电路

DSP C6657配置问题,1.25G的DSP先是按1G配的没有问题,改成1.25G程序会跑飞或者卡在某个外设初始化里出不来,什么原因呢?

发表于 05-29 23:01 316次 阅读
DSP C6657配置问题,1.25G的DSP先是按1G配的没有问题,改成1.25G程序会跑飞或者卡在某个外设初始化里出不来,什么原因呢?

一文告诉你嵌入式 STT MRAM 磁隧道结阵列的加工是靠什么来完成的?

半导体产业正在迎来下一代存储器技术的新纪元,几大主要变化趋势正在成形。这其中包括磁性随机存储器 (M....

发表于 05-29 15:42 185次 阅读
一文告诉你嵌入式 STT MRAM 磁隧道结阵列的加工是靠什么来完成的?

从行业到技术,一位嵌入式er带你清晰总览嵌入式行业职业规划

找一个好工作,谈一份好薪水相信这也是大部分人的心愿,那么嵌入式行业该如何规划呢?我们今天来谈谈。

发表于 05-29 15:27 235次 阅读
从行业到技术,一位嵌入式er带你清晰总览嵌入式行业职业规划

基于嵌入式车载导航电子地图的设计和实现

车辆远程诊断仪的主要功能是导航。导航功能的重点是行车路线设计、自动车辆定位、综合信息服务、路径引导服....

的头像 电子设计 发表于 05-29 03:35 1847次 阅读
基于嵌入式车载导航电子地图的设计和实现

一分钟带你看懂:工控机嵌入式操作系统Linux

嵌入式系统是以应用为中心,以计算机技术为基础、软硬件均可裁剪、适应应用系统对功能、可靠性、成本、体积....

发表于 05-28 15:30 399次 阅读
一分钟带你看懂:工控机嵌入式操作系统Linux

三分钟带你掌握嵌入式WebServer技术及其实现

嵌入式技术迅速发展,已经被广泛地应用于各行各业。将嵌入式技术和数控技术结合起来产生了很多理论和应用成....

发表于 05-28 14:40 209次 阅读
三分钟带你掌握嵌入式WebServer技术及其实现

如何提高嵌入式Bootloader程序的安全性

上海润欣科技正在开发一个用于智能门锁等领域的指纹模块项目,用到的主控芯片是基于ARM Cortex-....

的头像 润欣科技Fortune 发表于 05-28 14:37 841次 阅读
如何提高嵌入式Bootloader程序的安全性

浅谈一种基于嵌入式PC的PIII计算机系统设计与实现

目前嵌入式计算机系统应用呈现多样化、小型化、多层次的趋势,在工业现场和军事用途中扮演着越来越重要的角....

发表于 05-28 14:33 124次 阅读
浅谈一种基于嵌入式PC的PIII计算机系统设计与实现

一些完美的数字播放音响产品的详细概括第二部分

世界首部升频为32bit/210kHz的译码器,运算方法非常特别。ESS SABRE ES9018 ....

的头像 新音响 发表于 05-27 11:07 686次 阅读
一些完美的数字播放音响产品的详细概括第二部分