audiotoken
v0.3.1
Токенизировать звук, чтобы получить акустические и семантические жетоны.
pip install audiotokenВы можете использовать акустический или семантический энкодер для кодирования звука и получения токенов.
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' ))Доступно 1 акустика и 2 семантических токенизатора:
Tokenizers.acousticTokenizers.semantic_s (маленький)Tokenizers.semantic_m (среда)Вы можете расшифровать акустические жетоны, как это:
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
)Вы можете декодировать семантические токены, как это:
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
)См. Примеры/Использование.
Основной класс
from audiotoken import AudioToken , Tokenizers
tokenizer = AudioToken ( tokenizer = Tokenizers . semantic_m , device = 'cuda:0' )См. Audiotoken/core.py для полной документации API.
Предоставлено 3 API:
tokenizer.encode : кодировать отдельные аудиофайлы/массивы за разtokenizer.encode_batch_files : кодировать несколько аудио файлов партиями и сохранить их на диск напрямуюencode_batch_files небезопасно запускать несколько раз в одном и том же списке файлов, что может привести к неправильным данным. Это будет исправлено в будущем.tokenizer.decode : декодирование акустических/семантических токенов