Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

关于QQNT的silk格式问题解决方案 #32

Open
lclichen opened this issue Feb 8, 2024 · 8 comments
Open

关于QQNT的silk格式问题解决方案 #32

lclichen opened this issue Feb 8, 2024 · 8 comments

Comments

@lclichen
Copy link

lclichen commented Feb 8, 2024

参考了:silk-v3-decoder
我自己的fix(实测有效):https://github.com/lclichen/graiax-silkcoder/

然后发现代码似乎正在dev分支被重构,就不提PR了(毕竟fix的非常野蛮),也许可以捡一些有用的合进来()

@I-love-study
Copy link
Owner

这个因为本人现阶段手上并没有可以测试的账号,所以想询问点问题
去除最后一个字节后,旧的QQ(非QQNT)是否还能正常播放该silk文件
最后感谢您的参与

@lclichen
Copy link
Author

lclichen commented Feb 9, 2024

QQ桌面版9.5.4(微软商店那款)、iPad版9.0.16.626(QQNT但iOS)、Android版8.9.88.13035(非QQNT,之前的silk我手头只有这个可以播放)都可以正常播放。

@I-love-study
Copy link
Owner

iOS 的 QQNT 能够播放大于 25kbps 的 silk 语音了吗?

@lclichen
Copy link
Author

实测不行,PC版的都播放不了()
不过你的代码里默认的bps就是25000(所以之前测试的时候是可以的)

@I-love-study
Copy link
Owner

ios_adaptive 默认是 False 来着
这个时候复杂点音频应该直冲 100kbps 了

@lclichen
Copy link
Author

话说那个文件header的第一个字节与index相关的设定是官方实现吗?(我看好像其他的silk编解码都是固定0x02的(因为silk-v3-decoder里是固定的插一个0x02)

@I-love-study
Copy link
Owner

我是从 KonataDev/libSilkCodec#3 那里看到的这个说法
因为 QQ 对 silkv3 的头尾有一定程度的修改,而且这一部分也没有公布出来,所以这个就只能靠猜测了

@markyfsun
Copy link

silkcoder.encode可以将wav转为silk发送出去正常听。但是接收到的silk使用silkcoder.decode得到的音频短促异常,而用pilk.decode可以转成pcm正常播放。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants