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

流式模式下语音更完美的朗读 #654

Open
lucasjinreal opened this issue Nov 17, 2024 · 5 comments
Open

流式模式下语音更完美的朗读 #654

lucasjinreal opened this issue Nov 17, 2024 · 5 comments

Comments

@lucasjinreal
Copy link

lucasjinreal commented Nov 17, 2024

更新了一版感觉流式比之前好很多,没有巨大的爆破音。

但是仔细分析发现,还是会有非常细的鼓励爆音。

output_api.wav.webm
image

波形里面大概就是孤立的一个pillar。

请问有什么办法再进一步的消除吗?感觉得加一个流式平滑

注:上面的音频是流式下每个chunk组合在一起的音频。这里说的爆破音不是发音一大段莎莎的,这个可以忽略,主要是有 极短的 波的几下,人类应该可以听出来。对应波形的就是那一个高柱音高

@wang-TJ-20
Copy link

wang-TJ-20 commented Nov 17, 2024

@lucasjinreal hi,咨询下你更新了一版指的是更新了哪块,我也遇到了爆破音

@cpken
Copy link

cpken commented Nov 18, 2024

你这个是克隆吗?

@lucasjinreal
Copy link
Author

这个就是直出,一方面我们可以等官方发布真正的流式版本,但是效果和时间可能都存在很大的不确定性。看看社区有没有有好的办法解决?

从音幅来看,似乎加一个低通滤波器可以,不知社区有没有小伙伴来尝试一下,我现在没有机器调了

@agchaowanhui
Copy link

    chunk_bytes = chunk.cpu().numpy().tobytes()

    buf = io.BytesIO()
    buf.write(chunk_bytes)

    buf.seek(0)
    
    可以直接把数据转成bytes然后给到io,不用torchaudio.save,我这样做以后就没爆破音了

@cpken
Copy link

cpken commented Nov 19, 2024

    chunk_bytes = chunk.cpu().numpy().tobytes()

    buf = io.BytesIO()
    buf.write(chunk_bytes)

    buf.seek(0)
    
    可以直接把数据转成bytes然后给到io,不用torchaudio.save,我这样做以后就没爆破音了

third_party/AcademiCodec/academicodec/models/encodec/distributed/distributed.py

    # 请问是调整这段代码吗?
    for size, tensor in zip(size_list, tensor_list):
        buffer = tensor.cpu().numpy().tobytes()[:size]
        data_list.append(pickle.loads(buffer))

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

4 participants