가상 피아노 프로그램

업데이트:

프로젝트 개요

이번 프로젝트는 Java언어 그래픽 인터페이스에서의 스윙을 이용하여 하나의 프로그램을 개발하는 것이다. 우리는 가상 피아노 프로그램을 설계하였다.


개발 목적

내부 목적

  • 자바 프로그래밍 실력향상
  • 팀 워크 워밍업
  • 프로그래밍 경험 축적
  • 알고리즘 작성능력 향상
  • 실무능력 향상
  • 성취감

외부 목적

  • 높은 프로그램 완성도
  • 높은 학점
  • 만족감 성취
  • 프로그래밍 내 첫 음성출력 구현


개발 동기

Java로 개발 할 프로그램을 정할 때 어렵고 화려한 것들보다는 간단하면서도 재미있으면서 참신한 것을 찾던 도중 가상 피아노 프로그램을 알게 되어 개발하게 되었다.

  • windows 프로그램같은 경우 언어가 영어인 것이 많았고, 대부분 복잡하게 되어있어, 처음 설치하여 사용하려는 분들께는 조금 불편 할 수 있었다.

  • 모바일용 어플리케이션의 경우는 누구나 쉽게 사용할 수 있으나 기능이 부족한 어플리케이션도있었고 생각했던 것 보단 프로그램자체가 무거운 느낌이 있었다.
    또한 스마트폰이 작은 경우 windows 프로그램과 반대로 불편함이 있을 수 있었다.

그래서 우리는 pc용 프로그램과 smart phone용 어플리케이션의 단점을 보완하고장점을 통합하여 간단하고 쉽게 피아노를 칠 수 있는 프로그램을 개발하기로 하였다.


프로그램 소개

개발 프로그램

기존의 피아노에서 피아노 있는 건반을 가상화하여 가상 건반을 마우스나 키보드로 입력하여 실제 피아노처럼 연주할 수 있도록 하는 프로그램 즉, 가상 피아노가 우리가 개발할 프로그램이다.

image


프로그램 특징

특징

  • 각 건반에 대응하는 음성 파일 입 출력을 통한 사운드출력
  • 다섯 가지의 다양한 옥타브 구현

  • 도움말 기능

  • 대체적으로 심플

보완할 점

  • key 이벤트효과 완벽히 구현
  • 버튼 겹침현상 해결


프로그램 구성

메인화면

image


서브화면 - 옥타브 변경

image

image


도움말 화면

image


프로그램 설명

  • 프로그램은 키보드나 버튼클릭으로 건반에서 소리가 난다.
  • 키는 다음과 같은 버튼으로 입력받는다.

s d g h j / 2 3 5 6 7
z x c v b n m / q w e r t y u

  • 프로그램을 실행 할 시 다음과 같은 화면이 출력된다.

image


  • 도움말 버튼을 클릭시 다음과 같이 도움말이 출력된다.

image

  • 옥타브 버튼을 누를 시 다른 옥타브를 가지는 화면이 등장한다.

image image


상용화 가능성

현재 pc나 스마트폰내의 앱시장에서의 피아노 프로그램은 아주 핫 하다. 왜냐하면 과거에 한류열풍이 불고 그에따른 오디션 프로그램의 확대, 그리고 ‘복면가왕’ , ‘나는 가수다’ 와 같은 프로그램도 큰 인기를 얻으면서 현재 대중들의 음악에 대한 관심이 커지면서 자연스레 피아노와 같은 악기들에대한 관심도 증대되어져 왔다.
현재 이와 같은 현상은 사회 이곳 저곳에서 일어나고 있으며 스마트폰 앱 시장의 경우에도 음악과 관련된 프로그램이 마구잡이로 등장하고 있으며 몇몇 어플리케이션의 경우 다운수가 1000만 건수를 훌쩍넘고 있다.
그렇기에 참신한 프로그램도 좋지만 그것 보단 오히려 여러 프로그램들이 가지는 단점을 보완하고 장점들을 통합하는 가상 피아노 프로그램을 개발한다면 다수의 매니아층 사용자를 보유할 수 있을 것이다.


기대 효과

이번 프로그램을 개발하면서 우리 개개인의 프로그래밍 언어를 이용한 프로그램 코딩 능력을 향상 시킬 수 있었다. 이전 까지 C언어로만 프로그램을 작성하다가 java를 이용하여 실제 프로그램과 비슷하게 개발하면서 직업에 대한 정체성을 확인 할 수도 있고, 프로젝트가 팀을 구성해서 해결해 나가는 것 이기 때문에 팀 워크도 기를 수 있었다. 이렇게 다시 한 번의 경험을 쌓으면서 한 층 더 개발자로의 미래를 확장 시킬 수 있다는 마음가짐을 가질 수 있게 되었다.

업데이트:

댓글남기기