vrfvrf
驱动牛犊
驱动牛犊
  • 注册日期2002-11-07
  • 最后登录2003-08-18
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:3672回复:17

USB Audio firmware

楼主#
更多 发布于:2003-01-17 16:01
各位前辈,大侠,

我在开发一个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有比较大的关系,所以我想知道其算法以验证数据传输的正确性。

谢谢!


最新喜欢:

ww7002ww7002
vrfvrf
驱动牛犊
驱动牛犊
  • 注册日期2002-11-07
  • 最后登录2003-08-18
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-01-17 21:40
我大概知道了,应该是要符合AC \'97的标准,但现在我急于想知道的是8 bits 和 16 bits per sample 数据是如何转换的以验证我的数据传输正确性。但我找了很久很久都没找到:-<
xjLegend
驱动小牛
驱动小牛
  • 注册日期2002-11-04
  • 最后登录2005-06-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-01-18 11:02
你采用的是哪种Codec呢?我也正在作这个,已差不多了,不妨探讨探讨。

[编辑 -  1/18/03 by  xjLegend]
我想要点分,这样才有成就感嘛!
vrfvrf
驱动牛犊
驱动牛犊
  • 注册日期2002-11-07
  • 最后登录2003-08-18
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-01-18 12:24
好啊,我用的是winbond的,
你知道8bit和16bit是如何转的吗?
你用的是什么codec,你做了数据格式转换吗?
vrfvrf
驱动牛犊
驱动牛犊
  • 注册日期2002-11-07
  • 最后登录2003-08-18
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-01-25 13:01
现在我已经可以录音了,虽然效果比较差,是不是还要滤波啊??

请问哪有G.711算法和source code,哪位知道望指引,谢谢!!

xjLegend
驱动小牛
驱动小牛
  • 注册日期2002-11-04
  • 最后登录2005-06-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-02-12 17:27
好久没来了,回家过春节了。

你的效果怎么个差法?是否需要滤波要看你的codec吧.
我想要点分,这样才有成就感嘛!
vrfvrf
驱动牛犊
驱动牛犊
  • 注册日期2002-11-07
  • 最后登录2003-08-18
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于: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

能不能说说你的心得体会?谢谢!
我发给你的邮件,你没有回吗?
vrfvrf
驱动牛犊
驱动牛犊
  • 注册日期2002-11-07
  • 最后登录2003-08-18
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-02-12 18:28
祝新年快乐!^_^
xjLegend
驱动小牛
驱动小牛
  • 注册日期2002-11-04
  • 最后登录2005-06-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2003-02-15 14:51
我没有收到你的邮件啊!

我这也是8位采样,也有背景噪声,但分辨声音没问题。据分析是需要调整codec工作点。
我想要点分,这样才有成就感嘛!
vrfvrf
驱动牛犊
驱动牛犊
  • 注册日期2002-11-07
  • 最后登录2003-08-18
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2003-02-15 15:23
你的邮件地址是什么啊?或者联系电话有吗?

你在描述符里是16位还是8位呢?如果是16位,你有用G.711转换数据格式吗?你所说的Codec工作点是指什么?能解释一下吗?
lmx800
驱动牛犊
驱动牛犊
  • 注册日期2003-04-21
  • 最后登录2004-03-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2003-06-11 15:31
高人,我也正想实现类似的东西,可是却一头雾水。能不能share一下实现方案?感激不尽,如不愿公布,能不能发到我的信箱?
lmx800@163.com
vrfvrf
驱动牛犊
驱动牛犊
  • 注册日期2002-11-07
  • 最后登录2003-08-18
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2003-06-11 17:07
至少有两种方法实现,不知道你的需求是什么?
lmx800
驱动牛犊
驱动牛犊
  • 注册日期2003-04-21
  • 最后登录2004-03-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2003-06-20 16:44
终于回复了,楼上老兄说至少有两种方法实现,可否都讲一讲?我也对8-16的转换很迷惑,能否答疑?不知道可不可以跟你EMAIL联系,可以快一些,我的信箱是lmx800@163.com,期待您的来信!感激不尽! :D
vrfvrf
驱动牛犊
驱动牛犊
  • 注册日期2002-11-07
  • 最后登录2003-08-18
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2003-06-20 17:41
8到16位的转换有现成的在本网站上,或者你在网上找找,sun的就可以了。

所谓两种方法说的是,自定义驱动和标准驱动。

网站的邮件联络好象有点问题,这个要请教站长了。 :cool:
lmx800
驱动牛犊
驱动牛犊
  • 注册日期2003-04-21
  • 最后登录2004-03-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2003-07-08 09:52
问一下,你们采用的是什么芯片(语音转换的和USB的)?
LZQING_FAIRWAY
驱动牛犊
驱动牛犊
  • 注册日期2002-10-26
  • 最后登录2010-01-21
  • 粉丝0
  • 关注0
  • 积分31分
  • 威望5点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2003-08-11 16:03
明显的背景噪声可能是MIC出来的
kermit
驱动小牛
驱动小牛
  • 注册日期2002-11-29
  • 最后登录2010-03-29
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2003-08-17 11:08
花了一个礼拜时间,终于把USB的录音和放音做好了,音质很好。之前发mail请教了一些在这里的先驱,不过没人理我。想想当时的沮丧,实在是没法说。为了PCM和A Law的转换,找G7。11的spec,找了够久的了。为后来者想一想,决定最近在www.eyeteck.com上提供G711的spec下载。不好意思,事情总要靠自己努力的,所以不要来问我source code。
woodhead
驱动牛犊
驱动牛犊
  • 注册日期2002-10-09
  • 最后登录2007-01-04
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2005-01-27 16:33
kermit,我也在作类似的内容,能把你的经验共享吗?
游客

返回顶部