完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
——使用标准的USB 1音频类驱动程序PIC32 MZIAm试图弄清楚USB音频传声器在音频设置下的音量设置与它在USB端点上吐出的音量有关。对于当前时刻:Windows级别:0100-100PIC32级别,0x800到0x7FFFF,这是根据USB规格-128dB到127dBWindow=99,PIC=327 44 Window=1,PIC=22527(减少10241计数),这是Windows为MIC所拥有的音量滑块。有人知道这个比例是多少吗?可以指示Windows驱动程序发送DB吗?有没有人知道它是如何缩放的?这是一个Windows麦克风标签的图像。
以上来自于百度翻译 以下为原文 -- Using the standard USB 1.0 audio class driver -- PIC32MZ I am trying to figure out how the volume settings for my u*** microphone under 'levels' in audio settings is related to what it spits out on the USB endpoint.. As for the current moment: Windows levels: 0-100 Pic32 levels, 0x8001 to 0x7FFFF which is according to u*** spec -128db to 127db Windows = 99, PIC = 32744 Window = 1, Pic = 22527 (reduced by 10,241 counts) This is the volume slider which windows has for the mic. Anybody knows what this scaling is? Can the windows driver be instructed to send db? Does any body know how it is scaling this? Here is an image of the windows microphone tab.. |
|
相关推荐
3个回答
|
|
记录电平将取决于从开始到结束的所有增益电平,再加上麦克风灵敏度。这些增益水平包括任何模拟前置放大器和所有的数字增益通过编解码器,PIC32,和Windows放大MIC输出。假设USB接口为16位音频,则提供96 dBPCM动态范围。PCM USB麦克风数据必须被设计为适合这个16位范围内的合适的净空量,以便Windows缩放(在DBFS中)不会导致输出超出0DBFS)。您所给出的PIC32电平是为一个USB混频器类型的设备接口提供的增益,其中一个CURR、MIN、MAX和RES参数(您显示的是MIN和MAX及其相关的增益电平,RES是CURR的命令增量/递减,即电流增益值)。E记录电平,但这取决于通过编解码器的MIC灵敏度,即微压力水平(SPL)映射到16位音频编码。只有那时你才知道需要什么样的整体数字增益,如USB混频器的CURR值和Windows驱动程序设置的级别(最好手动设置)。
以上来自于百度翻译 以下为原文 The recording level will depend on all the gain levels from beginning to end, plus the microphone sensitivity. These gain levels include any analog preamplifiers and all digital gains through the CODEC, PIC32, and Windows amplifying the mic output. Assuming the USB interface is 16 bit audio gives 96 dB PCM dynamic range. The PCM USB microphone data must be designed to fit within this 16 bit range with a suitable amount of headroom so that the Windows scaling (in dBFS) doesn't cause the output to go beyond 0dBFS). The Pic32 Level that you give is the gain provided for a USB Mixer type device interface with a CUR, MIN, MAX, and RES parameter (you are showing the MIN, and MAX with their associated gain level, RES is the commanded increment/decrement of the CUR, i.e. current, gain value). These combined gains give the recording level, but that depends on the mic sensitivity through the CODEC, i.e. mapping of the mic Sound Pressure Level (SPL) to the 16 bit audio encoding. Only then will you know what overall digital gain is required, as set by the USB Mixers CUR value and the level set by the Windows driver (best set manually). |
|
|
|
你好,查尔斯,谢谢你的回复。使用SETIGRES发送到Windows的任何内容似乎都不影响增量/递减。Windows仍然缩放到体积滑块的32768和22527(100-0)。在这一点上,我们将创建一个窗口的查找表,因为它至少线性地下降,并与编解码器上的实际分贝设置相关。此外,我们重新路由增益窗口尝试使用卷滑块来对Windows SID没有任何影响。e. USB描述符被配置为使得增益设置被转移到微,并且它可以决定然而对其进行缩放。根据这个链接,窗口应该被缩放到-192dB-30dB,并且它返回一个16位的USB StuxCurr值,这似乎是令人困惑的。通过手动映射它,我们可以精确地决定如何在编***前端和/或数字增益。我希望Windows能给我0到100个数字,并且我可以手动设置增益,因为Windows无论如何都没有控制它。
以上来自于百度翻译 以下为原文 Hello again Charles, thanks for the reply. Whatever is send to windows using SET_RES does not seem to affect the increment/decrements. Windows still scales to the 32768->22527(100-0) on the volume slider. At this point we are just going to create a lookup table of windows is sending since it atleast linearly goes down and correlate that to an actual decibel setting on the codec. Also, we have re-routed the gain windows is trying to set using the volume slider to not have any affect on the windows side. The u*** descriptor is configured such that the gain settings are transferred to the the micro and it can decide however to scale it. According to this linkwindows is supposed to be scaled to -192db-30db and it is returning a 16bit u*** SET_CUR value which seems confusing. By mapping it out manually we can decide exactly how manipulate the front-end and/or digital gain on the codec side. What I would have liked is windows returning me a 0-100 number and for me to set the gain manually since windows is not controlling it anyways. |
|
|
|
大约一个月后,我有了一个线索。它看起来像Windows有一个“独占模式”,其中音频流可以由一个附加的应用程序控制。如果我禁用独占控制并重新安装驱动程序窗口,则遵从我的SETYMAX/SETJIN。这可能是USB端点向我发送GETXMax/GETHYMIN,或者我必须定期获取它,以确定我应该在什么级别操作?需要更多的调查,但是,如果我禁用高级音频设置中的“排他性模式”,它就可以正常工作了!它似乎在Wi7/Win 10上运行
以上来自于百度翻译 以下为原文 After about almost a month, I have a clue. It looks like windows has an "exclusive mode" in which the audio stream can be controlled by an additional application. If I disable the exclusive control and re-install the driver windows obeys my SET_MAX/SET_MIN. It could be a possibility that the USB endpoint is sending me a GET_MAX/GET_MIN or maybe I have to get it periodically to ascertain what levels am I supposed to operate at? More investigation is needed here However it works fine if I disable the "exclusive mode" in the advanced audio settings! And it seems to work on WIN7/WIN10 |
|
|
|
只有小组成员才能发言,加入小组>>
5323 浏览 9 评论
2076 浏览 8 评论
1982 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3254 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2293 浏览 5 评论
835浏览 1评论
732浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
674浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
728浏览 0评论
622浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-2-3 18:19 , Processed in 1.198414 second(s), Total 79, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号