ساخت افکت صوتی با هوش مصنوعی؛ آموزش تولید SFX، Foley و صدای محیط

در این راهنما یاد می‌گیرید با هوش مصنوعی برای ویدئو، بازی، پادکست و اپلیکیشن افکت صوتی بسازید؛ از نوشتن پرامپت و تولید Foley تا ساخت صدای محیط، ویرایش فایل و خودکارسازی با API درواره.

Share
ساخت افکت صوتی با هوش مصنوعی؛ آموزش تولید SFX، Foley و صدای محیط

ساخت افکت صوتی با هوش مصنوعی یکی از کاربردهای جذاب مدل‌های مولد صداست. با توصیف یک صحنه می‌توانید صدای باران روی شیشه، قدم زدن روی برف، باز شدن در فلزی، کلیک رابط کاربری، موتور سفینه فضایی یا فضای یک کافه شلوغ را تولید کنید.

پیدا کردن افکت دقیق در آرشیوهای آماده همیشه ساده نیست. ممکن است صدای موجود بیش از حد طولانی باشد، با فضای صحنه هماهنگ نباشد یا ترکیبی از چند صدای ناخواسته داشته باشد. ابزارهای تولید صدا با هوش مصنوعی اجازه می‌دهند ویژگی‌های موردنیاز را در قالب پرامپت (Prompt) شرح دهید و چند نسخه اختصاصی دریافت کنید.

بااین‌حال، تولید موفق افکت صوتی فقط به نوشتن نام یک صدا محدود نمی‌شود. جنس منبع، محیط، فاصله شنونده، شدت، مدت، ریتم و حتی وجود یا نبود انعکاس باید در پرامپت مشخص شوند.

در این مقاله یاد می‌گیریم چگونه برای ویدئو، بازی، پادکست، تبلیغات، شبکه‌های اجتماعی و رابط کاربری افکت صوتی بسازیم، خروجی را ویرایش کنیم و بخشی از فرایند را با API هوش مصنوعی درواره خودکار کنیم.

افکت صوتی چیست؟

افکت صوتی یا Sound Effect صدایی است که برای توصیف یک اتفاق، شیء، محیط، حرکت یا تغییر در محتوای صوتی و تصویری استفاده می‌شود.

نمونه‌ها:

  • بسته شدن در
  • زنگ تلفن
  • شکستن شیشه
  • قدم زدن
  • صدای باد
  • باران
  • ورق خوردن کتاب
  • روشن شدن موتور
  • برخورد دو جسم
  • کلیک دکمه
  • هشدار اپلیکیشن
  • جابه‌جایی سریع تصویر
  • صدای جمعیت
  • فضای کافه
  • صدای جنگل در شب

افکت صوتی با موسیقی و گفتار تفاوت دارد. موسیقی معمولاً ریتم، ملودی یا هارمونی دارد؛ گفتار حامل کلمات است؛ اما افکت صوتی برای ایجاد حس حضور، تأکید بر رویداد یا تکمیل فضای صحنه استفاده می‌شود.

تفاوت SFX، Foley، Ambience و موسیقی

SFX

SFX مخفف Sound Effects است و به‌طور کلی به افکت‌های صوتی گفته می‌شود.

مثال:

  • انفجار
  • صدای اعلان
  • حرکت سریع
  • برخورد
  • صدای جادویی
  • روشن شدن دستگاه

Foley

Foley به صداهایی گفته می‌شود که حرکت و تعامل فیزیکی شخصیت‌ها یا اشیا را همراهی می‌کنند.

مثال:

  • قدم زدن روی چوب
  • حرکت لباس
  • گذاشتن فنجان روی میز
  • باز کردن کیف
  • برداشتن کلید
  • کشیدن صندلی

Ambience

Ambience یا صدای محیط، فضای کلی یک مکان را می‌سازد.

مثال:

  • کافه شلوغ
  • خیابان در روز بارانی
  • جنگل هنگام طلوع
  • دفتر کار آرام
  • ایستگاه قطار
  • سالن بزرگ و خالی

Room Tone

Room Tone صدای بسیار ظریف و ثابت یک فضای داخلی است. حتی یک اتاق به‌ظاهر ساکت نیز کاملاً بی‌صدا نیست. استفاده از Room Tone میان برش‌های صوتی، پیوستگی صحنه را حفظ می‌کند.

Transition Sound

صدای انتقال برای همراهی تغییر صحنه، ظاهر شدن متن یا حرکت گرافیکی استفاده می‌شود.

مثال:

  • Whoosh
  • Sweep
  • Rise
  • Hit
  • Stinger
  • Reverse sound

موسیقی پس‌زمینه

موسیقی برای ایجاد حس، ریتم و هویت کلی استفاده می‌شود. افکت صوتی معمولاً رویداد مشخصی را همراهی می‌کند.

هوش مصنوعی چگونه افکت صوتی تولید می‌کند؟

مدل Text-to-Sound توضیح متنی را دریافت و یک فایل صوتی تولید می‌کند. بسته به مدل، ممکن است بتوانید بعضی از این ویژگی‌ها را کنترل کنید:

  • نوع صدا
  • مدت
  • شدت
  • سبک واقع‌گرایانه یا طراحی‌شده
  • تکرارشونده بودن
  • میزان پایبندی به پرامپت
  • فرمت خروجی
  • تعداد نسخه‌ها
  • استفاده از ویدئو یا صدای مرجع

برخی ابزارها می‌توانند محتوای یک ویدئو را تحلیل و برای حرکت‌های آن صدا پیشنهاد یا تولید کنند. بااین‌حال، هماهنگی دقیق با فریم‌ها همچنان ممکن است به ویرایش دستی نیاز داشته باشد.

کاربردهای افکت صوتی هوش مصنوعی

تدوین ویدئو

افکت‌هایی مانند Whoosh، Impact، Click و صدای محیط می‌توانند حرکت و انتقال‌های تصویری را طبیعی‌تر کنند.

فیلم کوتاه و انیمیشن

برای ساخت فضای صحنه، صدای اشیا، حرکت شخصیت و رویدادهای غیرواقعی می‌توان از هوش مصنوعی استفاده کرد.

تولید محتوای شبکه‌های اجتماعی

صدای مناسب برای ظاهر شدن نوشته، تغییر تصویر، نمایش محصول و واکنش‌های تصویری توجه مخاطب را افزایش می‌دهد.

بازی‌سازی

می‌توان صدای رابط کاربری، اشیا، محیط، موجودات خیالی و تعامل‌های بازی را به‌صورت نمونه اولیه تولید کرد.

پادکست و داستان صوتی

صدای محیط و افکت‌های محدود می‌توانند روایت را زنده‌تر کنند، به‌شرط آنکه مزاحم گفتار نباشند.

تبلیغات

افکت صوتی می‌تواند باز شدن بسته‌بندی، حرکت محصول، تأکید روی پیام یا پایان تبلیغ را تقویت کند.

اپلیکیشن و رابط کاربری

برای کلیک، موفقیت، خطا، هشدار، دریافت پیام و تکمیل عملیات می‌توان صداهای کوتاه و هماهنگ ساخت.

نمونه‌سازی محصول

پیش از ضبط حرفه‌ای، می‌توان با افکت تولیدشده فضای اولیه ویدئو، بازی یا اپلیکیشن را آزمایش کرد.

ابزارهای ساخت افکت صوتی با هوش مصنوعی

درواره

درواره زیرساخت API هوش مصنوعی است، نه نرم‌افزار تدوین صدا. توسعه‌دهندگان می‌توانند از طریق درواره به مدل‌های قابل‌ارائه متصل شوند و قابلیت‌های صوتی را در محصول یا فرایند خود به کار بگیرند.

کاربردهای احتمالی عبارت‌اند از:

  • تولید پرامپت حرفه‌ای صدا
  • ساخت فهرست افکت‌های موردنیاز یک سناریو
  • تبدیل توضیح صحنه به Cue Sheet
  • تولید متادیتای فایل‌های صوتی
  • طبقه‌بندی افکت‌ها
  • ساخت نسخه‌های مختلف برای بازی یا ویدئو
  • اتصال مدل‌های صوتی سازگار به اپلیکیشن
  • خودکارسازی مدیریت و نام‌گذاری خروجی‌ها

قابلیت و Endpoint موردنیاز برای تولید مستقیم صوت به مدل انتخاب‌شده بستگی دارد. ابتدا مدل صوتی را در صفحه مدل‌های درواره انتخاب و مستندات همان مدل را بررسی کنید.

Adobe Firefly

Adobe Firefly دارای ابزار Generate Sound Effects است و از توضیح متنی برای تولید افکت صوتی استفاده می‌کند. Adobe همچنین امکان هدایت تولید برخی افکت‌ها با ورودی صوتی یا صدای اجراشده توسط کاربر را توضیح داده است. Adobe Firefly Sound Effect Generator

ElevenLabs

ElevenLabs امکان تولید افکت صوتی و Ambient Audio از پرامپت متنی را ارائه می‌کند. در راهنمای آن، کنترل مدت و ساخت افکت Loop نیز توضیح داده شده است. راهنمای Sound Effects در ElevenLabs

Stable Audio

Stable Audio برای تولید موسیقی و افکت صوتی با هوش مصنوعی طراحی شده است و می‌توان از آن برای ساخت صداهای کوتاه یا قطعات صوتی طولانی‌تر استفاده کرد. Stable Audio

Audacity

Audacity یک ویرایشگر صوتی رایگان برای برش، Fade، تنظیم بلندی، ترکیب لایه‌ها و تبدیل فرمت است.

DaVinci Resolve

DaVinci Resolve برای هماهنگ کردن افکت با تصویر و ترکیب آن با گفتار، موسیقی و سایر لایه‌های صوتی کاربرد دارد.

Adobe Audition و Premiere Pro

این ابزارها برای ویرایش دقیق موج صدا، هماهنگ‌سازی، میکس و استفاده از افکت در پروژه‌های ویدئویی مناسب‌اند.

اجزای یک پرامپت حرفه‌ای تولید صدا

پرامپت مناسب می‌تواند از این ساختار پیروی کند:

منبع صدا + عمل + جنس یا سطح + محیط + فاصله +
شدت + مدت + ویژگی صوتی + محدودیت‌ها

نمونه ساده:

صدای قدم زدن روی چوب

نمونه دقیق‌تر:

Slow footsteps of one person walking across an old wooden floor,
recorded indoors from two meters away, subtle floor creaks,
quiet room ambience, realistic Foley, steady pace,
6 seconds, clean isolated sound, no speech, no music

منبع صدا

چه چیزی صدا را ایجاد می‌کند؟

  • کفش چرمی
  • در فلزی
  • قطره باران
  • موتور الکتریکی
  • کاغذ
  • دکمه دیجیتال
  • موجود خیالی

عمل

منبع چه کاری انجام می‌دهد؟

  • باز می‌شود.
  • می‌شکند.
  • روی زمین کشیده می‌شود.
  • روشن می‌شود.
  • خاموش می‌شود.
  • نزدیک می‌شود.
  • دور می‌شود.
  • به سطح برخورد می‌کند.

جنس و سطح

جنس اشیا تأثیر زیادی بر صدا دارد:

  • فلز
  • چوب
  • شیشه
  • پلاستیک
  • پارچه
  • سنگ
  • شن
  • برف
  • آسفالت

محیط

همان صدا در محیط‌های مختلف متفاوت شنیده می‌شود:

  • اتاق کوچک
  • سالن بزرگ
  • فضای باز
  • تونل
  • جنگل
  • خیابان
  • استودیو
  • انبار خالی

فاصله و زاویه شنیدن

  • بسیار نزدیک
  • فاصله متوسط
  • دور
  • پشت در
  • از داخل خودرو
  • از اتاق مجاور
  • نزدیک گوش
  • در حال عبور از چپ به راست

شدت

  • ظریف
  • آرام
  • متوسط
  • قوی
  • سنگین
  • ناگهانی
  • نرم
  • تیز

مدت

اگر ابزار از تعیین مدت پشتیبانی می‌کند، طول تقریبی را مشخص کنید:

2 seconds
5 seconds
10-second ambience
30-second seamless loop

محدودیت‌ها

موارد ناخواسته را حذف کنید:

no speech
no music
no background crowd
no distortion
no echo
no sudden impact
clean isolated recording

چرا پرامپت انگلیسی گاهی بهتر عمل می‌کند؟

بسیاری از مدل‌های صوتی توضیحات فارسی را نیز پردازش می‌کنند، اما ممکن است اصطلاحات فنی طراحی صدا را در انگلیسی دقیق‌تر تفسیر کنند.

روش مناسب:

  1. نیاز خود را به فارسی بنویسید.
  2. از مدل متنی بخواهید آن را به پرامپت تخصصی انگلیسی تبدیل کند.
  3. معنی و محدودیت‌های پرامپت را بررسی کنید.
  4. پرامپت را در مدل تولید صدا استفاده کنید.
  5. خروجی را براساس نتیجه اصلاح کنید.

پرامپت تبدیل توضیح فارسی به پرامپت صدا

توضیح فارسی زیر را به یک پرامپت حرفه‌ای انگلیسی
برای مدل Text-to-Sound تبدیل کن.

پرامپت باید این موارد را مشخص کند:
- منبع صدا
- عمل
- جنس سطح یا شیء
- محیط
- فاصله شنونده
- شدت
- مدت
- واقع‌گرایانه یا طراحی‌شده بودن
- مواردی که نباید در صدا وجود داشته باشند

هیچ رویداد جدیدی اضافه نکن.
فقط پرامپت انگلیسی نهایی را بنویس.

توضیح:
[توضیح فارسی]

پرامپت‌های آماده ساخت افکت صوتی

صدای باران داخل اتاق

Gentle rain tapping against a closed apartment window,
heard from inside a quiet bedroom, soft distant thunder,
warm intimate ambience, realistic field recording,
20 seconds, seamless steady texture,
no speech, no music, no sudden loud sounds

صدای باران داخل چادر

Steady rain falling on a fabric camping tent,
heard from inside the tent, soft water droplets,
subtle wind outside, cozy and realistic ambience,
30-second seamless loop, no voices, no music,
no thunder

قدم زدن روی چوب

One person wearing leather shoes walking slowly across
an old wooden floor, natural floor creaks,
small quiet room, close microphone perspective,
realistic Foley, six even footsteps,
5 seconds, clean isolated sound,
no speech, no music

قدم زدن روی برف

Slow heavy winter boots crunching through fresh dry snow,
outdoor cold environment, close recording,
clear detailed snow texture, steady walking pace,
8 seconds, realistic Foley, no wind,
no speech, no music

باز شدن در فلزی

A heavy industrial metal door slowly opening,
deep hinge creak followed by a metallic stop,
large empty warehouse with short natural reverb,
realistic cinematic sound effect,
4 seconds, no voices, no music

ورق زدن کتاب

Close-up Foley recording of a person slowly turning
one thick paper page in an old hardcover book,
quiet studio environment, detailed paper texture,
soft and realistic, 2 seconds,
no speech, no music, no background noise

صدای کافه

Busy modern coffee shop ambience,
soft indistinct conversations, cups placed on tables,
occasional espresso machine in the distance,
warm indoor room tone, natural and balanced,
30-second seamless loop, no intelligible speech,
no music, no dominant foreground sound

فضای دفتر کار

Quiet modern office ambience,
subtle keyboard typing, distant mouse clicks,
low air conditioning hum, occasional chair movement,
natural indoor room tone, 30-second seamless loop,
no intelligible speech, no phone ringing,
no music

جنگل هنگام صبح

Peaceful forest at early morning,
gentle leaves moving in a light breeze,
small birds at varying distances,
subtle natural depth, realistic field recording,
30-second seamless ambience loop,
no human voices, no music, no dramatic animals

خیابان بارانی

Urban street during moderate rain,
cars passing slowly on wet asphalt,
soft tire spray and distant city ambience,
listener standing under a covered sidewalk,
realistic stereo environment, 20 seconds,
no intelligible speech, no music, no sirens

موتور سفینه فضایی

Futuristic spacecraft engine powering up,
low mechanical rumble building into a stable
high-energy electric hum, layered cinematic science-fiction design,
powerful but controlled, 7 seconds,
clean sound effect, no alarm, no speech, no music

صدای جادویی

A delicate magical energy pulse forming in the air,
soft crystalline shimmer, rising sparkling particles,
brief warm impact and fading tail,
elegant fantasy sound design, 3 seconds,
no music, no voice, no harsh explosion

Whoosh برای تغییر صحنه

Fast clean cinematic whoosh moving from right to left,
smooth air movement with a subtle low-frequency body,
short and modern transition sound,
0.8 seconds, no impact, no music,
no metallic texture

Impact تبلیغاتی

Short premium cinematic impact,
deep controlled low-frequency hit with a crisp upper layer,
modern commercial sound design,
1.2 seconds with a brief clean tail,
no explosion, no distortion, no music

کلیک رابط کاربری

Minimal digital interface click,
soft tactile character, clean high-frequency detail,
modern premium app sound, very short,
0.15 seconds, isolated, no reverb,
no background noise

صدای موفقیت در اپلیکیشن

Short positive user interface confirmation sound,
two soft ascending digital tones,
friendly, modern and subtle,
0.6 seconds, clean isolated audio,
no voice, no music, no long reverb

صدای خطا در اپلیکیشن

Short neutral user interface error sound,
two gentle descending tones,
clear but not alarming, modern software design,
0.7 seconds, clean isolated audio,
no harsh buzzer, no voice, no music

Loop محیط بازی

Subtle underground cave ambience,
distant water drops, low air movement,
occasional small stone movement,
dark but not frightening, realistic environmental sound,
30-second perfectly seamless loop,
no music, no voices, no creatures,
no sudden loud events

آموزش ساخت افکت صوتی، مرحله‌به‌مرحله

مرحله اول: صحنه را تحلیل کنید

پیش از تولید صدا، مشخص کنید در صحنه چه اتفاقی می‌افتد:

  • چه اشیایی حرکت می‌کنند؟
  • شخصیت روی چه سطحی راه می‌رود؟
  • محیط باز است یا بسته؟
  • دوربین یا شنونده کجاست؟
  • رویداد چقدر طول می‌کشد؟
  • صدا باید واقع‌گرایانه باشد یا سینمایی؟
  • گفتار و موسیقی نیز در صحنه وجود دارند؟

مرحله دوم: فهرست صداها را بنویسید

مثلاً برای صحنه ورود شخص به یک کافه:

  • صدای محیط خیابان
  • باز شدن در شیشه‌ای
  • زنگ کوچک بالای در
  • تغییر Ambience از خیابان به فضای داخلی
  • قدم زدن روی کف
  • همهمه کافه
  • صدای دستگاه قهوه
  • گذاشتن کیف روی صندلی

بهتر است هر لایه جداگانه تولید شود. درخواست همه این صداها در یک پرامپت، کنترل شما را کاهش می‌دهد.

مرحله سوم: صداها را اولویت‌بندی کنید

سه سطح تعریف کنید:

صدای اصلی

رویدادی که مخاطب باید حتماً بشنود.

صدای محیط

فضای کلی صحنه را می‌سازد.

جزئیات

صداهای ظریفی که واقع‌گرایی را افزایش می‌دهند.

مرحله چهارم: هر صدا را جداگانه تولید کنید

برای هر افکت چند نسخه تولید و بهترین مورد را انتخاب کنید. تغییرات کوچک پرامپت می‌توانند نتیجه را بهبود دهند:

  • نزدیک‌تر یا دورتر
  • کوتاه‌تر یا طولانی‌تر
  • خشک‌تر یا دارای Reverb
  • آرام‌تر یا شدیدتر
  • واقع‌گرایانه‌تر یا سینمایی‌تر

مرحله پنجم: فایل را نام‌گذاری کنید

نام مناسب:

door-metal-open-warehouse-v01.wav
footsteps-wood-slow-close-v03.wav
office-ambience-loop-30s-v02.wav
ui-success-soft-v01.wav

نام نامناسب:

audio1.wav
final.wav
final-new-2.wav

مرحله ششم: صدا را ویرایش کنید

ویرایش معمول ممکن است شامل این موارد باشد:

  • حذف سکوت اضافه
  • Trim ابتدا و انتها
  • Fade In و Fade Out
  • تنظیم بلندی
  • کاهش فرکانس‌های ناخواسته
  • هماهنگ کردن با تصویر
  • ساخت نسخه کوتاه‌تر
  • تبدیل به Mono یا Stereo
  • ساخت Loop
  • خروجی گرفتن در فرمت مناسب

مرحله هفتم: صدا را در میکس آزمایش کنید

افکتی که به‌تنهایی خوب شنیده می‌شود ممکن است در کنار گفتار و موسیقی بیش از حد بلند یا نامشخص باشد. نتیجه را داخل پروژه واقعی بررسی کنید.

ساخت Cue Sheet با هوش مصنوعی

Cue Sheet جدولی است که محل و نوع هر صدای موردنیاز را مشخص می‌کند.

نمونه:

زمان شروعزمان پایاننوعتوضیحاولویت
00:0000:12Ambienceخیابان بارانیمتوسط
00:03.200:04.0Foleyباز شدن در شیشه‌ایبالا
00:03.800:04.5SFXزنگ کوچک دربالا
00:0400:12Ambienceفضای داخلی کافهمتوسط
00:06.500:08.5Foleyقدم زدن روی کف چوبیبالا

پرامپت:

سناریوی ویدئو را به Cue Sheet افکت صوتی تبدیل کن.

برای هر صدا مشخص کن:
- start_time
- end_time
- category
- description_fa
- generation_prompt_en
- duration_seconds
- loop
- priority
- notes

قواعد:
- دیالوگ و موسیقی تولید نکن.
- هر افکت مستقل باشد.
- زمان‌ها فقط براساس سناریو مشخص شوند.
- اگر زمان دقیق مشخص نیست، needs_review بنویس.
- صداهای غیرضروری اضافه نکن.

سناریو:
[سناریوی زمان‌بندی‌شده]

ساخت پرامپت‌های صوتی با API درواره

حتی اگر Endpoint تولید صوت میان مدل‌ها متفاوت باشد، می‌توانید بخش تحلیل سناریو و ساخت پرامپت‌ها را با یک مدل متنی از طریق API درواره انجام دهید.

فایل .env:

DARVAREH_API_KEY=YOUR_API_KEY
DARVAREH_TEXT_MODEL=YOUR_MODEL_ID

YOUR_MODEL_ID باید با Model ID مدل انتخاب‌شده در درواره جایگزین شود.

نصب کتابخانه‌ها:

pip install openai python-dotenv

کد Python:

import json
import os
from pathlib import Path

from dotenv import load_dotenv
from openai import OpenAI

load_dotenv()

api_key = os.getenv("DARVAREH_API_KEY")
model_id = os.getenv("DARVAREH_TEXT_MODEL")

if not api_key:
    raise RuntimeError("DARVAREH_API_KEY is not configured")

if not model_id:
    raise RuntimeError("DARVAREH_TEXT_MODEL is not configured")

client = OpenAI(
    api_key=api_key,
    base_url="https://api.darvareh.ir/v1",
)

scene = """
00:00 تا 00:04: نمای بیرونی یک کافه در هوای بارانی.
00:04: شخصیت در شیشه‌ای کافه را باز می‌کند.
00:05 تا 00:08: وارد کافه می‌شود و سه قدم روی کف چوبی برمی‌دارد.
00:08: کیف خود را روی صندلی قرار می‌دهد.
00:00 تا 00:12: هیچ دیالوگی وجود ندارد.
""".strip()

prompt = f"""
سناریوی زیر را به فهرست افکت‌های صوتی تبدیل کن.

خروجی فقط JSON معتبر با این ساختار باشد:
{{
  "project": "نام کوتاه پروژه",
  "cues": [
    {{
      "id": "SFX-001",
      "start_time": "00:00.000",
      "end_time": "00:04.000",
      "category": "ambience یا foley یا sfx یا transition",
      "description_fa": "توضیح فارسی",
      "prompt_en": "پرامپت انگلیسی تولید صدا",
      "duration_seconds": 4,
      "loop": false,
      "priority": "high یا medium یا low",
      "review_status": "draft یا needs_review"
    }}
  ]
}}

قواعد:
- فقط صداهای قابل استنباط از سناریو را اضافه کن.
- موسیقی یا دیالوگ تولید نکن.
- هر صدای مستقل یک Cue جدا داشته باشد.
- پرامپت انگلیسی شامل منبع، عمل، محیط،
  فاصله، شدت، مدت و محدودیت‌ها باشد.
- اگر زمان دقیق مشخص نیست، review_status را
  needs_review قرار بده.
- هیچ اتفاق جدیدی به صحنه اضافه نکن.

سناریو:
{scene}
""".strip()

response = client.chat.completions.create(
    model=model_id,
    messages=[
        {
            "role": "system",
            "content": (
                "تو طراح صدا هستی و سناریو را به "
                "Cueهای دقیق تبدیل می‌کنی. نباید "
                "رویدادی خارج از سناریو بسازی."
            ),
        },
        {
            "role": "user",
            "content": prompt,
        },
    ],
    temperature=0.2,
)

content = response.choices[0].message.content
cue_sheet = json.loads(content)

Path("sound-cues.json").write_text(
    json.dumps(
        cue_sheet,
        ensure_ascii=False,
        indent=2,
    ),
    encoding="utf-8",
)

print("Created sound-cues.json")

پس از تولید Cue Sheet، پرامپت هر Cue را با مدل صوتی انتخاب‌شده اجرا کنید. مسیر درخواست، پارامتر مدت، فرمت خروجی و محدودیت‌ها را مطابق مستندات همان مدل در درواره تنظیم کنید؛ زیرا همه مدل‌های صوتی API یکسانی ندارند.

اعتبارسنجی Cue Sheet

ALLOWED_CATEGORIES = {
    "ambience",
    "foley",
    "sfx",
    "transition",
}

ALLOWED_PRIORITIES = {
    "high",
    "medium",
    "low",
}


def validate_cue_sheet(data: dict) -> list[str]:
    errors = []
    cues = data.get("cues")

    if not isinstance(cues, list):
        return ["cues must be an array"]

    seen_ids = set()

    for index, cue in enumerate(cues):
        cue_id = cue.get("id")
        category = cue.get("category")
        prompt_en = cue.get("prompt_en")
        duration = cue.get("duration_seconds")
        priority = cue.get("priority")

        if not cue_id:
            errors.append(
                f"Cue {index}: missing id"
            )
        elif cue_id in seen_ids:
            errors.append(
                f"Cue {index}: duplicate id {cue_id}"
            )
        else:
            seen_ids.add(cue_id)

        if category not in ALLOWED_CATEGORIES:
            errors.append(
                f"Cue {index}: invalid category"
            )

        if priority not in ALLOWED_PRIORITIES:
            errors.append(
                f"Cue {index}: invalid priority"
            )

        if not prompt_en:
            errors.append(
                f"Cue {index}: missing prompt"
            )

        if not isinstance(duration, (int, float)):
            errors.append(
                f"Cue {index}: invalid duration"
            )
        elif duration <= 0:
            errors.append(
                f"Cue {index}: duration must be positive"
            )

    return errors

نام‌گذاری خودکار فایل‌ها

import re


def slugify_audio_name(value: str) -> str:
    value = value.lower().strip()
    value = re.sub(r"[^a-z0-9]+", "-", value)
    return value.strip("-")


def build_audio_filename(
    cue_id: str,
    category: str,
    short_name: str,
    version: int,
    extension: str = "wav",
) -> str:
    safe_name = slugify_audio_name(short_name)

    return (
        f"{cue_id.lower()}-"
        f"{category}-"
        f"{safe_name}-"
        f"v{version:02d}."
        f"{extension}"
    )

استفاده:

filename = build_audio_filename(
    cue_id="SFX-003",
    category="foley",
    short_name="wood footsteps",
    version=2,
)

print(filename)

خروجی:

sfx-003-foley-wood-footsteps-v02.wav

ویرایش فایل صوتی با FFmpeg

مشاهده اطلاعات فایل

ffprobe -v error \
  -show_entries format=duration,bit_rate \
  -show_entries stream=codec_name,sample_rate,channels \
  -of default=noprint_wrappers=1 \
  input.wav

برش یک بخش مشخص

ffmpeg -i input.wav \
  -ss 00:00:01.200 \
  -t 4.5 \
  -c:a pcm_s16le \
  trimmed.wav

افزودن Fade In و Fade Out

ffmpeg -i input.wav \
  -af "afade=t=in:st=0:d=0.15,afade=t=out:st=4.5:d=0.3" \
  output-faded.wav

در این مثال، زمان شروع Fade Out باید با طول واقعی فایل هماهنگ شود.

تبدیل WAV به MP3

ffmpeg -i input.wav \
  -codec:a libmp3lame \
  -b:a 192k \
  output.mp3

تبدیل به OGG برای بازی یا وب

ffmpeg -i input.wav \
  -codec:a libvorbis \
  -q:a 5 \
  output.ogg

تبدیل Stereo به Mono

ffmpeg -i input.wav \
  -ac 1 \
  -c:a pcm_s16le \
  output-mono.wav

تبدیل به Mono برای تمام صداها مناسب نیست. صدای محیط معمولاً از فضای Stereo بهره می‌برد، اما بعضی افکت‌های رابط کاربری یا صدای شیء می‌توانند Mono باشند.

انتخاب فرمت مناسب

فرمتویژگیکاربرد
WAVبدون فشرده‌سازی مخرب، حجم بالاویرایش و آرشیو اصلی
FLACفشرده‌سازی بدون افتآرشیو با حجم کمتر
MP3حجم کم و سازگاری بالاانتشار و پیش‌نمایش
OGGمناسب وب و بازیبازی و اپلیکیشن
AAC/M4Aکیفیت مناسب با حجم کمویدئو و موبایل

نسخه اصلی را ترجیحاً با کیفیت بالا نگه دارید و نسخه‌های فشرده را از روی آن بسازید.

چگونه یک Loop بدون پرش بسازیم؟

افکت Loop باید هنگام اتصال انتها به ابتدا، پرش قابل‌شنیدن نداشته باشد.

روش پیشنهادی:

  1. صدایی با بافت نسبتاً ثابت تولید کنید.
  2. رویداد ناگهانی نزدیک ابتدا یا انتها نداشته باشید.
  3. بخش مناسب را انتخاب کنید.
  4. ابتدا و انتها را Crossfade کنید.
  5. فایل را چند بار پشت سر هم پخش کنید.
  6. محل اتصال را با هدفون بررسی کنید.

پرامپت مناسب:

30-second seamless loop,
steady ambience,
no sudden events,
no dramatic changes,
consistent intensity

اگر مدل خروجی کاملاً Loop تولید نکرد، با ابزار ویرایش صوت محل اتصال را اصلاح کنید.

ترکیب لایه‌های صوتی

برای یک صحنه لازم نیست همه چیز در یک فایل تولید شود. ساخت لایه‌ای کنترل بیشتری ایجاد می‌کند.

مثال جنگل بارانی:

لایه اول

باران ثابت

لایه دوم

باد میان برگ‌ها

لایه سوم

پرندگان دور

لایه چهارم

قطره‌های نزدیک

لایه پنجم

رعد بسیار دور و محدود

مزیت‌ها:

  • کنترل مستقل بلندی هر صدا
  • امکان حذف یک عنصر
  • ساخت نسخه‌های مختلف
  • هماهنگی بهتر با تصویر
  • Loop ساده‌تر
  • استفاده مجدد از لایه‌ها

تنظیم بلندی صدا

عدد واحدی برای تمام پروژه‌ها وجود ندارد. بلندی مناسب به گفتار، موسیقی، پلتفرم و نقش افکت بستگی دارد.

قواعد کاربردی:

  • گفتار باید قابل‌فهم باقی بماند.
  • Ambience نباید توجه را از محتوای اصلی بگیرد.
  • افکت‌های ناگهانی نباید باعث Clipping شوند.
  • چند صدای قوی را بدون تنظیم روی هم قرار ندهید.
  • خروجی نهایی را با هدفون، اسپیکر و موبایل آزمایش کنید.
  • فقط به شکل موج نگاه نکنید؛ نتیجه را گوش دهید.

چگونه افکت را با ویدئو هماهنگ کنیم؟

نقطه تماس را پیدا کنید

برای صدای برخورد، بسته شدن در یا گذاشتن جسم، نقطه اوج صدا باید با فریم تماس هماهنگ شود.

پیش‌صدا را حفظ کنید

بعضی افکت‌ها پیش از رویداد بخش کوتاهی دارند. برش بیش از حد ابتدای فایل می‌تواند صدا را غیرطبیعی کند.

Tail را کنترل کنید

Reverb یا دنباله صدا ممکن است وارد صحنه بعدی شود. برحسب تدوین، آن را نگه دارید یا کوتاه کنید.

از Slow Motion غافل نشوید

در تصویر آهسته، صدای واقعی ممکن است مناسب نباشد. گاهی طراحی صوتی کشیده‌تر و سینمایی‌تر لازم است.

همه حرکت‌ها را صداگذاری نکنید

افکت زیاد باعث شلوغی می‌شود. صداهای مهم برای روایت و توجه مخاطب را انتخاب کنید.

اشتباهات رایج در ساخت افکت صوتی با هوش مصنوعی

پرامپت بسیار کوتاه

عبارت «صدای در» مشخص نمی‌کند در چوبی است یا فلزی، چگونه باز می‌شود و در چه محیطی قرار دارد.

درخواست چند صدای پیچیده در یک پرامپت

برای کنترل بهتر، صداها را جداگانه تولید کنید.

مشخص نکردن فاصله

صدای یک رویداد از نزدیک و دور کاملاً متفاوت است.

فراموش کردن محیط

Reverb و بافت محیط بخش مهمی از صدا هستند.

تولید موسیقی ناخواسته

در انتهای پرامپت بنویسید:

no music

وجود گفتار نامفهوم

برای صدای جمعیت یا کافه بنویسید:

no intelligible speech

استفاده مستقیم بدون ویرایش

ابتدا، انتها، بلندی و فرمت خروجی را بررسی کنید.

استفاده از MP3 به‌عنوان فایل اصلی تدوین

برای ویرایش چندمرحله‌ای، WAV یا فرمت بدون افت انتخاب مناسب‌تری است.

افکت بیش از حد بلند

صدای اصلی نباید گفتار یا موسیقی را بپوشاند، مگر اینکه هدف روایی مشخصی وجود داشته باشد.

نداشتن نسخه‌بندی

نسخه‌ها را با v01، v02 و اطلاعات کوتاه نام‌گذاری کنید.

فرض کردن اینکه خروجی همیشه Loop است

حتی اگر Loop درخواست شده، محل اتصال باید شنیده و بررسی شود.

بررسی نکردن شرایط استفاده

پیش از استفاده تجاری، شرایط سرویس و مدل انتخاب‌شده را بررسی کنید. شرایط ابزارها و پلن‌ها ممکن است متفاوت باشند.

چک‌لیست نهایی افکت صوتی

پیش از استفاده بررسی کنید:

  • نقش صدا در صحنه مشخص است.
  • منبع و عمل در پرامپت توضیح داده شده‌اند.
  • جنس سطح یا شیء مشخص است.
  • محیط و فاصله شنونده تعریف شده‌اند.
  • مدت تقریبی تعیین شده است.
  • وجود یا نبود موسیقی و گفتار مشخص شده است.
  • چند نسخه تولید و مقایسه شده‌اند.
  • سکوت اضافه حذف شده است.
  • ابتدا و انتها Fade مناسب دارند.
  • صدا Clipping ندارد.
  • افکت با گفتار و موسیقی تداخل نامناسب ندارد.
  • زمان افکت با تصویر هماهنگ است.
  • Loop بدون پرش بررسی شده است.
  • فرمت خروجی با پروژه هماهنگ است.
  • فایل اصلی با کیفیت بالا نگهداری شده است.
  • نام فایل واضح و نسخه‌دار است.
  • خروجی با هدفون و اسپیکر آزمایش شده است.
  • شرایط استفاده از مدل بررسی شده است.
  • اطلاعات مدل، پرامپت و نسخه خروجی ثبت شده‌اند.

سوالات متداول

هوش مصنوعی تولید افکت صوتی چگونه کار می‌کند؟

مدل توضیح متنی شما را تحلیل و براساس ویژگی‌هایی مانند منبع صدا، محیط، شدت و مدت، یک فایل صوتی تولید می‌کند.

آیا می‌توان با متن فارسی افکت صوتی ساخت؟

بله، بعضی مدل‌ها توضیحات فارسی را پردازش می‌کنند. برای کنترل دقیق‌تر می‌توانید توضیح فارسی را ابتدا به پرامپت تخصصی انگلیسی تبدیل کنید.

چگونه صدای محیط Loop بسازیم؟

در پرامپت عبارت‌هایی مانند seamless loop، steady ambience و no sudden events را بنویسید. سپس محل اتصال ابتدا و انتهای فایل را در نرم‌افزار ویرایش بررسی کنید.

تفاوت افکت صوتی و موسیقی چیست؟

افکت صوتی معمولاً یک رویداد، حرکت یا محیط را نمایش می‌دهد؛ موسیقی دارای ساختار ریتمیک یا ملودیک است و حس کلی محتوا را شکل می‌دهد.

برای تدوین WAV بهتر است یا MP3؟

برای فایل اصلی و ویرایش، WAV مناسب‌تر است. MP3 برای پیش‌نمایش یا انتشار کم‌حجم کاربرد دارد.

چگونه برای ویدئو افکت صوتی بسازیم؟

ابتدا ویدئو را به صحنه‌ها و رویدادها تقسیم، Cue Sheet تولید و برای هر صدای مهم یک پرامپت مستقل بنویسید. سپس فایل‌ها را در Timeline با تصویر هماهنگ کنید.

آیا می‌توان برای بازی افکت صوتی تولید کرد؟

بله. صداهای رابط کاربری، محیط، اشیا، موجودات و رویدادهای بازی قابل‌تولید هستند. برای تنوع طبیعی بهتر است از هر افکت چند نسخه داشته باشید.

آیا درواره یک ویرایشگر صدا است؟

خیر. درواره زیرساخت API هوش مصنوعی است. می‌توانید از مدل‌های متنی و صوتی قابل‌ارائه آن برای ساخت Prompt، Cue Sheet و قابلیت‌های صوتی در اپلیکیشن خود استفاده کنید.

Endpoint تولید افکت صوتی در درواره چیست؟

Endpoint و پارامترهای تولید صوت به مدل انتخاب‌شده بستگی دارند. پس از انتخاب مدل از صفحه مدل‌ها، مستندات همان مدل را بررسی کنید و از Base URL درواره یعنی https://api.darvareh.ir/v1 استفاده کنید.

هزینه تولید افکت صوتی چقدر است؟

هزینه به مدل انتخابی، مدت فایل، تعداد تولیدها و تنظیمات خروجی بستگی دارد. برای مشاهده قیمت‌های به‌روز به صفحه مدل‌های درواره مراجعه کنید.

جمع‌بندی

ساخت افکت صوتی با هوش مصنوعی به تولیدکنندگان محتوا، تدوینگران، بازی‌سازان و توسعه‌دهندگان اجازه می‌دهد صداهایی متناسب با نیاز پروژه ایجاد کنند. برای رسیدن به نتیجه حرفه‌ای باید منبع صدا، عمل، جنس سطح، محیط، فاصله، شدت، مدت و محدودیت‌های خروجی را در پرامپت مشخص کنید.

بهترین Workflow این است که ابتدا سناریو را به Cue Sheet تبدیل کنید، هر افکت را جداگانه بسازید، چند نسخه را مقایسه کنید و پس از ویرایش و هماهنگ‌سازی، آن را وارد میکس نهایی کنید.

اگر قصد دارید تولید یا مدیریت افکت‌های صوتی را در نرم‌افزار، سرویس ویدئویی، بازی یا فرایند محتوایی خود پیاده‌سازی کنید، API درواره امکان اتصال به مدل‌های هوش مصنوعی قابل‌ارائه را فراهم می‌کند.

برای شروع، در درواره ثبت‌نام کنید، مدل مناسب را از صفحه مدل‌ها انتخاب کنید و اولین فرایند تولید افکت صوتی خود را بسازید.

مقالات مرتبط

برای مطالعه شرایط استفاده و محدودیت‌های مسئولیت، صفحه «سلب مسئولیت» را مشاهده کنید.

Read more