Disclaimer: This is a re-post of
Copying to here for reference and also a backup in case MS removed the link above.
The info below was meant for Windows Vista. But still applies to Windows 7 and to some extend to Windows 8+.
“So I’ve talked a bit about some of the details of the Vista audio architecture, but I figure a picture’s worth a bunch of text, so here’s a simple version of the audio architecture:
This picture is for “shared” mode, I’ll talk about exclusive mode in a future post.
The picture looks complicated, but in reality it isn’t. There are a boatload of new constructs to discuss here, so bear with me a bit.
The flow of audio samples through the audio engine is represented by the arrows – data flows from the application, to the right in this example.
The first thing to notice is that once the audio leaves the application, it flows through a very simple graph – the topology is quite straightforward, but it’s a graph nonetheless, and I tend to refer to samples as moving through the graph.
Starting from the left, the audio system introduces the concept of an “audio session”. An audio session is essentially a container for audio streams, in general there is only one session per process, although this isn’t strictly true.
Next, we have the application that’s playing audio. The application (using WASAPI) renders audio to a “Cross Process Transport”. The CPT’s job is to get the audio samples to the audio engine running in the Windows Audio service.
In general, the terminal nodes in the graph are transports, there are three transports that ship with Vista, the cross process transport I mentioned above, a “Kernel Streaming” transport (used for rendering audio to a local audio adapter), and an “RDP Transport” (used for rendering audio over a Remote Desktop Connection).
As the audio samples flow from the cross process transport to the kernel streaming transport, they pass through a series of Audio Processing Objects, or APOs. APOs are used to provide DSP on the audio samples. Some examples of the APOs shipped in Vista are:
- Volume – The volume APO provides mute and gain control.
- Format Conversion – The format converter APOs (there are several) provide data format conversion – int to float32, float32 to int, etc.
- Mixer – The mixer APO mixes multiple audio streams
- Meter – The meter APO remembers the peak and RMS values of the audio samples pumped through it.
- Limiter – The limiter APO prevents audio samples from clipping when rendering.
All of the code above runs in user mode except for the audio driver at the very end.”
My company, DTS is hiring following position. Please drop me an email with your resume if interested.
My contact info is on this page
Software Engineer – Android
DTS is looking for a talented and experienced application, mobile, tablet, and desktop developer to assist us in making DTS stand out in the Android and iOS markets. You will be joining a team of software engineers who are creating the next generation of audio applications on Android, iOS and Windows 8 platforms.
Join a group of software enthusiasts who develop innovative applications that integrate the latest DTS audio processing technology. As a member of the team, you will architect and develop applications to enhance the experience of DTS audio technologies on mobile and desktop devices. Excellent programming and communication skills with experience working in a fast paced development environment are required, as you will be collaborating closely with remote team members.
Essential Functions and Responsibilities
•Develop mobile, tablet, and desktop applications, documenting software
•Work closely with business partners, product management and design team to conceptualize new ideas and converting them into technical requirements and working closely with your peers to build a killer Android app
•Ability to understand and debug large and complex code bases
•Experience designing clean and maintainable APIs, multithreading programming and writing unit tests and testable code
Required Education and Experience
•Master’s degree in computer science or engineering with 3 years of industry experience or Bachelor’s degree and 5 years of industry experience
•At least 3 years of proven experience in a team/group environment with mobile, tablet, and desktop application development
•Mobile and tablet application development experience
•Proven ability to ship apps from start to finish
Other Skills & Abilities
•Has an understanding of multimedia frameworks and the ability to integrate them
•Experience with integrating audio SDKs into lower level APIs on Android, iOS and Windows 8, as well as knowledge of common audio API’s, and digital audio signal processing is ideal
投去IEEE Trans的paper，小改被接收了。至此，终于在领域内top1 journal灌水成功。加上之前top 3的journal和另外一篇水文，也算有3篇了，毕业也稍微有点指望。
之所以说是灌水，那是因为东西确实比较水，和炸药奖有亿万光年的差距，所以paper status变成awaiting AE decision后，我久经马拉松考验的小心肝就忐忑起来。
1. Intel 推出Santa Rosa平台推出，小改Core 2 Duo + 965 + GMA3000 + 802.11n
对现在的笔记本还是很满意，最近把内存加到640M。IBM X24 1.1G/640M/80G/12.1’/Wifi/1.6KG，一年内应该还是不会换。坚持笔记本要有稳定/移动/坚固/舒适，台式要性能。
2. ATI 发布DX10 Radeon HD 2900XT
yy一下台式机，但愿1年后能搞到AMD/Intel 3G Duo Core/ 2-4G Ram/ ATI/Nvidia下代旗舰或当前旗舰加强版显卡/ 24′ LCD显示器
3. SC2 – StarCraft II 官方解密
制造一个传奇是十分困难的事情，要想续写一个传奇就更困难了。不过暴雪还是鼓起勇气去做了。1998年SC面世是这个传奇的开始，近10年后的今天StarCraft II终于确认接近发布。虽然我几乎不玩SC，但也能体会到其平衡中充满了变数的奇妙。SC2 基本上看来是个3D版的SC1 框架主体没变，一方面继承了SC传统并有相应提高，另一方面开发起来也比较稳妥，不必一不小心糟蹋了经典。
4. Active Noise Control System Using National Instruments
测试仪器B & K SPLA meter
2007. 7. 8更新: