SemantiCodec
具有更好语义潜在空间的超低比特率神经音频编解码器。
亮点
- 比特率:0.31 kbps - 1.40 kbps
- 令牌率:每秒25、50或100个
- 支持CPU、CUDA和MPS
使用方法
安装
pip install git+https://github.com/haoheliu/SemantiCodec-inference.git
编码和解码
当您使用以下代码初始化SemantiCodec时,检查点将自动下载。
from semanticodec import SemantiCodec
semanticodec = SemantiCodec(token_rate=100, semantic_vocab_size=16384)
filepath = "test/test.wav" # 任意长度的音频
tokens = semanticodec.encode(filepath)
waveform = semanticodec.decode(tokens)
# 保存重建文件
import soundfile as sf
sf.write("output.wav", waveform[0,0], 16000)
其他设置
from semanticodec import SemantiCodec
###############选择以下其中一个######################
semanticodec = SemantiCodec(token_rate=100, semantic_vocab_size=32768) # 1.40 kbps
semanticodec = SemantiCodec(token_rate=50, semantic_vocab_size=32768) # 0.70 kbps
semanticodec = SemantiCodec(token_rate=25, semantic_vocab_size=32768) # 0.35 kbps
semanticodec = SemantiCodec(token_rate=100, semantic_vocab_size=16384) # 1.35 kbps
semanticodec = SemantiCodec(token_rate=50, semantic_vocab_size=16384) # 0.68 kbps
semanticodec = SemantiCodec(token_rate=25, semantic_vocab_size=16384) # 0.34 kbps
semanticodec = SemantiCodec(token_rate=100, semantic_vocab_size=8192) # 1.30 kbps
semanticodec = SemantiCodec(token_rate=50, semantic_vocab_size=8192) # 0.65 kbps
semanticodec = SemantiCodec(token_rate=25, semantic_vocab_size=8192) # 0.33 kbps
semanticodec = SemantiCodec(token_rate=100, semantic_vocab_size=4096) # 1.25 kbps
semanticodec = SemantiCodec(token_rate=50, semantic_vocab_size=4096) # 0.63 kbps
semanticodec = SemantiCodec(token_rate=25, semantic_vocab_size=4096) # 0.31 kbps
#####################################
filepath = "test/test.wav"
tokens = semanticodec.encode(filepath)
waveform = semanticodec.decode(tokens)
import soundfile as sf
sf.write("output.wav", waveform[0,0], 16000)
如果您对重复使用论文中相同的评估流程和数据感兴趣,请参考这个zenodo仓库。
引用
如果您觉得这个仓库有帮助,请考虑按以下格式引用:
@article{liu2024semanticodec,
title={SemantiCodec: An Ultra Low Bitrate Semantic Audio Codec for General Sound},
author={Liu, Haohe and Xu, Xuenan and Yuan, Yi and Wu, Mengyue and Wang, Wenwu and Plumbley, Mark D},
journal={arXiv preprint arXiv:2405.00233},
year={2024}
}