阅读:3684回复:17
USB Audio firmware
各位前辈,大侠,
我在开发一个USB Audio Device, 接了一个8bit 8KHz 的Codec 现在想录音,但声音老是录不进来或是效果很差,不知所以然。 问题一: PChost <---> USB MCU (firmware) <---> Codec <----> 描述符文件中的speaker和microphone的采样率要描述成16 bit,就可以识别该Audio,如果描述为8bit就不能识别为Audio,我不知道是为什么呢? 问题二: firmware在PChost 和 Codec之间转发数据的时候,要如何处理数据? 因为我的Codec是8位的,u-Law/a-Law,所以我得到8位数据以后,如何 把它们加工成16bits per sample并发给PCHost呢? 当PCHost给我发回16bits per sample的数据时,我又应该如何把它们转成8bits per sample呢? 问题三: 我用USB snoopy监控,用录音机录了以后再放,PChost收到的从USB发过来的数据流内容(用录音机录)与从PChost发回给USB(用录音机放),发现不一样。因而我需要知道Windows对数据的处理过程,为什么录放的数据会不一样呢? 当用16bit 8KHz录音时我检查.wave文件,其数据与我的MCU发送数据一致,但当用录音机放的时候,用snoopy看到的数据却与录的时候看到的不一样了,象是要经过某种算法的。 这里面应该与Microsoft PCM Converter有比较大的关系,所以我想知道其算法以验证数据传输的正确性。 谢谢! |
|
最新喜欢:ww7002 |
沙发#
发布于:2003-01-17 21:40
我大概知道了,应该是要符合AC \'97的标准,但现在我急于想知道的是8 bits 和 16 bits per sample 数据是如何转换的以验证我的数据传输正确性。但我找了很久很久都没找到:-<
|
|
板凳#
发布于:2003-01-18 12:24
好啊,我用的是winbond的,
你知道8bit和16bit是如何转的吗? 你用的是什么codec,你做了数据格式转换吗? |
|
地板#
发布于:2003-01-25 13:01
现在我已经可以录音了,虽然效果比较差,是不是还要滤波啊??
请问哪有G.711算法和source code,哪位知道望指引,谢谢!! |
|
地下室#
发布于:2003-02-12 18:10
有比较明显的背景噪声,怀疑是数据格式不对。
问题如下: 我的codec是A-LAW或U-LAW的,即8bits per sample 但根据AC\'97规范需要16bits????? 所以我的descriptor里描述的是16bits per sample 那么我把codec发过来的8bit的数据按每个字节后面加了个0就发给PC Host了(这是权宜之计),因为我没有G.711 虽然我知道有G711.c,但还是想看看G.711 能不能说说你的心得体会?谢谢! 我发给你的邮件,你没有回吗? |
|
5楼#
发布于:2003-02-12 18:28
祝新年快乐!^_^
|
|
6楼#
发布于:2003-02-15 15:23
你的邮件地址是什么啊?或者联系电话有吗?
你在描述符里是16位还是8位呢?如果是16位,你有用G.711转换数据格式吗?你所说的Codec工作点是指什么?能解释一下吗? |
|
7楼#
发布于:2003-06-11 17:07
至少有两种方法实现,不知道你的需求是什么?
|
|
8楼#
发布于:2003-06-20 17:41
8到16位的转换有现成的在本网站上,或者你在网上找找,sun的就可以了。
所谓两种方法说的是,自定义驱动和标准驱动。 网站的邮件联络好象有点问题,这个要请教站长了。 :cool: |
|