windsonzhao 发表于 2017-2-27 16:25

作为理科生,数模转换损失细节很容易理解,不过实际情况是,PC听歌很多时候你是在PC旁边听,PC运转的风扇声,磁盘运转声构成了环境电磁声,对听音有不少的影响,哈哈,这才是切身体会

西瓜火山 发表于 2017-2-28 12:47

andygaof 发表于 2017-2-19 16:54
我来尝试回复一下楼主这个问题

下图是小提琴某个音调长弓的波形图,请注意一点尽管他可以用FFT来分解, ...

手动赞

仙人斑斑 发表于 2017-3-15 19:26

wljmusic 发表于 2017-2-23 23:54
现在做校验不丢包了?

丢了包找回来重新传,叫做校验

baicai1991 发表于 2017-3-15 22:21

几率问题,好的线出错几率低一点吧。

仙人斑斑 发表于 2017-5-4 22:01

校验了还丢包?那你用的Windows和我用的就可以不一样了?

wlq307 发表于 2017-5-4 22:19

亏你还说自己是码农,一个10年的码农告诉你区别在哪里,因为声音是实时性的,要求每一微秒,每一皮秒处理的数据量都要完全一致。举个例子,你解压一个1G的RAR数据包,你解压10次,你10次用的时间都会有差异,1G的数据,你用USB传输10次,10次用的时间都会不一样。这就不要谈微秒,皮秒处理的数据量是否一致了,数据是不会错,但是时间会有偏差,因为PC是多线程的,上百个线程在同时由系统调度,随时会中断,检验或者继续,你无法独占资源。

qq1653304183 发表于 2017-5-4 22:52

wlq307 发表于 2017-5-4 22:19
亏你还说自己是码农,一个10年的码农告诉你区别在哪里,因为声音是实时性的,要求每一微秒,每一皮秒处理的 ...

请继续你的表演

jackylzf 发表于 2017-5-4 23:02

琵琶琴瑟 发表于 2017-2-19 08:51
一个小例子就是,用电脑听歌经常遇到过系统造成的爆音吧?比如3分20秒你听到爆了,感觉很奇怪,进度条拖回 ...

我真的没碰到过这样的情况, 爆的地方 永远是爆的没碰到过所谓的 该爆不爆的

梅露露 发表于 2017-5-4 23:27

PC的主要问题是干扰大

cain8889 发表于 2017-5-4 23:38

这个盲听可破,其实盲听可以验证很多疑问,但貌似大家都不喜欢盲听,知道这样说招人烦但还是说了

tapie 发表于 2017-5-5 07:18

farrel 发表于 2017-2-19 14:00
楼主是码农,应该知道数字信号不会出错的原理吧,一般信道都是同时传输信号和校验码,如果0,1出错,那么校 ...

这是唯一站得住脚的解释,如果规范的确如此的话。

tapie 发表于 2017-5-5 07:25

音频输出是一种非常简单的IO操作(解码工作都由DAC做),PC机除了处理一下中断返回,是不占用什么资源。PC机上各种卡顿,我更多认为是播放器软件写的渣,或者其他软件突发把电脑资源占用太多。我觉得讨论还是放在正常使用环境比较好,这种突发的东西,我觉得没必要太过聚焦。

gaojiugao 发表于 2017-5-5 07:46

25楼解释的不错

lotuschilde 发表于 2017-5-5 12:03

琵琶琴瑟 发表于 2017-2-19 08:51
一个小例子就是,用电脑听歌经常遇到过系统造成的爆音吧?比如3分20秒你听到爆了,感觉很奇怪,进度条拖回 ...

只不过出问题的程度和强度不同,时间也可能是随机的,这里只能这样认为,因为谁也没有去论证过到底什么情况下传输会出问题。那么大到明显的出爆音,这毫无疑问是传输有错误,如果小到几不可闻,这种情况其实也是传输有错误,只是程度不同罢了。

HHYYTT 发表于 2017-5-5 13:03

我准备有空用单片机做个usb audio的误码测试仪,顺便测测数据包时域情况。

aarwwefdds 发表于 2017-5-5 15:01

本帖最后由 aarwwefdds 于 2017-5-5 15:29 编辑

说来说去都是那一套jitter论 误码论。
http://www.erji.net/forum.php?mod=viewthread&tid=1987631&extra=

别的我不说 看下USB/UAC基础原理吧,特别是楼上那些说自己是码农的,里面还有UAC实现代码,想必都看得懂吧。关于USB同步传输的事情上面也有说

看到楼上还有搬来老奔腾浮点运算BUG的事情,差点以为穿越了...本来浮点运算就是有精度限制的,拿个excel就能发现。然后老奔腾浮点运算图省事加快效率的事情,现在有些编译器也允许你做类似的事情,例如gcc里的--ffast-math,就是降低精度换速度(虽然会违反ISO规范)。而且x86架构只是定义了整数计算单元,一般定义里是不带浮点数单元的。只不过后来加FPU成了惯例而已

而PC里大多数操作都是整数运算操作,除了运算密集型应用。Windows不开源不知道,至少Linux内核里是也是尽全力避免真浮点运算(需要用到浮点运算时 用整数运算模拟浮点运算避免使用FPU)。大多数音频数据也是16/24/32位整数(除非你闲得慌用32位浮点)。所以浮点这事就别拿出来说了。

哦对了,FB2K在应用了DSP(包括音量控制)以后会使用双精度浮点给DSP计算音频数据,最后输出时会向下取整。担心浮点不精确的只要关DSP音量控制拉满然后ASIO输出就行了

然后作为码农,应该是最明白CPU/内存出错的时候会出什么事情的...直接crash啊。这种错误基本上都会让CPU遇上不可理解的错误指令,或者让指向的内存地址发生错误,为了避免任何可能产生的错误产生毁灭性影响,计算机的先驱们设计了各种机制,使得出错时能够及时中止运行。后来x86保护模式的引入更避免了程序崩溃使得整个PC系统崩溃。现在遇上问题CPU就会抛出一个“异常”,然后走异常处理流程,处理不掉就会给个错误然后结束自身。当你写的VC++程序crash时你是先觉得PC的CPU/内存出错还是先觉得软件上有问题?

既然一个正常的PC没有随时蓝屏,你的程序不会经常随机性崩溃(程序有BUG除外)。那你管那么多干啥...只有要求那种长时间在线的服务器,因为要连续高负载运行好几年都不能崩溃,才会应用上ECC内存。至于CPU校正...AMD曾经搞了个ACC,本意是为了让南桥校正CPU超频而又没给够电压的情况下可能产生的CPU错误(加压可以稳定超频后的CPU 副作用是耗电量增加以及发热量增大),结果被拿去开核了,然后就没然后了。

而且一个烧友,一条合格的USB线应该都有的吧,没有某宝也一堆什么发烧线了。USB线也不需要做阻抗匹配(确实有阻抗要求不过一般在PCB板上完成)。说充电各种跳的应该看一下自己的充电线是不是合格了,我自己测过一些廉价USB线,包括一些厂家送的机线,线损很大不好使。

aarwwefdds 发表于 2017-5-5 15:24

HHYYTT 发表于 2017-5-5 13:03
我准备有空用单片机做个usb audio的误码测试仪,顺便测测数据包时域情况。

其实有现成的软硬件可以测。
期待你的测试

页: 1 2 3 4 [5]
查看完整版本: 身为码农出身的新烧,弄不懂为啥数字音源会有区别,请老烧指点迷津