본문 바로가기
End/#3 나눔프로젝트

시각장애인을 위한 음계를 읽는 앱 개발 계획[11.9수정]

by 퍼즐잎 2016. 11. 2.

1차 방문 테스트 전 사전제작 계획




<개    요>


시각장애인 오케스트라 학생들을 위한 교육용 음악 보조 애플리케이션 개발한다.
학생들을 담당하시는 선생님께서 연주곡을 연습할 때 음악을 잘 모르는 학생들이 편하게 연습할 수 있도록 
아래와 같은 기능을 하는 앱이 있었으면 좋겠다는 의견을 반영하여 개발을 시작함



<기   능>


기능 설명을 위해 동요 비행기를 예시로 한다.

비행기의 계이름을 간단히 써 보면 


{미 레 도 레 미 미 미 레 레 레 미 미 미}

{ 떳다  떳다  비행기   날아라   날아라 } 정도로 쓸 수 있다.


이것이 실제 연주가 되면 '띵' 소리가 나며 음계의 소리가 난다.

이것을 실제로 '도' , '레' 소리가 나면서 음계의 소리와 일치하도록

즉, 계이름을 음에 맞춰 읽어주는 기능을 구현하는 것이 1차 목표이다.


계이름을 음에 맞춰 읽어주기 위해서는 악보가 필요한데, 

이러한 악보는 정해진 규칙에 맞춰 텍스트로 저장을 하고 사용하도록 한다.


규칙은 위의 비행기 악보에서 음계를 다음과 같이 옮겨 적을 수 있다.

(아직은 임의로 작성한 규칙이다)

미1//레1//도1//레1//미1/미1/미1/레1/레1/레1/미1/미1/미1/


숫자는 1옥타브를 의미하고 / 표시는 1/16 박자를 의미한다.

미1//는  1/8 박자만큼 미1옥타브의 음계 '미'를 읽어준다.

(// 규칙은 추후 수정될 수 있다.)

<참고표>



이러한 악보는 담당 선생님이 등록할 수 있는 메뉴를 따로 구현하며

등록할 때 악보의 각 줄마다 구분하여 저장할 수 있도록 한다.


- [11.9 추가] -

관리자 메뉴는 각 사용하는 기관별, 관리자별로 따로 구분되는 개별 코드가 존재한다.


재생목록 부분에서는 상단에 최근에 들었던 음악으로 바로 갈 수 있는 버튼을 추가하고 

나머지 화면 부분에는 커다란 버튼 한 개를 추가한다. 


재생 목록들은 스택을 기반으로 한 목록으로 유지가 되며, 가장 최근에 재생된 음악들이 위쪽 리스트에 존재한다.


이 재생목록들을 TTS 기능을 이용하여 상단부터 읽어주는데, 해당하는 음악을 읽어줄 때 버튼을 누르게 되면

그 음악을 선택하고 플레이어 부분으로 넘어가게 된다.


플레이어 부분에서는 재생 버튼과 악보의 줄마다 넘어가서 재생할 수 있는 넘기기 버튼이 있고

악보의 마디마다 넘어가서 재생할 수 있는 넘기기 버튼이 있고(탐색을 쉽게할 수 있도록) - [11.9 수정]

속도를 조절할 수 있는(각 음간의 재생 간격을 늘이거나 줄이는) 기능을 넣는다.


시각장애인 학생들이 주로 사용할 것으로 예상되므로 

음성 안내를 잘 구현해야 하며, 전체적인 화면 구성과 동작 메커니즘도 간단하게 구현해야 한다.




<필요 사항>


1. 음계를 읽는 음성파일 녹음


- [11.9 추가] -

2. 음악을 선택시 악기별, 손 방향별로 구분하여 선택할 수 있는 시스템


3. 관리자 모드에서 각 관리자별로 구분할 수 있는 개별 코드 부여





<구현을 위해 공부할 내용>


1. TTS 음성 안내를 위해 필요한 기능(라이브러리 사용방법)


2. FireBase 저장소를 이용해 서버 역할을 할 수 있도록 한다.


3. SoundPool을 이용하여 소리를 재생 할 수 있도록 한다.





<아주 대략적인 이미지>




댓글