mzdluo123 / silk4j

[全平台] silkv3编解码器的Java接口,同时支持mp3格式的编解码
GNU Affero General Public License v3.0
62 stars 9 forks source link

太短的语音无法被正常转码为silk #1

Open mzdluo123 opened 3 years ago

mzdluo123 commented 3 years ago

可能的解决方案

/* added decodeMP3_unclipped to support returning raw floating-point values of samples. The representation
   of the floating-point numbers is defined in mpg123.h as #define real. It is 64-bit double by default. 
   No more than 1152 samples per channel are allowed. */
    int     decodeMP3_unclipped(PMPSTR mp, unsigned char *inmemory, int inmemsize, char *outmemory,
                                int outmemsize, int *done);
xszqxszq commented 3 years ago

1.1-dev依旧存在此问题

mzdluo123 commented 3 years ago

1.1-dev依旧存在此问题

请提供样本

xszqxszq commented 3 years ago

translate_tts_2.zip

xszqxszq commented 3 years ago

补充一下,目前是太短的编码成silk在mirai里发送后看不见,但同样时长的mp3编码成amr后可以正常发送,故推测可能是silk4j的问题。 编码后silk:mirai_audio_silk_1618291618725.zip

mzdluo123 commented 3 years ago

这十分奇怪,在我群内的机器人可以发送与你样本时长差不多的语音并能正常播放。 可以加群655057127测试,发送说+内容

xszqxszq commented 3 years ago

这十分奇怪,在我群内的机器人可以发送与你样本时长差不多的语音并能正常播放。 可以加群655057127测试,发送说+内容

目前好像无法播放的silk大小都是10B(文件都只有#!SILK_V3文件头),出错的时长都在一秒以内(也有1~2s的),我编码前的文件都经过了ffmpeg再次编码所以应该没有问题的,可以试试编码上面的样本吗

mzdluo123 commented 3 years ago

这十分奇怪,在我群内的机器人可以发送与你样本时长差不多的语音并能正常播放。 可以加群655057127测试,发送说+内容

目前好像无法播放的silk大小都是10B(文件都只有�#!SILK_V3文件头),出错的时长都在一秒以内(也有1~2s的),我编码前的文件都经过了ffmpeg再次编码所以应该没有问题的,可以试试编码上面的样本吗

10b的话我就懂了,这个问题我已经修复了,不知道是不是没发版。。。 尝试使用action里的最新编译版本

xszqxszq commented 3 years ago

这十分奇怪,在我群内的机器人可以发送与你样本时长差不多的语音并能正常播放。 可以加群655057127测试,发送说+内容

目前好像无法播放的silk大小都是10B(文件都只有�#!SILK_V3文件头),出错的时长都在一秒以内(也有1~2s的),我编码前的文件都经过了ffmpeg再次编码所以应该没有问题的,可以试试编码上面的样本吗

10b的话我就懂了,这个问题我已经修复了,不知道是不是没发版。。。 尝试使用action里的最新编译版本

好像还是不行