일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 인공지능
- 오픈AI
- javascript
- AI 기술
- LLM
- LORA
- 티스토리챌린지
- 딥마인드
- TRANSFORMER
- 트랜스포머
- ControlNet
- 메타
- 이미지 편집
- 시간적 일관성
- 오블완
- 뉴럴링크
- 확산 모델
- 가상환경
- 서보모터
- OpenAI
- PYTHON
- 아두이노
- ChatGPT
- 일론 머스크
- 우분투
- 생성형 AI
- tts
- 멀티모달
- AI
- ubuntu
- Today
- Total
AI 탐구노트
AudioCraft를 이용한 효과음 만들어 보기 본문
이번에는 AudioCraft를 이용해서 효과음을 생성해 보려고 합니다.
목표로 하는 것은 카운트다운에 사용될 초시계의 효과음을 만들어 보는 것입니다.
지난 번에 퀴즈 때문에 다운받은 것이 있긴 한데...
마음에 드는 것은 다 유료 라이선스이고, 대충 기계음을 이용하니 영 듣기 거슬리고...
고민하던 중에 AI로 만들기로 했습니다.
지금은 DIY 시대니까요. ^^
모델 및 도구 선택
제가 사용할 것은 Meta에서 공개한 AudioCraft라는 도구입니다.
해당 모델은 이전에 소개글로 작성한 바가 있죠.
음악, 효과음 등을 생성해주는데 데모 샘플이 아주 훌륭해 보였습니다.
하지만 위 원본 github repo 상에는 사용자를 위한 GUI 도구가 없습니다.
그래서, 올인원 웹기반 도구를 만들어서 공개한 audiocraft_plus를 이용하기로 했습니다.
환경 구성
먼저 AudioCraft 동작을 위한 환경 구성을 합니다.
가상 환경 하에서 작업하실 것과, CUDA 지원 버전의 torch, torchaudio를 이용하실 것을 권장 드립니다.
# Conda 가상 환경 생성
$ conda create -n audiocraft python=3.11
$ conda activate audiocraft
# Pytorch 설치. 내 경우, CUDA 12.4 환경 활용토록...
# $ pip install torch torchaudio
$ pip3 install torch torchaudio --index-url https://download.pytorch.org/whl/cu124
# audiocraft 관련 패키지 설치
$ pip install -U audiocraft # stable release
$ pip install -U git+https://git@github.com/GrandaddyShmax/audiocraft_plus#egg=audiocraft
# audiocraft_plus github repo clone 및 추가 필요 패키지 설치
$ git clone https://github.com/GrandaddyShmax/audiocraft_plus
$ cd audiocraft_plus
$ pip install -e .
# ffmpeg apt 패키지 설치 (없다면)
$ sudo apt install ffmpeg
실행
$ python app.py
확인
프로그램을 구동하고 브라우저를 통해 아래 URL로 접근하면 AudioCraft_plus의 웹 화면이 표시됩니다.
크게는 MusicGen, AudioGen, AudioInfo, ChangeLog, About 이렇게 5개의 탭으로 구성되어 있습니다.
- MusicGen : 음악을 생성합니다.
- AudioGen : 음향효과를 생성합니다.
- Audio Info : 생성된 오디오와 관련된 정보를 확인할 수 있습니다.
테스트
저는 이 가운데 AudioGen을 통해서 시계가 재깍거리는 3초짜리 음향효과를 만들어 볼 생각입니다.
MusicGen과 AudioGen 둘 다 실행시키면 필요한 모델을 자동으로 다운받게 되어 있습니다.
그나마 AudioGen의 용량이 적네요.
MusicGen의 경우, Model을 melody/small/medium/large/custom 이렇게 선택할 수 있습니다.
아무래도 큰 모델의 생성 결과물이 좋습니다.
생성된 결과물
1.재깍 거리는 시계 소리 (AudioGen 이용 예시)
2.나뭇잎 사이를 지나가는 바람의 소리 (MusicGen 이용 예시)
참고사항
github에 공개된 코드를 이용해서 실행 중에 아래와 같은 오류가 발생했습니다.
해당 코드 부분을 수정하고 진행했습니다.
오류-1. Audio Gen의 구동 중 오류
인자값으로 str 대신 PosixPath 타입이 넘어와서 생긴 오류입니다.
RuntimeError: torchaudio::sox_io_save_audio_file() Expected a value of type 'str' for argument '_0' but instead found type 'PosixPath'.
Position: 0
Value: PosixPath('/tmp/tmpgdbw3vgy.wav')
/home/sol/code_ssd/audiocraft_plus/audiocraft/data/audio.py의 210번 라인
# ta.save(path, wav, sample_rate, **kwargs)
ta.save(str(path), wav, sample_rate, **kwargs)
오류-2.Music Gen 구동 중 오류
custom_model 설정값이 None인 경우 발생합니다.
File "/home/sol/code_ssd/audiocraft_plus/app.py", line 826, in predict_full custom_model = "models/" + custom_model ~~~~~~~~~~^~~~~~~~~~~~~~ TypeError: can only concatenate str (not "NoneType") to str
app.py의 826번 라인
# custom_model = "models/" + custom_model
custom_model = "models/" + (custom_model if custom_model is not None else "default_model")
지금까지 AudioCraft를 AudioCraft_plus를 이용해서 사용해 봤습니다.
음악, 음향효과 등은 인터넷에서 많이 접할 수 있지만,
정작 딱 내가 원하는 목적에 맞는 것을 구하는 것은 어렵습니다.
컨텐츠를 만드는 분들에게는 이렇게 직접 창작할 수 있는 도구들이 생긴다는 좋은 소식이죠.
아무쪼록 다른 분들도 여기서 소개해 드린 길을 한번 가 보시기 바랍니다.
재미날테니까요 ~ ^^
'DIY 테스트' 카테고리의 다른 글
나만의 썸네일 메이커 만들기 - 2편 (1) | 2024.10.11 |
---|---|
썸네일 메이커 Electron 어플리케이션으로 전환하기 (1) | 2024.10.09 |
나만의 썸네일 메이커 만들기 - 1편 (6) | 2024.10.09 |
Flux.1 설치 및 테스트 (2) | 2024.10.06 |
복수의 인원이 포함된 영상에서의 안면 비식별화 (0) | 2024.10.04 |