Soundstorm-Pytorch: ابزاری قدرتمند برای تولید صدا
Soundstorm-Pytorch یک ابزار قدرتمند برای تولید صدا است. این یک پیادهسازی PyTorch از روش تولید صدای موازی کارآمد Google Deepmind است. Soundstorm-Pytorch را می توان برای تولید صدای باکیفیت سریعتر و پیوسته تر از رویکرد Autoregressive AudioLM استفاده کرد. همچنین میتواند بخشهای گفتگوی طبیعی را از رونوشت با چرخشهای بلندگو و اعلانهای صوتی ترکیب کند.
Soundstorm-Pytorch
Soundstorm یک پیادهسازی PyTorch از SoundStorm است، یک روش کارآمد تولید صدای موازی از Google Deepmind. از MaskGiT برای تبدیل کدهای کوانتیزه شده بردار باقیمانده از norelesstreamoundSound.io/seanet/soundstorm”> الف>. مدل ترانسفورماتور مبتنی بر Conformer است که برای دامنه صوتی مناسب است.

نصب
- کتابخانه
soundstorm-pytorch
را با استفاده از pip نصب کنید:
$ pip install soundstorm-pytorch
- ماژول های مورد نیاز را در اسکریپت پایتون خود وارد کنید:
مشعل وارد کردن
از وارد کردن soundstorm_pytorch SoundStorm، ConformerWrapper
- یک نمونه از کلاس
ConformerWrapper
ایجاد کنید که مدل Conformer را میپیچد:
conformer = ConformerWrapper(
codebook_size=1024،
num_quantizers=4،
conformer=dict(
dim=512،
عمق = 2
)
)
- یک نمونه از مدل
SoundStorm
را با عبور از نمونهconformer
و سایر پارامترها ایجاد کنید:
model = SoundStorm(
هماهنگ کننده،
Steps=18، # 18 step، همانطور که در مقاله اصلی maskgit
schedule='cosine' # در حال حاضر بهترین زمان بندی کسینوس است
)
- شناسه های کتاب کد از پیش کدگذاری شده را از جریان صدا با استفاده از داده های صوتی خام تولید کنید. در اینجا نمونه ای از تولید شناسه های کتاب کد تصادفی آمده است:
codes = torch.randint(0, 1024, (2, 1024))
- حلقه آموزشی را برای مقدار معینی از داده ها انجام دهید:
زیان، _ = مدل(کدها)
loss.backward()
- از مدل آموزش دیده برای تولید گفتار استفاده کنید. طول و اندازه دسته دلخواه را مشخص کنید:
generated = model.generate(1024, batch_size=2) # (2, 1024)
اگر میخواهید مدل را روی صدای خام آموزش دهید، میتوانید یک نمونه SoundStream از پیش آموزشدیده را به مدل SoundStorm ارسال کنید. این یک مثال است:
- ماژول های مورد نیاز را برای آموزش صوتی خام وارد کنید:
از soundstorm_pytorch import Conformer، SoundStream
- نمونههایی از کلاسهای
ConformerWrapper
وSoundStream
ایجاد کنید:
conformer = ConformerWrapper(
codebook_size=1024،
num_quantizers=4،
conformer=dict(
dim=512،
عمق = 2
)
)
Soundstream = SoundStream(
codebook_size=1024،
rq_num_quantizers=4،
attn_window_size=128،
attn_depth=2
)
- نمونهای از مدل
SoundStorm
ایجاد کنید و از نمونههایconformer
وsoundstream
عبور دهید:
model = SoundStorm(
هماهنگ کننده،
soundstream=soundstream # عبور در جریان صدا
)
- داده های صوتی را که می خواهید مدل یاد بگیرد آماده کنید. نمونه ای از تولید صدای تصادفی در اینجا آمده است:
audio = torch.randn(2, 10080)
- حلقه آموزشی را روی داده های صوتی انجام دهید:
ضرر، _ = مدل(صوتی)
loss.backward()
- از مدل آموزش دیده برای تولید گفتار استفاده کنید:
generated_audio = model.generate(seconds=30, batch_size=2) # تولید 30 ثانیه صدا
قبل از اجرای کد، مطمئن شوید که وابستگیهای مورد نیاز را نصب کردهاید و دادههای صوتی لازم را در دسترس دارید.
این مقاله برای کمک به یادگیری Soundstorm-Pytorch است. ما اطمینان داریم که برای شما مفید بوده است. لطفاً نظرات و بازخورد خود را در بخش نظرات زیر به اشتراک بگذارید.