사운드 생성형 AI 툴 탐색 및 사용 일지
예로부터 관심 있었던 사운드 비주얼 기반의 작업을 시도해 보기로 했다.
사운드 분야에 전문적 지식이 있는 건 아니어서 내 감각과 상상에 의존하여 지지고 볶아볼 예정이다.
이를 위해 우선 연습용으로 오디오 스케치를 제작해보기로 했다.
어떤 사운드를 가져올 것이냐...기존 사운드 이펙트 소스/패키지들은 정형화가 되어있어 지루하게 느껴져 손이 가지 않았다.
그렇다면 직접 레코딩을 해서 소스를 제작하는 방법이 있다. 당연한거다!
그러던 중 한가지 제안 받은 방식이 있는데 생성형 AI툴을 사용해보는 것.
AI가 내놓는 예기치 못한 결과물들이 내 프레임 바깥 영역을 보여주는 경우가 많기 때문에 이러한 기술들이 창작자 입장에서 훌륭한 도구가 될 수 있다고 생각한다.. 프레임의 빠르게 변화하는 기술 흐름에 보폭을 맞출 필요성을 느끼기도 하고.
그렇기에 이런 생성형 AI의 윤리적 문제나 논란들은 차치하고 우선 사용 경험을 축적하는 데에 목표점을 두었다.
그런데 이 과정에서 큰 문제가 있었으니,,
나는 머신러닝에 대한 개념도, 코딩한 줄도 적을 줄 모른다는 것..^^
어찌할꼬... 이리저리 검색을 하며 방황하다가 Hugging Face 라는 머신러닝 플랫폼을 발견하게 됨.
학습용 데이터셋뿐만 아니라 사용자가 실제로 구동할 수 있도록 오픈소스 AI 모델들도 공유해 놓음!
그래서 나 같이 깃허브 같은 곳에서 오픈소스코드를 다운받아 사용할 줄 모르는 문송한 사람들이 접근하기 훨씬 수월하게 느껴진다.
다양한 모델들을 살펴보기 위해 검색창에 audio를 입력해 본다.
입력 후 아래 보이는 spaces탭에서 공유모델들을 확인해 볼 수 있다. 구동이 잘 되는 모델도 있는 반면에 에러가 있는 것들도 적지 않다. 잘 살펴봐야 함.
사용 경험 및 결과
이렇게 해서 발견한 두 가지 모델에서 텍스트를 입력해 보며 작업에 쓸만한 오디오 소스들을 뽑았다.
두 모델의 특성과 사용해 본 느낌은 다음과 같다.
1. AudioLDM: Text-to-Audio Generation with Latent Diffusion Models
AudioLDM 데모버전으로 올려놓은 것이라고 함.
총 5초 분량의 사운드만 아웃풋으로 가능. 고정값이기에 길이조절 불가능.
오디오 품질도 하향조정되어 뭉그러진소리가 난다.
그래도 곧잘 내가 입력한 텍스트 상황 문맥에 맞는 소리들을 잘 출력해 냄.
학습능력
2. AudioGen
AudioGen - a Hugging Face Space by Manjushri
Meta가 공개한 Audiocraft 오픈소스 기반 모델.
위의 LDM 모델에 비해 전반적인 성능이 상당히 좋다.
사운드 길이도 0-16초 사이 원하는대로 선택 가능.
해상도가 좋은 아웃풋이 나오기 때문에 (복불복이긴 함) 사운드를 가공해서 쓰기 좋다.
학습능력 조금 더 점검후 다시 작성
다만 성능이 좋다는 이야기는 아웃풋을 뽑아내는 시간이 상대적으로 오래 걸린다는 것.
(물론 개인 컴퓨터 성능에 따라 다를 것임. 내가 쓰는 이 10년된 어르신 DELL 랩탑은 조금 오래걸리심)
그럼에도 불구하고 적합한 사운드 소스를 찾기에 이 AudioGen 모델이 가능성이 더 많다.
어떤 데이터들을 기반으로 학습하여 사운드를 출력하는 지 궁금하다.
에필로그
미운 Meta Audiocraft...
https://ai.meta.com/blog/audiocraft-musicgen-audiogen-encodec-generative-ai-audio/
사실 Hugging face에 올라온 AudioGen 모델을 사용하기 전에 Meta에서 공개한 오픈소스를 직접 다운받아 구동시켜서 사운드 소스를 뽑아내려고 했었다. 그러나 긱허브를 보는 순간 현기증이 나며 내가 혼자 처리할 수 있는 레벨이 아님을 직감하였고..^^
그럼에도 꼭 써보고 싶은 욕심이 있었기에 남편님께 SOS를 청했다.
그렇게 밤새 오픈소스 코드 다운을 노력해 봤으나 버전이 충돌하는 건지 이놈의 덕국 인터넷이 느린 게 문제인지(팩트다) 반복되는 에러와 timeout으로 적용 실패. 정확한 원인을 파악하고 정보를 얻기 위해 메타에서 공유한 리서치 논문을 함께 봐야 할 필요성을 느낌.
이 과정은 추후 따로 정리하여 링크 붙일 것.
어지러운 밤이었고ㅜㅜ 내가 코딩을 짜서 작업을 하지 않더라도 프로그래밍 언어의 기초적인 문법을 익히고 사용할 줄은 알아야 할 필요성을 느꼈다.
끝!