Coding History/project

개인 프로젝트 준비(트랙 판매? 샘플 판매 사이트)

BlackBirdIT 2024. 8. 22. 13:14

주제 선정의 이유

나의 글을 정독한 사람이라면 나는 음악을 하는 사람이라는 것을 알 수도 있을 것이다.

내 소개부터 하자면, 별건 아니고 FL Studio를 사용해서 작곡을 하거나 베이스를 연주한다. 전공도 실용음악에 석사 졸업이고 나름 깊게 팠다면 깊게 판 사람이다.

서론은 치우고, 그래서 이 수업에서 개인프로젝트를 처음부터 전공과 엮을 생각을 하고 있었다. 수업을 듣는 와중에도 곡을 써서 유튜브에 업로드한 적이 있는데 qBlackBirdp - Movie Life 이런 작업을 계속 해오던 사람이다.

아무런 정보도 없이 혼자 독학해서 곡을 써왔고 처음엔 당연히 하나하나 내가 다 만들었지만 공부가 깊어질 수록 다양한 것들을 알게 되었고 트랙 판매의 개념, 가상악기의 셋팅 값을 저장해서 판매도 이루어지고, 샘플 판매 사이트도 물론 존재한다. 이런 사이트들을 이용하면서 작곡을 하기도 했다. Lofi-Hiphop이라는 장르를 사랑하고, 때문에 코딩이라는 개념을 알게 되었고 작곡을 하다가 지금 여기까지 오게 된 것이다.

사이트를 사용하면서 내가 생각한 개선점이 있고 그걸 내가 직접 해보고 싶은 이유도 있고, 내 음악을 내가 만든 사이트에 올리는 것도 낭만있지 않은가. 그래서 이런 주제로 개인프로젝트를 정해보았다.

샘플, 트랙 판매 사이트

그래서 어떤 사이트들을 사용해왔는가 하면 가장 많이 사용했던 사이트는 당연 Splice를 가장 많이 사용했다. (솔직히 이 사이트는 최고라 개선할 여지는 없을지도)

UI도 가장 깔끔하고, 구독제형식의 크레딧이라는 재화로 트랙을 거래하는 형식이다. 샘플의 개념을 잘 모른다면 저기 있는 것들이 뭔지 잘 모르시겠지만 몇가지만 설명해보자면, 사진에 'Serum'이라고 보이는가? 저건 가상악기고 나도 많이 사용한다. 저기 탭에 들어가면 세럼 자체도 판매하고, 세럼이라는 가상악기로 사운드를 만든 셋팅값도 판매한다. 물론 미리 사운드를 들어볼 수도 있다. new Sounds라는 탭은 말 그대로 진짜 소리가 나는 샘플들로 이루어져 있다. 사이트를 좀 더 톺아보자.

위 사진은 샘플을 판매하는 탭이다. 내가 주로 사용하는 Lofi류 비트나, 사운드를 나에게 추천해주는 기능이 있어서 저기 Recommended For You에서 Lofi 라는 이름이 붙은 것들이 나열되어 있다.

재생하면 아래에 재생창이 뜨고, 해당 샘플들로 만든 작품을 들어볼 수 있다.

특정 무엇인가를 찾기 위해서 검색을 해보면,

이렇게 직관적으로 트랙들을 볼 수 있다. 추천 검색어들도 나열이 되어있고 꽤나 다양하게 검색값을 설정할 수 있는 모습이다.

여기서 제공하는 검색 기능을 까보면,

  1. 키워드 검색
    • 말 그대로 원하는 사운드를 직접 입력해서 검색할 수 있다.
    • 장르나 악기 등
    • ex) drum, hihat, chill, hiphop, bass

  1. 사용자가 원하는 악기를 선택해서 나머지를 걸러낼 수 있다.

  1. 사용자가 원하는 장르를 선택해서 나머지를 걸러낼 수 있다.

  1. 사용자가 원하는 키를 설정할 수 있다.
    • Scale의 12key 모두 존재한다.
    • 샾#과 플랫♭으로 12key 표기가 가능하다.
      (어? C♭과 B는 같은 음 아닌가요? 쓸데 없는 기능이네. 라고 할 수도 있겠지만
      만약 샘플이 화성악기라면 샾과 플랫으로 코드 구성이 달라질 수 있기 때문에 구별한다.)
    • Major Minor key로 세팅이 가능하다.

  1. 사용자가 원하는 Bpm 설정이 가능하다.
    • 기댓값을 직접 입력하는 것과 범위를 지정하는 것 까지 가능하다.

  1. One-shot과 Loop로 필터링이 가능하다.

검색 기능만 해도 지금 6개의 필터링이 가능하다. 이걸 싹 다 사용할 일이 있는가 싶지만 만약 90Bpm의 Lofi Beat를 찾고 싶다면 이런식으로 검색할 수 있다.

어거지로 쓴거긴 한데 나는 항상 곡을 쓸 때, 틀을 다 짜놓고 샘플을 최소화 하려는 습관이 있어서 매우 유용하다.

바로바로 재생해서 들어볼 수 있다.

이것들이 주요 기능이고 나머지는 딱히 볼 필요는 없을 것 같다.

다른 사이트는 producerloops, adsrsounds, bigfishaudio, primeloops가 있다. 순서대로 메인페이지만 살펴보자.

producerloops

adsrsounds

bigfishaudio

primeloops

모두 사용은 해봤는데 그렇게 자주 손이 가지 않는다. 퀄리티의 문제라기보다는 사용성과 가격적 측면에서 나에게는 크게 메리트가 없었던 것 같다.

트랙 자체를 MIDI file과 wave file로 구매하고 사용할 수 있다.

그래서 뭘 어떻게 할건데?

라고 물으신다면 대답해드리는 것이 인지상정.

일단 계획한 것은 Spring 업로드, 다운로드와 Spring 음악재생, Spotify API 사용, 결제 시스템으로는 Toss API를 사용할 예정이다.

목표는 Splice 같은 사이트를 만들고 싶지만 내 역량이 저렇게까지 상세한 검색기능을 다룰 수 있을까? 에 대한 대답은 아마 아닐 것이다. 하지만 목표는 사용자가 트랙, 샘플을 업로드 하고, 또 다른 사용자가 해당 트랙, 샘플을 구매할 수 있는 기능을 하는 사이트를 만드는 것이 목표다.

그래서 지금 필요한 중요 기능들은 위에 서술한 것들이고, 올릴 데이터는 내가 작곡한 음악들이다. BlackBird Lofi Beats 라는 이름의 사이트를 만들면 될 것 같다.

기능을 정리해보자면

  1. 로그인 기능.
  • Spotify Api로 회원가입 및 로그인을 할 수 있게 하려고 생각중이다.
  • 만약 기능이 불가능하면 직접 만들어야된다.
  1. 결제 시스템
  • TossPayMents Api로 만들 계획이다.
  • 결제로 할 수 있는 구체적인 안은 아직 안나왔다. Splice처럼 웹상 재화로 전환하는 방법이 첫번째
  • 두번째로는 트랙이나 샘플마다 가격을 매겨서 판매하는 방법, 근데 첫번째 안이 나을 것 같다.
    • 이유 : 샘플은 값이 싸다. 몇백원을 계속 따로 결제하는 것은 사용자 입장에서 번거롭다.
  • 첫번째 안으로 간다면 결제를 한 후, 사이트 내에서 사용할 수 있는 저장소를 또 만들어야한다.
  1. 음원 업로드, 및 다운로드 시스템
  • Spring 업로드 다운로드 코드 구축 필요.
  1. 미리 듣기, 및 샘플 텝 마다 해당 샘플로 완성한 곡 들을 수 있는 시스템
  • 미리듣기는 사이트 내에서 음원 재생을 할 수 있게 구현할 것이다.
  • 샘플로 완성한 곡을 들을 수 있는 시스템은 spotify Api로 내 앨범을 불러와서 재생할 수 있게 구현.

(5. 샘플의 검색 구체화

  • 샘플을 검색할 수 있는 옵션 제공을 구현해야되는데 이는 상당히 복잡하게 이루어질 듯 하다.
  • 업로드 단계에서 해당 샘플의 이름을 짓는 방식이나, 업로더가 세세한 설정을 할 수 있게끔 구현해야하고, 해당 설정을 완료하지 않으면 업로드 금지, 또 그 세세한 설정을 다시 DB에 저장해서 검색할 때 정확히 탐색할 수 있게 설계해야한다.
  • 만약 역량 부족으로 해결하지 못하면 키워드 검색만 구현.)
  1. 사용자의 권한 레벨 세분화
  • 판매를 할 역량이 되는 사람만 판매 자격 부여
  • 일반 유저는 구입밖에 하지 못하게.
  • 판매를 할 수 있는지 없는지 확인하는 심사 시스템
    • Spotify for Artist에 접근할 수 있는 방법 찾기(구글링 결과 API는 존재하지 않는 것으로 보임)
    • Spotify Api로 Artist인지 아닌지 판단할 수 있는 방법 찾기.

이까지가 핵심 기능들이 될 것 같다. 세세한 것들은 토대를 만들고 이후 추가할 수 있다면 추가하는 것으로 하자.