يحتوي هذا المستودع على البرامج النصية للتدريب والاستدلال لبرنامج الترميز الصوتي الوصفي (.
ورقة Arxiv: ضغط الصوت عالي الدقة مع RVQGAN المحسنة
؟ الموقع التجريبي
⚙ الأوزان النموذجية
باستخدام برنامج ترميز الصوت الوصفي ، يمكنك ضغط الصوت 44.1 كيلو هرتز في رموز منفصلة عند معدل بتات منخفضة 8 كيلو بايت في الثانية .
؟ هذا هو حوالي 90X ضغط مع الحفاظ على الإخلاص الاستثنائي وتقليل القطع الأثرية.
؟ يعمل نموذجنا العالمي على جميع المجالات (الكلام ، والبيئة ، والموسيقى ، وما إلى ذلك) ، مما يجعله قابلاً للتطبيق على نطاق واسع على النمذجة التوليدية لجميع الصوت.
؟ يمكن استخدامه كبديل إسقاط لـ Encodec لجميع تطبيقات نمذجة لغة الصوت (مثل Audiolms ، MusicLms ، MusicGen ، إلخ)

pip install descript-audio-codec
أو
pip install git+https://github.com/descriptinc/descript-audio-codec
يتم إصدار الأوزان كجزء من هذا الريبو تحت رخصة معهد ماساتشوستس للتكنولوجيا. نطلق الأوزان للنماذج التي يمكن أن تدعم معدلات أخذ العينات 16 كيلو هرتز و 24 كيلو هرتز و 44.1 كيلو هرتز. يتم تنزيل الأوزان تلقائيًا عند تشغيل الأمر لأول مرة أو decode encode . يمكنك ذاكرة التخزين المؤقت لهم باستخدام أحد الأوامر التالية
python3 -m dac download # downloads the default 44kHz variant
python3 -m dac download --model_type 44khz # downloads the 44kHz variant
python3 -m dac download --model_type 24khz # downloads the 24kHz variant
python3 -m dac download --model_type 16khz # downloads the 16kHz variantنحن نقدم dockerfile تقوم بتثبيت جميع التبعيات المطلوبة للترميز وفك التشفير. تقوم عملية الإنشاء بتخزين أوزان النموذج الافتراضي داخل الصورة. هذا يسمح باستخدام الصورة بدون اتصال بالإنترنت. يرجى الرجوع إلى التعليمات أدناه.
python3 -m dac encode /path/to/input --output /path/to/output/codes
سيقوم هذا الأمر بإنشاء ملفات .dac بنفس اسم ملفات الإدخال. كما أنه سيحافظ على بنية الدليل بالنسبة إلى جذر الإدخال وإعادة إنشائها في دليل الإخراج. يرجى استخدام python -m dac encode --help لمزيد من الخيارات.
python3 -m dac decode /path/to/output/codes --output /path/to/reconstructed_input
سيقوم هذا الأمر بإنشاء ملفات .wav بنفس اسم ملفات الإدخال. كما أنه سيحافظ على بنية الدليل بالنسبة إلى جذر الإدخال وإعادة إنشائها في دليل الإخراج. يرجى استخدام python -m dac decode --help لمزيد من الخيارات.
import dac
from audiotools import AudioSignal
# Download a model
model_path = dac . utils . download ( model_type = "44khz" )
model = dac . DAC . load ( model_path )
model . to ( 'cuda' )
# Load audio signal file
signal = AudioSignal ( 'input.wav' )
# Encode audio signal as one long file
# (may run out of GPU memory on long files)
signal . to ( model . device )
x = model . preprocess ( signal . audio_data , signal . sample_rate )
z , codes , latents , _ , _ = model . encode ( x )
# Decode audio signal
y = model . decode ( z )
# Alternatively, use the `compress` and `decompress` functions
# to compress long files.
signal = signal . cpu ()
x = model . compress ( signal )
# Save and load to and from disk
x . save ( "compressed.dac" )
x = dac . DACFile . load ( "compressed.dac" )
# Decompress it back to an AudioSignal
y = model . decompress ( x )
# Write to file
y . write ( 'output.wav' )نحن نقدم Dockerfile لبناء صورة Docker مع جميع التبعيات اللازمة.
بناء الصورة.
docker build -t dac .
باستخدام الصورة.
الاستخدام على وحدة المعالجة المركزية:
docker run dac <command>
الاستخدام على GPU:
docker run --gpus=all dac <command>
يمكن أن يكون <command> أحد أوامر الضغط والإعمار المذكورة أعلاه. على سبيل المثال ، إذا كنت ترغب في تشغيل الضغط ،
docker run --gpus=all dac python3 -m dac encode ...
يمكن تدريب تكوين نموذج الأساس باستخدام الأوامر التالية.
الرجاء تثبيت التبعيات الصحيحة
pip install -e ".[dev]"
لقد قدمنا Dockerfile و Docker تأليف الإعداد الذي يجعل إجراء تجارب سهلة.
لبناء صورة Docker تفعل:
docker compose build
ثم ، لإطلاق حاوية ، افعل:
docker compose run -p 8888:8888 -p 6006:6006 dev
تعتبر وسيطات المنفذ ( -p ) اختيارية ، لكنها مفيدة إذا كنت ترغب في تشغيل مثيلات Jupyter و Tensorboard داخل الحاوية. كلمة المرور الافتراضية لـ Jupyter هي password ، ويتم تركيب الدليل الحالي على /u/home/src ، والذي يصبح أيضًا دليل العمل.
ثم ، قم بتشغيل أمر التدريب الخاص بك.
export CUDA_VISIBLE_DEVICES=0
python scripts/train.py --args.load conf/ablations/baseline.yml --save_path runs/baseline/
export CUDA_VISIBLE_DEVICES=0,1
torchrun --nproc_per_node gpu scripts/train.py --args.load conf/ablations/baseline.yml --save_path runs/baseline/
نحن نقدم نصيتين اختبار لاختبار وظائف التدريب CLI +. يرجى التأكد من رضا المتطلبات المسبقة للقطار قبل إطلاق هذه الاختبارات. لإطلاق هذه الاختبارات ، يرجى التشغيل
python -m pytest tests
