Истражувачка (brainstorming) фаза
Во март/април започнав со brainstorming за проектот по предметот Компјутерски звук, музика и говор. Сакав да креирам апликација која ќе генерира звучни ефекти со вештачка интелигенција.
Целта беше да не останам само на теоретско ниво, туку да изградам работен прототип кој може да прикаже реални резултати (аудио фајлови).
Првични размислувања (brainstorming)
Прво планирав да користам GAN базирани модели (како WaveGAN и NSynth), бидејќи тие беа класичен пристап за аудио генерација. Но брзо сфатив дека:
- Тие модели се постари, потешки за подесување
- Би требало сам да соберам и обработам база на податоци и да правам fine-tuning ,што конкретно за тој период ми беше преголем залак, со оглед на тоа дека би требало да работам со технологии со кои првпат се сретнувам.
- Conditional GAN (cGAN) изгледаше интересно (контрола по категории: “куче”, “река”), но остана премногу комплицирано за MVP
Алтернативи и конечна одлука
- AudioLDM (и AudioLDM2)
- Diffusion-базиран модел (text prompt-to-audio)
- Полесен за користење и посоодветен за мојата идеја отколку WaveGAN (
HuggingFace
екосистем) - Поддржува prompt-based контрола (супер за мојата идеја)
- Недостаток: библиотеката не e ажурирана повеќе од година, но е стабилна
- Meta
AudioCraft
/AudioGen
- Помодерен модел за аудио генерација
- Подобро одржуван
- Насочен кон музика и подолги композиции, што не е во рамки со мојата идеја
ElevenLabs
Sound Effects API (приватно решение)- Индустриско решение, го разгледав како опција при истражување
- Недостаток: комерцијално, не е во дух на академски проект
Финална одлука:
- Користам AudioLDM2 бидејќи:
- Овозможува text-to-audio генерација
- Поддржан од
HuggingFace
diffusers - Генерира кратки звучни ефекти
- Компатибилен со мојот RTX 4060 + CUDA 12.7
- Дополнително направив тест и со
AudioCraft
, но го оставив само како споредбена технологија
Одлука за GUI
- Прво размислував за Tkinter
- Беше застарен, ретко користен, естетски не одговараше со моите идеи
- Се одлучив за Gradio бидејќи има:
- Лесна интеграција со ВИ модели
- Релевантен и користен во ВИ проекти
- Web-based, односно UI може да се тестира/користи директно во прелистувач
Заклучок
Финалната структура на проектот е:
- Модел: AudioLDM2 (text-to-audio)
- Frontend: Gradio (web GUI)
- Backend: Python +
HuggingFace
Diffusers - Локално извршување: NVIDIA RTX 4060 + CUDA 12.7
Deployment/Presentation
:HuggingFace
Spaces
Со ова ја завршив Фаза 0 (Истражувачка фаза) и ја докажав изводливоста преку Фаза 1.