討論區快速選單
知識庫快速選單
政府補助!學嵌入式+物聯網 軟體開發過程中有哪些資安漏洞?
[ 回上頁 ] [ 討論區發言規則 ]
virtual audio driver
更改我的閱讀文章字型大小
作者 : kid1972tw(奇)
[ 貼文 15 | 人氣 7520 | 評價 0 | 評價/貼文 0 | 送出評價 6 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/5/28 上午 11:02:06
Hi

請問 virtual audio driver 有甚麼用啊 , 怎樣的情況會需要用到它

為何不用實體的 audio driver 就好 , 有範例程式嗎 ?
作者 : tdtsai(新兵衛) 驅動程式優秀好手貼文超過200則
[ 貼文 362 | 人氣 779 | 評價 1290 | 評價/貼文 3.56 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人kid1972tw註記此篇回應為很有道理 2007/5/28 下午 02:53:55

>Hi
>
>請問 virtual audio driver 有甚麼用啊 , 怎樣的情況會需要用到它
>
>為何不用實體的 audio driver 就好 , 有範例程式嗎 ?
All most vitural audio driver for teach purpose. You can reference DDK Sample MSVAD.
作者 : weber(weber) 程式設計甘苦談優秀好手貼文超過200則人氣指數超過30000點
[ 貼文 302 | 人氣 33525 | 評價 2220 | 評價/貼文 7.35 | 送出評價 4 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人kid1972tw註記此篇回應為很有道理 2007/5/28 下午 06:39:20
Virtual Audio Driver 好用的很!
端看你的市場敏銳度如何.

如果我有時間, 下一波就是要複製
Virtual Camera Driver 的用途到
Virtual Audio Driver 上.

Programmer 有時也要抬頭看看外界的變化,
而不是一直埋頭苦幹, 最後只淪落為 PM 的工具,

PM 隨便說句話, RD 就要被搞死.
更可怕的是, PM 跟 RD 都沒事先做功課,
不了解 project 的技術深度, 就一頭栽進去.
作者 : tdtsai(新兵衛) 驅動程式優秀好手貼文超過200則
[ 貼文 362 | 人氣 779 | 評價 1290 | 評價/貼文 3.56 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/5/29 上午 09:57:28

>Virtual Audio Driver 好用的很!
>端看你的市場敏銳度如何.
>
>如果我有時間, 下一波就是要複製
>Virtual Camera Driver 的用途到
>Virtual Audio Driver 上.
>
>Programmer 有時也要抬頭看看外界的變化,
>而不是一直埋頭苦幹, 最後只淪落為 PM 的工具,
>
>PM 隨便說句話, RD 就要被搞死.
>更可怕的是, PM 跟 RD 都沒事先做功課,
>不了解 project 的技術深度, 就一頭栽進去.
>
Yes you can use virtual audio driver on may purpose. But if you want to use it on commercial purpose, only I have see is use it on Skype phone.
作者 : weber(weber) 程式設計甘苦談優秀好手貼文超過200則人氣指數超過30000點
[ 貼文 302 | 人氣 33525 | 評價 2220 | 評價/貼文 7.35 | 送出評價 4 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/6/1 下午 03:16:32
You can do
1. redirect USB audio stream into the DirectSound
   to do echo cancelation, sound effect, or FFT process.

2. And then redirect to VoIP application to get
   better sound quality without any extra hardware cost.

Some USB IC company claim they have HW Audio process.
But for me, this function can be replaced by SW.
作者 : tdtsai(新兵衛) 驅動程式優秀好手貼文超過200則
[ 貼文 362 | 人氣 779 | 評價 1290 | 評價/貼文 3.56 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/6/1 下午 04:00:44

>You can do
>1. redirect USB audio stream into the DirectSound
> to do echo cancelation, sound effect, or FFT process.
>
>2. And then redirect to VoIP application to get
> better sound quality without any extra hardware cost.
>
>Some USB IC company claim they have HW Audio process.
>But for me, this function can be replaced by SW.
USB Audio IC company which claim they have HW Audio proecess to support DirectSound, DirectSound3D HW Acceleration are do those HW Acceleration in Driver. If you want to do those thing you need to hook Directsound and Legacy audio interface to get Playback and capture wave data. It not easy to do. It's not like Virtual PCCAM because not all app use directshow to play sound. Weber you can try it and you will see the different between audio device and Video capture device.
But I may wrong you can find more better solution in audio device.
作者 : weber(weber) 程式設計甘苦談優秀好手貼文超過200則人氣指數超過30000點
[ 貼文 302 | 人氣 33525 | 評價 2220 | 評價/貼文 7.35 | 送出評價 4 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/6/1 下午 11:11:34
1. Audio codec, like RealTeK ALC series,
   already has some audio HW DSP function.
   which is used in directsound.
   
   So I can use the audio codec, not USB audio IC,
   to do audio dsp.

2. KSPROXY interface treat the audio/video capture
   device is the same, you can study "Virtual Audio Channel"
   which is a WinXP open source software for Skype.

You can use those tech to replace USB Audio HW DSP function.
作者 : lukewu(天行者)
[ 貼文 105 | 人氣 4009 | 評價 570 | 評價/貼文 5.43 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/6/1 下午 11:30:31
As I know for RealTek ALC audio codec solution, the DSP functions are all implemented inside the driver, for example, in XP the audio driver uses WavePCI miniport, and the DSP is inside kernel mode driver and for Vista it uses WaveRT miniport, it no longer can process the audio stream so the DSP is inside the APO which is so called the user mode audio driver.

作者 : tdtsai(新兵衛) 驅動程式優秀好手貼文超過200則
[ 貼文 362 | 人氣 779 | 評價 1290 | 評價/貼文 3.56 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/6/2 上午 12:50:29

>1. Audio codec, like RealTeK ALC series,
> already has some audio HW DSP function.
> which is used in directsound.
>
> So I can use the audio codec, not USB audio IC,
> to do audio dsp.
>
>2. KSPROXY interface treat the audio/video capture
> device is the same, you can study 'Virtual Audio Channel'
> which is a WinXP open source software for Skype.
>
>You can use those tech to replace USB Audio HW DSP function.
1. RealTek ALC series don't have HW DSP function. RealTek ALC series all DSP function are process in driver. And if you want to use those DSP function you must use Codec as output. You can't use those DSP function do some process and redirect it to USB Audio.
2. Unfortunately, application like soundrecord, cooledit. don't need to use KSPROXY interface to control audio caputre device. It use legicy API to do record data. It will be transfer to DeviceIoControl by Winmm.lib and send to driver directly.
Can you give URL about 'Virtual Audio Channel'? I can't find it on google. I want to study it. I have study skype api and try to write a middleware. I find some sample on Skype company. It seems not very difficult to control it. But I want learn more maybe I can add more function on it.
作者 : eboytw2002(eBoy) 驅動程式優秀好手貼文超過200則人氣指數超過70000點
[ 貼文 338 | 人氣 70186 | 評價 2000 | 評價/貼文 5.92 | 送出評價 4 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/6/3 上午 02:39:39
HI, Weber / tdtsai / lukewu

For your talking about virtual audio driver, I provide some different options.

In my view point, there are two different methods to be implemented by this virtual audio

when I saw this mail published in this discusser.

For weber:
-----------
I agree your points to implement the virtual audio onto AEC , HTRF or something.....

Actually, I have had implemented these AEC and HTRF code based on DSP. but I don't

agree your point to design the FFT process with Direct3D Sound COM object becuase it is not

a smart independent Audio DSP function to utilize the DSP code. As we know, Microsoft VISTA

platform has had a completed Audio DSP functions there and I don't see any commercial values

right now only if using in professional audio acoustics controller system or musical instruments

composing applications.


This VISTA audio algorithm will spend < 5% dual core CPU performance becuase it needs to use the

huge division on FFT for audio process. And I don't think if you want to implement the audio process

in RISC processor.... :>

My idea is trying to sales the Audio DSP independent module into portable audio player which is

allied with MCU. I have done the ARM and TI DSP solutions already.

The second point you assign is VOIP, that's a good idea for cell phone also. I am trying to

improve my AEC quality on freescale DSP now.


This Direct3D Sound is a COM interface which is recorded the WAVE data pathes implemented in

audio hardware codec topology. I don't think there is audio process handled in audio hardware

codec IC. in Fact , all the audio process is done by Intel CPU in PC platform.

KSPROXY , as I know is a filter which deals with multimedia I/O requirement of MS-Windows system.

But if we want to get the audio raw data for processing, we must send the audio I/O requrement

packages into KSPROXY for gathering.

For tdtsai :
-------------
RealTek ALC series codec and windows driver don't do any audio DSP function in kernel, because

it can NOT and don't need to do in this way. It just needs to get the audio raw data from

KSPROXY which can be a agent to communicate between Direct3D Sound and customizing audio functions

in user mode application.

If the RealTek want to design a customizing audio function, it will need to use the legency

function to be caller when gathering the audio raw data. This way is done in user-mode application.

But I dont think RealTek has done it. RealTek buy them outsourcing.


Your USB controller ( client or host ) will claim the Audio process ..!? I am doubt the audio quality

and USB bitrate. Could you offer 30 MIPS processor resource out for the Audio process in your device ?

For lukewu:
------------

WaveRT , WavePCI and WaveCyclic are just a filter methods to render / capture wave-formatted digital

audio data. it is not a Audio process to have any sound effect. 5.1 and 7.1 channel is a sound effect

which are implemented in hardware codec , they are not done in .......WaveRT , WavePCI and WaveCyclic.

[eBoy]
本來覺的奇怪, 怎麼大家都寫英文了呢 ? 哈哈..............
作者 : lukewu(天行者)
[ 貼文 105 | 人氣 4009 | 評價 570 | 評價/貼文 5.43 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/6/3 下午 06:19:50
Hi Eboy,

Maybe you have some misunderstanding of my meaning, I didn't put much emphasis on the different miniports, the main difference between XP and Vista audio driver is one can use DSP to process audio streams in kernel mode driver and another can't because for WaveRT miniport we can't do that since we can't touch the stream directly. ( Of course, to use WavePCI is allowed in Vista but can't get logo) My point is WHERE we can put the soft DSP part inside the driver, for example, in XP we can put it inside the kernel driver, but in Vista
if for WaveRT miniport reason we can't .

As long as the driver has the capability to process audio stream then it's ok to
insert the DSP for the audio sound effect.
作者 : lukewu(天行者)
[ 貼文 105 | 人氣 4009 | 評價 570 | 評價/貼文 5.43 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/6/3 下午 06:51:34
>RealTek ALC series codec and windows driver don't do any audio DSP >function ?in kernel, because it can NOT and don't need to do in this way. It >just needs to get the audio raw data from KSPROXY which can be a agent to >communicate between Direct3D Sound and customizing audio functions
>in user mode application.

I don't think I agree the above statement , and I think tdtsai won't agree, too.
If you install RealTek audio driver then you will understand how they provide the audio sound effects by themselves including EQ for all the Windows sound but not just for Direct3D, those MUST be done in the driver no matter in kernel mode or user mode driver.

I am not sure why you say audio DSP "it can NOT" be in kernel driver, in fact , it can, and most audio audio vendors do that way including mine.


作者 : eboytw2002(eBoy) 驅動程式優秀好手貼文超過200則人氣指數超過70000點
[ 貼文 338 | 人氣 70186 | 評價 2000 | 評價/貼文 5.92 | 送出評價 4 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/6/3 下午 10:24:42
NO...........

你對於 Audio driver 認知一知半解, 這不怪你, 很多 Driver writer 都會搞錯方向了呢!!

不要生氣...... 哈, 氣消一點 , 我給你 我的 MSN : eboytw@hotmail.com

若看到我, 我們來聊聊!!!!

[eBoy]
夏天到了, 火氣小一點...........
作者 : tdtsai(新兵衛) 驅動程式優秀好手貼文超過200則
[ 貼文 362 | 人氣 779 | 評價 1290 | 評價/貼文 3.56 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/6/4 上午 10:25:18

>NO...........
>
>你對於 Audio driver 認知一知半解, 這不怪你, 很多 Driver writer 都會搞錯方向了呢!!
>
>不要生氣...... 哈, 氣消一點 , 我給你 我的 MSN : eboytw@hotmail.com
>
>若看到我, 我們來聊聊!!!!
>
>[eBoy]
>夏天到了, 火氣小一點...........
eBoy 大大 我不認為天行者大大 對Audio Driver 認知一知半解的 因為他說的是事實 在Windows XP 以前的OS Audio Driver 的DSP 處理都是在Driver 裡例如 AEC, Microphone Array, Hrtf, EQ, SRC 等等 ... 在Widnows Vista 下HD Audio 因為要過Vista 認證的關係 必須使用WaveRT Miniport 而在WaveRT 的Miniport 中 Kernel Mode Driver 不直接touch Data 及Audio 構架的改變 迫使得原本在Kernel Mode Driver 的DSP 上移到USER Mode 的APO(因為MS 也希望DSP 移到USER Mode APO中) 而AEC, Microphone Array MS 做好了 DMO 的Object 放在USER Mode 中 ... 我相信如果天行者大大要是對Audio Driver 一知半解的話 他們公司就完蛋囉 :)
而您要做的VOIP Embedded 應該是UC device吧 這個東西我們到是沒什麼研究 可以向您討教一下嗎 ?? 感覺上UC device 是MS 要一統VOIP平台的Spec
我的MSN : hsinpingwei@hotmail.com
作者 : weber(weber) 程式設計甘苦談優秀好手貼文超過200則人氣指數超過30000點
[ 貼文 302 | 人氣 33525 | 評價 2220 | 評價/貼文 7.35 | 送出評價 4 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/6/4 下午 12:33:05
原來不只 USB Camera, 現在連 Audio 也被 MS 限制的死死的.
如果我是 MS, 我當然也會這麼做, 把所有 Driver 全部限制成
只准用 MS provided driver. 而硬體的差異性, 就用 firmware (like UVC)
, ACPI BIOS, 或 miniport to AV Stream class 來實現.

這樣一堆的 IC 廠商就不能用 driver, 在天子腳下亂搞, 造成當機.
要亂搞可以! 到 User Mode 去亂搞, 一但搞太過火而出錯,
OS 還有能力去收拾殘局.

在 Windows 上可以解問題的 solution, 實在太多.
在寫 Virtual Cam 時, 收集所有付費版本及網路文章,
 經過 Trace, Disassembly 後, 一共發現 4 種解法.

我不敢去否定他人的解法, 我只敢確定自己的解法是可行.
畢竟世上太多能人異士, 而軟體解法, 又不像高等數學般,
具有嚴謹的唯一結論.

至於擔心 PC 的效能拼不過 DSP.
我只能說, 這只是一般人對 PC 的看法.
我已經 Try 出 1 種快速方法.
Demo Prototype 時, 把那些 PM 嚇得啞口無聲.
直問我甚麼時候才能商品化.

連 SGS-Tomson 來推 CMOS Sensor 時,
Show 出這個 prototype 後,
叫他跟單純的 USB Controller 搭配,
不用去找 Sonix, EPMIA. 他也聽進去了.
屆時用便宜硬體成本 + 軟體, 來砲打
成本貴, 功能少的公版 solution.

現在我最想做的事, 已經有點偏向學術.
拜網路發達, 很容易得到全球各名校的學術論文,
或研究計畫的 Open Source.

將這些 Alogrithm 弄懂後, 配合比 DSP 還快的運算能力.
我相信會大幅拉高技術門檻. 讓對手很難追上.

誰說只有搭配 IC Design Hourse 的 IC 才能搞 algorithm ?
在沒有特殊 DSP 的 PC 上, 我照樣也能搞.

而這種 "軟體 FPGA" 技術, 是我未來用軟體降低硬體成本,
應付鴻海, 宏硈o些垂直整合或捨得花錢公司的武器.
作者 : lukewu(天行者)
[ 貼文 105 | 人氣 4009 | 評價 570 | 評價/貼文 5.43 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/6/4 下午 01:03:28

>NO...........
>
>你對於 Audio driver 認知一知半解, 這不怪你, 很多 Driver writer 都會搞錯方向了呢!!
>
>不要生氣...... 哈, 氣消一點 , 我給你 我的 MSN : eboytw@hotmail.com
>
>若看到我, 我們來聊聊!!!!
>
>[eBoy]
>夏天到了, 火氣小一點...........

Sorry.. 我沒生氣啦, 可能英文看起來口氣不太好..在此說聲抱歉.
對於 Audio driver 我想還是不要再爭了
我想你可能沒有在 kernel mode audio 下實做過 sound effect 吧 所以在這邊說有點像是
在黑白講.. 可能你認為如此,但我卻不認為如此. 我想 Tdtasi 他們公司作 audio sound card 有很長的歷史了, 我們公司 也是從 ac97, hdaudio 一路走過來, 依我們的經驗如果
Realtek sound effect 還要靠 outsourcing 的話應該早倒了吧.. 呵呵.
有空在網上聊聊吧




作者 : eboytw2002(eBoy) 驅動程式優秀好手貼文超過200則人氣指數超過70000點
[ 貼文 338 | 人氣 70186 | 評價 2000 | 評價/貼文 5.92 | 送出評價 4 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/6/4 下午 10:28:21
HI,

我對於 Driver 的看法是單純的 "驅動" 功夫, 並不包含 Audio sound effect 部份, 也就是說

Audio Codec driver 只提供 Codec 和 Controller 內對於 Audio data stream 的處理, 例如包含

DMA, Channel 的 Linkage 等等, 並沒有如 Surround 的處理 ( 這理的 Surround 並不是指 Channel

Filling 而已, 若在 AC97 就是 Data pathes 的 Topology, 若在 HDA 就是指 unique wedge 設計,

因這包含了 FFT 對於 3D Sound relocated 的動作, 我就是設計這些動作的人, 也就是你們的 HDA

Driver 內去使用 Wedge 來達到 3d Sound 的設計者之一..... 這些 3D Sound effect 都是由

User-mode 利用 Driver 由 Codec 抓出來的 Raw data 去經過 Processor 計算, 所得出來的 property

, 然後放入 HDA Audio stack 的 Filter 內, 讓 Direct3D 和 Driver DDI 呼叫的程式 Lib.


一般來說, 這些 Sound effect ( 如 EQ, AEC... ) 我們都叫它是 Audio DSP, 這並不在 Driver 內

部利用 I/O Manager 被傳遞的, 取而代之的很多 Audio codec 廠商, 如 ADI , RelTek 等都是利用

Outsouring 的 Sound effect 公司 ( 如 SRS,Sensara 這些 音效後處理的公司) 所堤供的 User-mode

application. 這是不包含在 DTM Driver verify 或 WinLogo 所測試的功能之一, 不信你把 INF 打開,

就會發現 RealTek 有堤供 SRS 的 WOW Library , 這是同樣的道理


若想問一下我的作法, 來個 MSN , 決對讓你物超所值.........


[eBoy]
我每天約 7:00 pm 後就會使用私人的 MSN 的!!!! CALL 我吧!!



作者 : eboytw2002(eBoy) 驅動程式優秀好手貼文超過200則人氣指數超過70000點
[ 貼文 338 | 人氣 70186 | 評價 2000 | 評價/貼文 5.92 | 送出評價 4 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/6/4 下午 10:34:14
Hi, Weber

嗯...... 我很好奇你的方法耶,

因我聽請來, 似乎很有意思........ 有機會, 可以聯絡你嗎 ?

想看看你說的東東......

[eBoy]
不錯 ... 有新的東東看
作者 : eboytw2002(eBoy) 驅動程式優秀好手貼文超過200則人氣指數超過70000點
[ 貼文 338 | 人氣 70186 | 評價 2000 | 評價/貼文 5.92 | 送出評價 4 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/6/4 下午 10:56:34
Hi, Weber

> 原來不只 USB Camera, 現在連 Audio 也被 MS 限制的死死的.
> 如果我是 MS, 我當然也會這麼做, 把所有 Driver 全部限制成
> 只准用 MS provided driver. 而硬體的差異性, 就用 firmware (like UVC)
> , ACPI BIOS, 或 miniport to AV Stream class 來實現.

你....... 你猜對了一半, 反正這個 WDF 的 Farmework 就是把 WDM

包起來, 裝入 Framework 內, 而 Framework 基本上就是另外一個

Filter 的大集合, 有就想和其它 Driver stack 溝通, 或是想和 OS

Kernel 溝通的 WDM, 對不起, 全部打入 Framework 內的 IPC 機制,

因為 OS 已經幫你寫好 Stable 的 DDI, 有點像是 WMI 的觀念, 它

怕 Vendor 亂搞, 所以直接幫你寫好........... 哈哈 !!

[eBoy]
好累.......
作者 : eboytw2002(eBoy) 驅動程式優秀好手貼文超過200則人氣指數超過70000點
[ 貼文 338 | 人氣 70186 | 評價 2000 | 評價/貼文 5.92 | 送出評價 4 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/6/4 下午 11:32:36
HI, 新兵衛 / Weber / lukewu(天行者)

哈哈............... 我有點激動了...... 靜一靜!!!

對不起, 對不起, 對不起............

[eBoy]
哈哈..... 自己的修養還不夠......
作者 : lukewu(天行者)
[ 貼文 105 | 人氣 4009 | 評價 570 | 評價/貼文 5.43 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/6/5 上午 12:03:15

> 一般來說, 這些 Sound effect ( 如 EQ, AEC... ) 我們都叫它是 Audio DSP, 這並不在 Driver 內
>
> 部利用 I/O Manager 被傳遞的, 取而代之的很多 Audio codec 廠商, 如 ADI , RelTek 等都是利用
>
> Outsouring 的 Sound effect 公司 ( 如 SRS,Sensara 這些 音效後處理的公司) 所堤供的 User-mode
>
> application. 這是不包含在 DTM Driver verify 或 WinLogo 所測試的功能之一, 不信你把 INF 打開,
>
> 就會發現 RealTek 有堤供 SRS 的 WOW Library , 這是同樣的道理
>

我當然不否認像 SRS 或是 Dolby 這類的 sound effect 是要靠 oursourcing 來提供, 畢竟要拿它們的 logo 也要付它們的 license fee, 這也是有patent 的. 但是像是 EQ 或是 AEC / NR 這類的 Audio DSP 還要靠別家公司提供那早就要被 OEM 大廠 challenge 到死了, 像 RealTek 都已經是 on board audio market share No.1 了 , 那有可能還仰賴別人勒.如果你說像是一般corelogic 公司像是 SiS 或 VIA 附的陽春 audio driver 那還比較有可能.

一般來說 Kernal mode audio 內要做 sound effect 的話也不是很困難, 像我們就做了一個
以 2.5 ms timer driven 的 audio engine , 裡面可以插入各個 Audio DSP 的 plug-in,
以 render part 來說 一旦從 scatter gathering 的 mapped buffer 拿到 PCM RAW data 後 stream 就轉成 floating point 並進入這個 audio engine 做 DSP 處理, 最後處理完後才送入 DMA, 這個 audio engine 也有 softmixer 跟 SRC, 我們可以直接 Mix multiple streams ,也不須仰賴系統的Kmixer.

之前也有跟 Tdtsai 聊過. 原來大家的做法都是大同小異, 不過現在 Vista 大家都沒啥差別, 所有kernel mode 的 DSP 全部都搬到 APO 去了.
   

  
   


作者 : lukewu(天行者)
[ 貼文 105 | 人氣 4009 | 評價 570 | 評價/貼文 5.43 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/6/5 上午 12:30:25
另外 Eboy 大大 您提到的 unique wedge 還真的是滿少見的, 有空再跟你請教一下好了.
我想各家 audio DSP 做法各有千秋, 也沒有說怎麼做才是百分之百對的.. 可以互相交流才
是最好滴.. 之前若是有冒犯到的地方請多多海涵啦 :)


作者 : tdtsai(新兵衛) 驅動程式優秀好手貼文超過200則
[ 貼文 362 | 人氣 779 | 評價 1290 | 評價/貼文 3.56 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/6/5 上午 01:36:24

>另外 Eboy 大大 您提到的 unique wedge 還真的是滿少見的, 有空再跟你請教一下好了.
>我想各家 audio DSP 做法各有千秋, 也沒有說怎麼做才是百分之百對的.. 可以互相交流才
>是最好滴.. 之前若是有冒犯到的地方請多多海涵啦 :)
>
>
>
說老實的 我寫Audio Driver 的知識來源都是看ddk和WDK 的doc 可是我從來沒有看過eboy 大大提到的unique wedge 和 Data pathes 的 Topology 的東西 可以由USER Mode 直接Get Codec 的 raw data 所以我們都是在Kernel 中 來做DSP處理 eboy 大大可以給個資料或URL 來參考一下嗎 ... 因為我們所有的Dolby Function, Sensara 都是在Kernel 裡做掉的耶 ... :)
有空希望能和您請教一下 .... 如何把它移到USER Mode 裡 那以後就可以輕鬆一點囉 ccc
作者 : weber(weber) 程式設計甘苦談優秀好手貼文超過200則人氣指數超過30000點
[ 貼文 302 | 人氣 33525 | 評價 2220 | 評價/貼文 7.35 | 送出評價 4 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/6/5 下午 06:42:44
可以用 Glbal Shared Memory,
讓 kernel mode 傳資料給 user mode, 然後再回傳.
不過你要設計一個 upper filter 來做回傳動作.

我就是做出這種方法, 但速度跟 maintain effort
不理想, 所以乾脆全部在 user mode 去攔.

而且在 user mode 做有個好處,
就是很容易使用 DirectSound 架構來做特效.
作者 : cutesuzuna(Suzuna)
[ 貼文 13 | 人氣 2148 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/12/9 上午 12:53:44
我還是覺得 RealTek 應該有內建 DPS 在裡面.

我有一台 Acer 的 NB, 他有一個很神奇的功能就是, 你只要按一個按鈕就可以把 Acer 附贈的BlueTooth Headphone set 的 Micphone input 轉到 codec 的輸入 (Capture), 然後把codec 的 output (render) 轉換到 Bluetooth Heaphone set 的 output 上.

我一直覺得這個功能很神奇, 所以試著去探測過 Acer 提供的程式. 然後想自己寫出 application 到其他的機器上用. 但是在反組譯的過程中發現, Acer 提供的 Application 只有利用 WM_COPYDATA 發出控制命令給 RealTek 的程式. 而 RealTek 的程式會透過 Windows Audio Session API 去把 output stream redirect 到Bluetooth device, 然後透過 Directsound record from bluetooth device, 把 48K (還是44.1K..忘了) 的 LPCM data 丟給 audio driver...

所以我被迫開始反組譯跟學習怎麼寫一個 Audio miniport driver ... orz

在反組譯的過城中, 我在 Realtek 的 driver 裡面看到 Inte Integrated Performance Primitives Library 的 binary code.

過程中, RealTek 似乎有把丟下來的 LPCM data 作過 Resample 的動作, 之後用了什麼神奇的辦法把 resample 後的資料丟給 OS, 這個部份我一直看不懂.

雖然目前我沒有絕對的證據可以證明 Realtek 一定有用到 IPP, 但是這麼大的東西連結進來總是讓我覺得很可疑.

一直沒辦法搞定的問題就是, 裡面一堆 COM, 很難把整個流程連貫起來.. orz

所以想自己弄一個一樣功能的軟體, 就這樣卡死在這裡了. (泣)
作者 : lukewu(天行者)
[ 貼文 105 | 人氣 4009 | 評價 570 | 評價/貼文 5.43 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/12/10 下午 09:37:41

>我還是覺得 RealTek 應該有內建 DPS 在裡面.
>
>我有一台 Acer 的 NB, 他有一個很神奇的功能就是, 你只要按一個按鈕就可以把 Acer 附贈的BlueTooth Headphone set 的 Micphone input 轉到 codec 的輸入 (Capture), 然後把codec 的 output (render) 轉換到 Bluetooth Heaphone set 的 output 上.
>
>我一直覺得這個功能很神奇, 所以試著去探測過 Acer 提供的程式. 然後想自己寫出 application 到其他的機器上用. 但是在反組譯的過程中發現, Acer 提供的 Application 只有利用 WM_COPYDATA 發出控制命令給 RealTek 的程式. 而 RealTek 的程式會透過 Windows Audio Session API 去把 output stream redirect 到Bluetooth device, 然後透過 Directsound record from bluetooth device, 把 48K (還是44.1K..忘了) 的 LPCM data 丟給 audio driver...
>
>所以我被迫開始反組譯跟學習怎麼寫一個 Audio miniport driver ... orz
>
>在反組譯的過城中, 我在 Realtek 的 driver 裡面看到 Inte Integrated Performance Primitives Library 的 binary code.
>
>過程中, RealTek 似乎有把丟下來的 LPCM data 作過 Resample 的動作, 之後用了什麼神奇的辦法把 resample 後的資料丟給 OS, 這個部份我一直看不懂.
>
>雖然目前我沒有絕對的證據可以證明 Realtek 一定有用到 IPP, 但是這麼大的東西連結進來總是讓我覺得很可疑.
>
>一直沒辦法搞定的問題就是, 裡面一堆 COM, 很難把整個流程連貫起來.. orz
>
>所以想自己弄一個一樣功能的軟體, 就這樣卡死在這裡了. (泣)
>

呵呵, 被你發現了, 事實上 Acer 這個 audio steam redirect to bluetooth 東西我們有做出來, 而且在 XP 跟 Vista 作法是很不一樣的, 我不太清楚 RealTek 是怎麼做的, 應該他們有掛 filter driver 去 redirect stream 給 bluetooth. 你看到的 WM_COPYDATA 僅僅是 Acer 發 cmd 給 RealTek 的 filter driver agent 去開始 stream redirect, 但是過程就是個謎了.





作者 : cutesuzuna(Suzuna)
[ 貼文 13 | 人氣 2148 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/12/10 下午 10:00:58
>呵呵, 被你發現了, 事實上 Acer 這個 audio steam redirect to bluetooth 東西我們有做出來,
> 而且在 XP 跟 Vista 作法是很不一樣的, 我不太清楚 RealTek 是怎麼做的, 應該他們有掛 filter > driver 去 redirect stream 給 bluetooth. 你看到的 WM_COPYDATA 僅僅是 Acer 發 cmd > 給 RealTek 的 filter driver agent 去開始 stream redirect, 但是過程就是個謎了.

RealTek 應該沒有用到 Filter driver (至少我手上的機器沒有這樣作).
Vista 只要作一半就好, 但是這一半很傷腦筋...
作者 : tdtsai(新兵衛) 驅動程式優秀好手貼文超過200則
[ 貼文 362 | 人氣 779 | 評價 1290 | 評價/貼文 3.56 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/12/11 上午 11:41:24

>我還是覺得 RealTek 應該有內建 DPS 在裡面.
>
>我有一台 Acer 的 NB, 他有一個很神奇的功能就是, 你只要按一個按鈕就可以把 Acer 附贈的BlueTooth Headphone set 的 Micphone input 轉到 codec 的輸入 (Capture), 然後把codec 的 output (render) 轉換到 Bluetooth Heaphone set 的 output 上.
>
>我一直覺得這個功能很神奇, 所以試著去探測過 Acer 提供的程式. 然後想自己寫出 application 到其他的機器上用. 但是在反組譯的過程中發現, Acer 提供的 Application 只有利用 WM_COPYDATA 發出控制命令給 RealTek 的程式. 而 RealTek 的程式會透過 Windows Audio Session API 去把 output stream redirect 到Bluetooth device, 然後透過 Directsound record from bluetooth device, 把 48K (還是44.1K..忘了) 的 LPCM data 丟給 audio driver...
>
>所以我被迫開始反組譯跟學習怎麼寫一個 Audio miniport driver ... orz
>
>在反組譯的過城中, 我在 Realtek 的 driver 裡面看到 Inte Integrated Performance Primitives Library 的 binary code.
>
>過程中, RealTek 似乎有把丟下來的 LPCM data 作過 Resample 的動作, 之後用了什麼神奇的辦法把 resample 後的資料丟給 OS, 這個部份我一直看不懂.
>
>雖然目前我沒有絕對的證據可以證明 Realtek 一定有用到 IPP, 但是這麼大的東西連結進來總是讓我覺得很可疑.
>
>一直沒辦法搞定的問題就是, 裡面一堆 COM, 很難把整個流程連貫起來.. orz
>
>所以想自己弄一個一樣功能的軟體, 就這樣卡死在這裡了. (泣)
>
我想應該可以在Miniport Driver 裡面就完成這些事 因為BlueTooth 用的不會是WaveRT 的Miniport 如果是MiniportWaveCyclic 應該是可以做到的 只是同一個時間點BlueTooth Headset 不可以有 User Mode AP 在Access BlueTooth Headset 就是了 ..
作者 : lukewu(天行者)
[ 貼文 105 | 人氣 4009 | 評價 570 | 評價/貼文 5.43 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/12/11 下午 07:15:26
>我想應該可以在Miniport Driver 裡面就完成這些事 因為BlueTooth 用的不會是WaveRT 的Miniport 如果是MiniportWaveCyclic 應該是可以做到的 只是同一個時間點BlueTooth Headset 不可以有 User Mode AP 在Access BlueTooth Headset 就是了 ..
>

新兵衛大大 您出現啦 最近還ok 吧
不太瞭你的意思說 , 你是說 要直接從 WaveRT 傳 stream 給 Bluetooth 的 MiniPort 嗎 ?
不過前提是沒有 Bluetooth 的 source 可以改說, 而且 Bluetooth audio 也要同時可以讓
其他的 AP play 說.


作者 : tdtsai(新兵衛) 驅動程式優秀好手貼文超過200則
[ 貼文 362 | 人氣 779 | 評價 1290 | 評價/貼文 3.56 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/12/12 上午 09:02:09

>>我想應該可以在Miniport Driver 裡面就完成這些事 因為BlueTooth 用的不會是WaveRT 的Miniport 如果是MiniportWaveCyclic 應該是可以做到的 只是同一個時間點BlueTooth Headset 不可以有 User Mode AP 在Access BlueTooth Headset 就是了 ..
>>
>
>新兵衛大大 您出現啦 最近還ok 吧
>不太瞭你的意思說 , 你是說 要直接從 WaveRT 傳 stream 給 Bluetooth 的 MiniPort 嗎 ?
>不過前提是沒有 Bluetooth 的 source 可以改說, 而且 Bluetooth audio 也要同時可以讓
>其他的 AP play 說.
>
>
>
如果還要讓期他的AP play 那就沒法子了 因為其實你可以利用Kernel Streaming 在Kernel Mode 中去傳資料 利用一個Buffer 做一個Virtual 的 WaveRT DMA 然後再把 Data 利用Position Update 利用Kernel Stream 的方式傳給BlueThooth 的Headset 就好了 不然你就還要傳回USER MODE 再Create 一個Audio Stream 去 Send 給 Bluethooth Audio
作者 : j1688(5950)
[ 貼文 11 | 人氣 1193 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2008/1/8 上午 03:20:11
想請教各位大大,在Vista WaveRT中使用DirectSound進行軟體DSP或Sound Mix量測結果比XP慢上30~50ms,請問造成的原因是WaveRT還是Sound Driver?
解決方法是另外寫個Virtual Sound Driver還是另有其他更有效率的方法?

感謝答覆
作者 : tdtsai(新兵衛) 驅動程式優秀好手貼文超過200則
[ 貼文 362 | 人氣 779 | 評價 1290 | 評價/貼文 3.56 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2008/1/8 上午 09:06:23

>想請教各位大大,在Vista WaveRT中使用DirectSound進行軟體DSP或Sound Mix量測結果比XP慢上30~50ms,請問造成的原因是WaveRT還是Sound Driver?
>解決方法是另外寫個Virtual Sound Driver還是另有其他更有效率的方法?
>
>感謝答覆
WaveRT 是一種Audio Miniport 是一種Miniport Driver 耶 ....
問題應該在Audio Srv 這個Service 吧 ... 目前應該是沒有什麼比較有效率的方法吧 ...
作者 : wishtek(ray)
[ 貼文 2 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/5/5 上午 01:59:52
在下幸運的瀏覽到這篇討論,
拜讀之後發現原來這裡才是台灣Audio Driver專精人士交流的論壇,
很冒昧的提出一個懸在我心裡很久的問題, 期待各位先進能指點一下...

目前看得到的Virtual Microphone都是以Kernel Mode開發, 有機會以任何形式在User Mode做嗎?
我們想要把App取得的聲音轉到Mic...有點類似軟體答錄功能, 不知能否以User Mode完成?

目前嘗試過的方法有:
1. Direct Sound: 此方式似乎無法成為Skype的Audio Source,
2. Stereo Mix: 會牽扯到Audio Chip Driver是否支援.

感謝您不吝指教!
作者 : wishtek(ray)
[ 貼文 2 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/5/5 上午 02:00:14
在下幸運的瀏覽到這篇討論,
拜讀之後發現原來這裡才是台灣Audio Driver專精人士交流的論壇,
很冒昧的提出一個懸在我心裡很久的問題, 期待各位先進能指點一下...

目前看得到的Virtual Microphone都是以Kernel Mode開發, 有機會以任何形式在User Mode做嗎?
我們想要把App取得的聲音轉到Mic...有點類似軟體答錄功能, 不知能否以User Mode完成?

目前嘗試過的方法有:
1. Direct Sound: 此方式似乎無法成為Skype的Audio Source,
2. Stereo Mix: 會牽扯到Audio Chip Driver是否支援.

感謝您不吝指教!
 板主 : 徵求中
 > 驅動程式 - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - 驅動程式 - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
驅動程式
1 新兵衛 1240 
2 eBoy 980 
3 牧童哥 780 
4 北極熊 580 
5 天行者 580 
6 燒酒仙 440 
7 weber 380 
8 KEN 350 
9 jonay 180 
10 掌握文武半邊天 180 
驅動程式
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2019 程式設計俱樂部 http://www.programmer-club.com.tw/
0.15625