พื้นที่เก็บข้อมูลนี้มีสคริปต์การฝึกอบรมและการอนุมานสำหรับตัวแปลงสัญญาณเสียง (.DAC) ซึ่งเป็นตัวแปลงสัญญาณเสียงทั่วไปที่มีความเที่ยงตรงสูงซึ่งนำเสนอในกระดาษชื่อ การบีบอัดเสียงที่มีความเที่ยงตรงสูงพร้อม RVQGAN ที่ดีขึ้น
กระดาษ Arxiv: การบีบอัดเสียงที่มีความเที่ยงตรงสูงพร้อม RVQgan ที่ได้รับการปรับปรุง
- เว็บไซต์สาธิต
⚙น้ำหนักรุ่น
ด้วยตัวแปลงสัญญาณเสียง Descript คุณสามารถบีบ อัดเสียง 44.1 kHz ลงในรหัสที่ไม่ต่อเนื่องที่ บิตเรตต่ำ 8 kbps
- นั่นคือ การบีบอัดประมาณ 90x ในขณะที่ยังคงความซื่อสัตย์ที่ยอดเยี่ยมและลดสิ่งประดิษฐ์
- โมเดลสากลของเราทำงานในทุกโดเมน (คำพูด, สิ่งแวดล้อม, เพลง, ฯลฯ ) ทำให้มันใช้งานได้อย่างกว้างขวางกับการสร้างแบบจำลองการกำเนิดของเสียงทั้งหมด
- มันสามารถใช้แทนการแทนที่สำหรับ encodec สำหรับแอพพลิเคชั่นการสร้างแบบจำลองภาษาเสียงทั้งหมด (เช่น Audiolms, Musiclms, MusicGen ฯลฯ )
pip install descript-audio-codec
หรือ
pip install git+https://github.com/descriptinc/descript-audio-codec
น้ำหนักจะถูกปล่อยออกมาเป็นส่วนหนึ่งของ repo นี้ภายใต้ใบอนุญาต MIT เราปล่อยน้ำหนักสำหรับรุ่นที่สามารถรองรับอัตราการสุ่มตัวอย่าง 16 kHz, 24kHz และ 44.1kHz น้ำหนักจะถูกดาวน์โหลดโดยอัตโนมัติเมื่อคุณเรียกใช้คำสั่ง encode
หรือ decode
ครั้งแรก คุณสามารถแคชได้โดยใช้คำสั่งใดคำหนึ่งต่อไปนี้
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 build -t dac .
ใช้ภาพ
การใช้งานใน CPU:
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 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 + โปรดตรวจสอบให้แน่ใจว่าข้อกำหนดเบื้องต้นของ Trainig นั้นพอใจก่อนที่จะเปิดตัวการทดสอบเหล่านี้ เพื่อเปิดการทดสอบเหล่านี้โปรดเรียกใช้
python -m pytest tests