[便携设备] 挖了个坑,做块板尝试绕过LINUX SRC

[复制链接] 查看: 25094|回复: 22

95

主题

5

好友

1179

积分
     

侠之大者 当前离线

论坛傻逼多

Rank: 6Rank: 6

UID
577648
帖子
1089
精华
0
经验
1179 点
金钱
958 ¥
注册时间
2013-3-26
发表于 2018-6-10 20:37 | 显示全部楼层
鉴于Linux,安卓系统的毁音质SRC,简单说明一下就是它把非44.1K采样率的文件统一转成44.1K来播。这是音质差的一个原因
详细请看贴,这里不多说。
http://mobile.it168.com/a2012/0202/1306/000001306280_1.shtml

另一个是时钟精确度,为了兼容USB通信,ARM里的PLL不像射频PLL那样可以那么细的分频。另一个问题是PLL的抖动相对晶振较大。

作为一个实验性的尝试,我特意画了块AT91SAM9260小板,在终端模式下播放音乐,再进一步想法办绕过系统SRC。
一步一步,慢慢来。首先希望板子没问题,能跑起系统再说。


9260.png

待续

228

主题

1

好友

2763

积分

罗宾汉 当前在线

Rank: 7Rank: 7Rank: 7

UID
803005
帖子
3314
精华
0
经验
2763 点
金钱
2390 ¥
注册时间
2015-10-29
发表于 2018-6-11 08:42 来自手机端 | 显示全部楼层
我怎么记得安卓是强制把44.1k转成48k?

95

主题

5

好友

1179

积分
     

侠之大者 当前离线

论坛傻逼多

Rank: 6Rank: 6

UID
577648
帖子
1089
精华
0
经验
1179 点
金钱
958 ¥
注册时间
2013-3-26
 楼主| 发表于 2018-6-11 11:15 | 显示全部楼层
本帖最后由 BH7KQK 于 2018-6-11 11:25 编辑
592657820 发表于 2018-6-11 08:42
我怎么记得安卓是强制把44.1k转成48k?


Android原生系统下SRC强行设定为44.1Khz输出,不排除设置到48K的可能,有手机是这么做的。
头像被屏蔽

4

主题

4

好友

356

积分
     

禁止发言 当前离线

UID
96502
帖子
284
精华
0
经验
356 点
金钱
278 ¥
注册时间
2009-4-14
发表于 2018-6-11 11:50 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

99

主题

10

好友

6331

积分
     

青铜剑侠 当前离线

Rank: 8Rank: 8

UID
583026
帖子
7385
精华
0
经验
6331 点
金钱
6040 ¥
注册时间
2013-4-11
发表于 2018-6-11 12:33 | 显示全部楼层
BH7KQK 发表于 2018-6-11 11:15
Android原生系统下SRC强行设定为44.1Khz输出,不排除设置到48K的可能,有手机是这么做的。

不是很懂.
但老安卓播44.1的音乐确实不行,但电影或电影原声就很给力.
所以应该是强制48出

95

主题

5

好友

1179

积分
     

侠之大者 当前离线

论坛傻逼多

Rank: 6Rank: 6

UID
577648
帖子
1089
精华
0
经验
1179 点
金钱
958 ¥
注册时间
2013-3-26
 楼主| 发表于 2018-6-11 13:48 | 显示全部楼层
ss0009671 发表于 2018-6-11 12:33
不是很懂.
但老安卓播44.1的音乐确实不行,但电影或电影原声就很给力.
所以应该是强制48出

以前的DAC大多数最高支持48K所以才有这样的操作,都说了可以设置为强制44.1K或48K。
关键是强制了,现在问题是怎么绕过去支持96K和192K。

95

主题

5

好友

1179

积分
     

侠之大者 当前离线

论坛傻逼多

Rank: 6Rank: 6

UID
577648
帖子
1089
精华
0
经验
1179 点
金钱
958 ¥
注册时间
2013-3-26
 楼主| 发表于 2018-6-11 13:49 | 显示全部楼层
rabbitgg 发表于 2018-6-11 11:50
现在新一点的kernel+alsa lib(好像要大于1.027,记不太清了),就都可以bit perfect了,只是默认会使用src ...

大神懂得真多,如果是USB输出数据的话,而不是I2S信号,解码器就可以完美解决上面几个问题了吧。
头像被屏蔽

4

主题

4

好友

356

积分
     

禁止发言 当前离线

UID
96502
帖子
284
精华
0
经验
356 点
金钱
278 ¥
注册时间
2009-4-14
发表于 2018-6-11 14:43 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

95

主题

5

好友

1179

积分
     

侠之大者 当前离线

论坛傻逼多

Rank: 6Rank: 6

UID
577648
帖子
1089
精华
0
经验
1179 点
金钱
958 ¥
注册时间
2013-3-26
 楼主| 发表于 2018-6-15 23:18 | 显示全部楼层
QQ图片20180615231345.jpg
QQ图片20180615231401.jpg

目前调试软件中(另一块开发板上测试),显示,键盘,读卡都正常了。正在搞声卡驱动。。。。

95

主题

5

好友

1179

积分
     

侠之大者 当前离线

论坛傻逼多

Rank: 6Rank: 6

UID
577648
帖子
1089
精华
0
经验
1179 点
金钱
958 ¥
注册时间
2013-3-26
 楼主| 发表于 2018-6-16 20:16 | 显示全部楼层

19

主题

1

好友

1149

积分
     

侠之大者 当前离线

Rank: 6Rank: 6

UID
365245
帖子
1127
精华
0
经验
1149 点
金钱
1076 ¥
注册时间
2011-7-14
发表于 2018-6-16 20:47 | 显示全部楼层
本帖最后由 嫼脃仴洸 于 2018-6-16 20:53 编辑

好像国内有些公司已经解决了安卓的SRC,比如ibasso!产品价格还很贵

95

主题

5

好友

1179

积分
     

侠之大者 当前离线

论坛傻逼多

Rank: 6Rank: 6

UID
577648
帖子
1089
精华
0
经验
1179 点
金钱
958 ¥
注册时间
2013-3-26
 楼主| 发表于 2018-6-16 21:17 | 显示全部楼层
嫼脃仴洸 发表于 2018-6-16 20:47
好像国内有些公司已经解决了安卓的SRC,比如ibasso!产品价格还很贵

这个不难的,只是厂家做不做这个工作的问题。

95

主题

5

好友

1179

积分
     

侠之大者 当前离线

论坛傻逼多

Rank: 6Rank: 6

UID
577648
帖子
1089
精华
0
经验
1179 点
金钱
958 ¥
注册时间
2013-3-26
 楼主| 发表于 2018-6-17 02:49 | 显示全部楼层
搞好声卡,正常播放音乐了,随便焊了片TDA1543,请忽略音质。。
https://v.youku.com/v_show/id_XM ... j.8428770.3416059.1

2

主题

0

好友

12

积分

注册会员 当前离线

Rank: 2

UID
801218
帖子
11
精华
0
经验
12 点
金钱
8 ¥
注册时间
2015-10-1
发表于 2018-6-17 17:23 来自手机端 | 显示全部楼层
进来学习

6

主题

0

好友

1224

积分
     

侠之大者 当前离线

Rank: 6Rank: 6

UID
1603
帖子
1241
精华
0
经验
1224 点
金钱
1152 ¥
注册时间
2004-9-14
发表于 2018-6-20 16:44 | 显示全部楼层
LINUX 的 SRC 通过设置 ALSA 可以关闭,根本不用任何板子

95

主题

5

好友

1179

积分
     

侠之大者 当前离线

论坛傻逼多

Rank: 6Rank: 6

UID
577648
帖子
1089
精华
0
经验
1179 点
金钱
958 ¥
注册时间
2013-3-26
 楼主| 发表于 2018-6-20 19:41 | 显示全部楼层
litguy 发表于 2018-6-20 16:44
LINUX 的 SRC 通过设置 ALSA 可以关闭,根本不用任何板子

大神说的是什么版本的内核有这个设置?

6

主题

0

好友

1224

积分
     

侠之大者 当前离线

Rank: 6Rank: 6

UID
1603
帖子
1241
精华
0
经验
1224 点
金钱
1152 ¥
注册时间
2004-9-14
发表于 2018-6-21 09:54 | 显示全部楼层
BH7KQK 发表于 2018-6-20 19:41
大神说的是什么版本的内核有这个设置?

不是大神,只是一直搞 Linux 开发的民工而已
过去看到过这个,如果你用桌面,我记得控制面板里面可以 remove 那个 ALSA 的插件
你可以参考这个
http://forum.ubuntu.com.cn/viewtopic.php?t=104456
另外,X86 版本的 LibreElec 自带的 Linux 支持 bit perfect 回放的
不用担心 SRC 问题

95

主题

5

好友

1179

积分
     

侠之大者 当前离线

论坛傻逼多

Rank: 6Rank: 6

UID
577648
帖子
1089
精华
0
经验
1179 点
金钱
958 ¥
注册时间
2013-3-26
 楼主| 发表于 2018-6-21 11:37 | 显示全部楼层
本帖最后由 BH7KQK 于 2018-6-21 12:05 编辑
litguy 发表于 2018-6-21 09:54
不是大神,只是一直搞 Linux 开发的民工而已
过去看到过这个,如果你用桌面,我记得控制面板里面可以 re ...


不要相信厂家的扯蛋,,只有一个时钟是不可能同时做到44.1K和48K整 倍输出的。如果有,那个误差我宁愿只选择其一。
除非跳过SRC之后I2S作为从发模式,显然你的板子结构不是,我的也不是,厂家的也不会是。
头像被屏蔽

4

主题

4

好友

356

积分
     

禁止发言 当前离线

UID
96502
帖子
284
精华
0
经验
356 点
金钱
278 ¥
注册时间
2009-4-14
发表于 2018-6-21 11:52 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

6

主题

0

好友

1224

积分
     

侠之大者 当前离线

Rank: 6Rank: 6

UID
1603
帖子
1241
精华
0
经验
1224 点
金钱
1152 ¥
注册时间
2004-9-14
发表于 2018-6-21 12:55 | 显示全部楼层
BH7KQK 发表于 2018-6-21 11:37
不要相信厂家的扯蛋,,只有一个时钟是不可能同时做到44.1K和48K整 倍输出的。如果有,那个误差我宁愿 ...

没人信谁扯淡,而是 PC LINUX 本来就是可以 SPDIF 输出 44.1 和 48 的,你不相信算了
没人让你相信
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Powered by Discuz! X3.4

© 2001-2012 Comsenz Inc.

返回顶部