找回密码
 -注册-
楼主: wljmusic
打印 上一主题 下一主题

身为码农出身的新烧,弄不懂为啥数字音源会有区别,请老烧指点迷津

[复制链接]
81
发表于 2017-3-15 19:26 | 只看该作者 来自 四川成都
wljmusic 发表于 2017-2-23 23:54
现在做校验不丢包了?

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

使用道具 举报

82
发表于 2017-3-15 22:21 | 只看该作者 来自 广东广州
几率问题,好的线出错几率低一点吧。
回复

使用道具 举报

83
发表于 2017-5-4 22:01 | 只看该作者 来自 四川成都
校验了还丢包?那你用的Windows和我用的就可以不一样了?
回复

使用道具 举报

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

使用道具 举报

85
发表于 2017-5-4 22:52 | 只看该作者 来自 广东深圳
wlq307 发表于 2017-5-4 22:19
亏你还说自己是码农,一个10年的码农告诉你区别在哪里,因为声音是实时性的,要求每一微秒,每一皮秒处理的 ...

请继续你的表演
回复

使用道具 举报

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

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

使用道具 举报

87
发表于 2017-5-4 23:27 | 只看该作者 来自 河南
PC的主要问题是干扰大
回复

使用道具 举报

88
发表于 2017-5-4 23:38 | 只看该作者 来自 北京宣武
这个盲听可破,其实盲听可以验证很多疑问,但貌似大家都不喜欢盲听,知道这样说招人烦但还是说了
回复

使用道具 举报

89
发表于 2017-5-5 07:18 | 只看该作者 来自 广东广州
farrel 发表于 2017-2-19 14:00
楼主是码农,应该知道数字信号不会出错的原理吧,一般信道都是同时传输信号和校验码,如果0,1出错,那么校 ...

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

使用道具 举报

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

使用道具 举报

91
发表于 2017-5-5 07:46 | 只看该作者 来自 上海
25楼解释的不错
回复

使用道具 举报

92
发表于 2017-5-5 12:03 | 只看该作者 来自 湖南长沙
琵琶琴瑟 发表于 2017-2-19 08:51
一个小例子就是,用电脑听歌经常遇到过系统造成的爆音吧?比如3分20秒你听到爆了,感觉很奇怪,进度条拖回 ...

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

使用道具 举报

93
发表于 2017-5-5 13:03 | 只看该作者 来自 广东深圳
我准备有空用单片机做个usb audio的误码测试仪,顺便测测数据包时域情况。
回复

使用道具 举报

94
发表于 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线,包括一些厂家送的机线,线损很大不好使。
回复

使用道具 举报

95
发表于 2017-5-5 15:24 | 只看该作者 来自 上海
HHYYTT 发表于 2017-5-5 13:03
我准备有空用单片机做个usb audio的误码测试仪,顺便测测数据包时域情况。

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

回复

使用道具 举报

您需要登录后才可以回帖 登录 | -注册-

本版积分规则

Archiver|手机版|粤icp备09046054号|耳机网-耳机大家坛

粤公网安备 44030602000598号 耳机大家坛、www.erji.net、网站LOGO图形均为注册商标

GMT+8, 2024-11-5 18:40

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表