audiotoken
v0.3.1
Tokenize audio pour obtenir des jetons acoustiques et sémantiques.
pip install audiotokenVous pouvez utiliser un encodeur acoustique ou sémantique pour coder l'audio et obtenir des jetons.
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' ))Il y a 1 tokenisers acoustique et 2 sémantiques disponibles:
Tokenizers.acousticTokenizers.semantic_s (petit)Tokenizers.semantic_m (médium)Vous pouvez décoder des jetons acoustiques comme ceci:
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
)Vous pouvez décoder des jetons sémantiques comme ceci:
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
)Voir des exemples / usage.ipynb pour plus d'exemples d'utilisation.
Classe de base
from audiotoken import AudioToken , Tokenizers
tokenizer = AudioToken ( tokenizer = Tokenizers . semantic_m , device = 'cuda:0' )Voir AudioKenk / Core.py pour une documentation complète des API.
Il y a 3 API fournies:
tokenizer.encode : codez des fichiers audio simples / tableaux à la foistokenizer.encode_batch_files : codez plusieurs fichiers audio en lots et enregistrez-les directement sur disqueencode_batch_files n'est pas sûr d'exécuter plusieurs fois sur la même liste de fichiers car il peut entraîner des données incorrectes. Cela sera fixé dans une version future.tokenizer.decode : décode les jetons acoustiques / sémantiques