audiotoken
v0.3.1
Tokenize áudio para obter tokens acústicos e semânticos.
pip install audiotokenVocê pode usar um codificador acústico ou semântico para codificar áudio e obter tokens.
from pathlib import Path
from audiotoken import AudioToken , Tokenizers
encoder = AudioToken ( tokenizer = Tokenizers . acoustic , device = 'cuda:0' )
encoded_audio = encoder . encode ( Path ( 'path/to/audio.wav' ))Existem 1 tokenizadores acústicos e 2 semânticos disponíveis:
Tokenizers.acousticTokenizers.semantic_s (pequeno)Tokenizers.semantic_m (médio)Você pode decodificar tokens acústicos como este:
from pathlib import Path
from audiotoken import AudioToken , Tokenizers
tokenizer = AudioToken ( tokenizer = Tokenizers . acoustic , device = 'cuda:0' )
encoded_audio = tokenizer . encode ( Path ( 'path/to/audio.wav' ))
decoded_audio = tokenizer . decode ( encoded_audio )
# Save the decoded audio and compare it with the original audio
import torch
import torchaudio
torchaudio . save (
'reconstructed.wav' ,
decoded_audio ,
sample_rate = 24000
)Você pode decodificar tokens semânticos como este:
from pathlib import Path
from audiotoken import AudioToken , Tokenizers
semantic_tokenizer = AudioToken ( tokenizer = Tokenizers . semantic_s , device = 'cuda:0' )
semantic_toks = semantic_tokenizer . encode ( Path ( 'path/to/audio.wav' ))
decoded_audio = semantic_tokenizer . decode ( semantic_toks )
# Save the decoded audio and compare it with the original audio
import torch
import torchaudio
torchaudio . save (
'reconstructed.wav' ,
decoded_audio ,
sample_rate = 24000
)Consulte Exemplos/Usage.ipynb para obter mais exemplos de uso.
Classe central
from audiotoken import AudioToken , Tokenizers
tokenizer = AudioToken ( tokenizer = Tokenizers . semantic_m , device = 'cuda:0' )Consulte o foulioken/core.py para obter uma documentação completa das APIs.
Existem 3 APIs fornecidas:
tokenizer.encode : codifique arquivos/matrizes de áudio únicos por veztokenizer.encode_batch_files : codifique vários arquivos de áudio em lotes e salve -os diretamente no discoencode_batch_files não é seguro para executar várias vezes na mesma lista de arquivos, pois pode resultar em dados incorretos. Isso será corrigido em uma versão futura.tokenizer.decode : Decode tokens acústicos/semânticos