코로나로 집에 혼자 있는 경우가 많아지면서
전처럼 혼자 피아노를 연습하는 빈도수가 늘어났다.
나는 피아노로 반주할 때 보통 인터넷에서 코드악보를 보면서 치는 경우가 많다.
그런데 인터넷의 코드악보는 가독성이 좋지 않은 경우가 많았다.
코드 악보가 개인 블로그에 올라와있는 경우가 많다보니 악보마다 위치한 사이트가 달랐다.
그렇다고 악보를 구매하자니, 코드 진행만으로도 충분한데 굳이 악보를 사야하나 싶었다.
그래서 핸드폰으로 코드악보를 모아둔 앱을 찾아보았다.
기타 연주를 위한 코드악보나, 내가 원했던 정말 코드만을 모아둔 앱도 몇개 있었다.
그러나 그 악보는 모두 검색해서 개발자가 작성해둔 코드를 보는 것 밖에 못하는 경우가 대부분이었다.
외국 앱중에 하나 자유롭게 편집해서 공유하는 앱을 찾았으나
정말 빈 메모장에 일일히 타이핑하는 것을 편집기능으로 제공하고 있었다..
좀 더 간단한 UI로 쉽게 편집해서 공유하는 앱을 만들 수 없을까 고민하다가 직접 만들어보기로 했다.
마침 인턴을 하면서 데이터베이스에 좀 더 익숙해져서
외부에 DB서버를 달고 핸드폰으로 DB서버에 접속해서 코드악보를 보는 앱을 생각해보았다.
보통의 노래는 코드를 1/4박 단위로 바꾸는 경우가 거의 없다는 점에 착안해
Chordify 라는 사이트의 UI를 참고해 최대 1/8박 단위로 코드를 매길 수 있도록 해보자고 생각했다.
(chordify는 음원으로부터 코드를 추출하는 사이트로
1/4박 단위로 박을 쪼개 코드를 넣어 정확도가 떨어지는 경우가 있었다.
내가 이걸 수정하고 싶어도 수정할 수 없어 답답함을 느낀 것이 이 기획의 맨 시초였다.)
미리 칸을 만들어두고, 각각의 칸을 클릭해서 코드를 넣는 식으로 편집하는 것을 떠올렸다.
악보를 볼 때는 BPM에 맞게 보여주거나
노래를 틀면 노래에 맞춰 코드를 보여주거나
보통 사이트에 많이 활용하는 자동 스크롤로 보여주는
3가지 방법 중 하나를 선택해 보는 것으로 기획했다.
interconnection.tistory.com/31
이 사이트를 참고하여 기획을 해보려고 하였으나 UI를 기획하는 파트에서 막혔다..
역시 UI디자인의 영역은 쉽지 않다 ㅋㅋㅋ
그래서 UI 디자인은 정말 내가 이 앱을 완벽하게 만들어보겠다고 생각이 들면
디자인을 할 수 있는 분을 알아보려고 한다.
우선 앱의 디자인도 중요하지만, 작동 프로세스가 핵심적이기 때문에 그 부분을 고민하기로 했다.
검색을 해보니 안드로이드는 보안정책 문제로 DB에 직접 접근하는 것이 불가능하다고 한다.
따라서 웹서버를 매개로하여 DB결과물을 웹서버로부터 받은 다음
그 결과물을 파싱해서 사용해야 한다고한다.
그렇다면 웹서버 구축을 우선 해야하는데,
찾아보니 클라우드를 활용하여 무료로 서버를 만들 수 있다는 것을 알게 되었다.
나는 오라클 클라우드를 활용하여 서버를 만들었다.
이 글을 참고하여 오라클 클라우드로 가상 머신을 생성해 nginx와 PHP, maria DB를 설치했다.
일단 블로그는 티스토리로도 충분히 벅차서 워드프레스 설치는 빼고 진행했다.
이제 테이블 레이아웃을 구상하고 안드로이드로 DB에 접속하는 것을 테스트만 해보면
중요한 기능은 수행할 수 있게 된다.
부수적인 기능으로 교회에서 찬양팀 반주를 했던 경험과 학교 밴드 동아리 경험을 살려
그룹을 생성해서 그룹원이 공유하는 악보집을 만드는 기능을 추가하려고 한다.
또한 나처럼 개인적으로 사용하는 사람들을 위해 개인 악보집을 만드는 기능도 추가하고자 한다.
이젠 진짜 UI만 하면 될 것 같다
'개인 프로젝트 > [2021] 코드악보 공유APP' 카테고리의 다른 글
6. 악보 검색 / 등록 페이지 제작 (4) - 검색기능 구현 & 악보 뷰어 제작 (0) | 2021.03.13 |
---|---|
5. 악보 검색 / 등록 페이지 제작 (3) - DB연동하여 데이터 추가/조회하기 (0) | 2021.03.11 |
4. 악보 검색 / 등록 페이지 제작 (2) - 프래그먼트에 리사이클러 뷰 추가 (0) | 2021.03.11 |
3. 악보 검색 / 등록 페이지 제작 (1) - 바텀 네비게이션 추가 (0) | 2021.03.10 |
2. 안드로이드로 DB에 데이터를 저장하는 테스트 (2) | 2021.03.05 |