음파 분석하는 애널라이저 프로그램 중 도레미 음계별로 분석하는 프로그램이 있을까요???

김석중   
   조회 14861   추천 0    


▲ 위의 프로그램은 비교적 흔히 볼수 있는 마이크로 입력 받은 소리의 주파수 스펙트럼을 실시간으로 모니터 화면으로 보여주는 프로그램입니다.

오디오나 mp3 재생 프로그램의 애널라이저와 비슷하다고 생각하면 되겠죠.


그런데 제가 일상적인 자연의 소리를 마이크로 입력받은 다음 그 소리를 음계별로 분석한 결과를 실시간으로 발표장에서 사람들에게 보여줄 일이 생겼습니다..

예를 들어 사람 목소리도 여러 파형의 주파수가 복합되어 뒤섞여 있는데요.

우리가 무심코 내뱉은 말속에도 여러 복합적인 음계가 존재하고 그것을 애널라이저 프로그램으로  도. 레. 미 에 해당하는 여러 주파수가 복합되어 있다는걸 눈으로 볼수 있죠.


이 때 스펙트럼 그래프가 0~20000hz 의 가청 주파수 영역 전부를 나타내는게 아니라 도. 레. 미.... 계이름 영역에만 나타내게끔 한 프로그램이 있으면 좋을거 같습니다.

위에 제가 직접 캡쳐한 사진의 경우 699 hz가 가장 도드라지게 나왔으니 5옥타브 파(F)가 가장 확실하게 보여질 것이고 나머지 음계 영역도 크지 않지만 음계에 해당하는 부분이 그래프로 활성화 될 것입니다.


물론 제가 생각하는 내용을 구현한 프로그램이 있긴 있습니다.


4pockets 사의 auto tuner라는 프로그램인데요. 기타나 피아노 등 튜닝을 목적으로 하는 프로그램입니다.

http://www.4pockets.com/product_info.php?p=52

여기서 팔고 있습니다.

그림처럼 보시면 어떤 소리에서 받았을때 그 음이  '라'(A)음이라면 해당 영역이 제일 도드라진 피치라는걸 한눈에 알수 있죠.


이 프로그램을 그냥 쓰면 참 좋겠지만, 문제는 PDA 용이라 PC에는 쓸수가 없습니다.

물론 제작사에서 배포하는 PC에서 구동시킬수 있는  맛배기용 데모 프로그램이 있습니다만 30초 짜리이고, 전체 화면이 지원되지 않아 시연용으로는 어렵겠더라구요.

외부 VGA 출력이 가능한 중고 PDA를 하나 사면 안되겠냐고 하시겠지만... PDA용 프로그램이지만 PDA에서는 매우 느리게 돌아가구요.

시연장에서 음파 분석용으로 쓸만큼 좋은 마이크를 가진 PDA가 있는지도 모르겠습니다.



어째든 제가 원하는 내용이 불가능한건 아니라 어딘가 상용 소프트웨어로 있을거라 생각하고 이틀재 웹검색을 하고 있지만 찾을수가 없었습니다.


2cpu에서는 영상 음성 관련 분야에 종사하는 분도 많으실거 같은데요.

이런 프로그램은 없을까요????




짧은글 일수록 신중하게.
어린왕자 2011-11
http://noeek.tistory.com/11
참고해서 각 음의 필터 사용하면 되지 않을까요?
메뉴를 봐서는 원하는 기능을 구현할 수 있을 것 같은데

영상처리 배우던 때가 생각이 나네요...
어린왕자 2011-11
     
김석중 2011-11
박인호님이 말씀하신 프로그램은 제가 이미 한번 테스트를 해봤는데요. 시각적인 효과는 제가 올린 auto tuner이란 프로그램이 좋은거 같아요.
일반적인 튜너프로그램도 사람 목소리를 냈을때 음계 하나는 잡을수 있으니까요.


그런데 박인호님이 음의 필터를 사용하면 될거라는 말씀에 갑자기 궁금해 지는데요.
저도 원하는 음역만 사람들에게 보여준 다음 x축에 도레미 같은 음계를 써 넣으면 될거 같다는 생각은 했는데요.
문제는 제가 원하는 기능을 어떻게 구현하냐는 겁니다.


제 능력으로는 도저히 할수가 없어 상용 프로그램을 찾고 있는데요.
그마저도 쉽지 않네요.


그래도 어딘가에 있을거 같아 전문가가 많이 모이신 2cpu에 여쭈어 본 겁니다.
AKs 2011-11
이 사이트에 서식하는 분들의 정체가 궁금합니다...
     
김준유 2011-11
찾는 정보들 보면 입이 떡 벌어집니다.
김민수 2011-11
단언하기는 힘들지만 시장성을 따져봤을 때 그리 메리트가 없기 때문에 상용 솔루션이 없지 않나 싶습니다.

사실 알고리즘적으로는 별로 어려울게 없습니다.

0. 구현하고자하는 기능/컨셉에 따라 UI를 기획한다.
1. 현재 발생되는 오디오 신호를 디바이스(PC든 스마트폰이든 구현하고자 하는 플랫폼)에서 마이크로 캡쳐한다.
2. 캡쳐한 신호를 FFT하여 시간 도메인에서 주파수 도메인으로 변환한다.
3. FFT 변환된 주파수 성분을 주파수로 이루어진 음계를 토대로 분석하여 음계를 실시간으로 맵핑한다.
4. 분석된 음계를 주파수 분포 (스펙트럼)에 따라 그래프를 그려주고, 각각의 음계를 표시해준다.

이 과정은 관련 업종에 종사하는 사람이라면 해당 파트에 국한해서는 그리 어렵지는 않습니다.
그러나 전 과정을 혼자서 처리하기에는 전문성이 많이 필요하지는 않지만 업무 영역이 광범위합니다.
(오디오 신호처리 / UI 기획 / UI 구현 / 디바이스 컨트롤 / 통합 시스템 구현 / 플랫폼 포팅 / 최적화 등)
     
김석중 2011-11
신호를 캡쳐했다 치면...

그다음에 FFT변환을 해야 마이크로 캡쳐한 소리가 컴퓨터가 읽을수 있는 데이터 형태가 될건데요.


그렇다면 김민수 님께서 말씀하신 내용을 어떤 툴로서 구현해야 하는 건가요???


그냥 C언어로는 안될거 같고...

최소한 FFT 기능을 해줄수 있는 스크립트 형태의 개발툴을 사용해야 할거 같은데요.

그런 프로그램이 있나요???
          
김민수 2011-11
댓글을 이제야 봣습니다.

제가 쓴 댓글은 C 언어를 염두에 두고 쓴 것입니다.
제가 아는 한 신호처리 분야에서는 C/C++을 주로 사용합니다.
최적화가 많이 필요한 모듈에서는 어셈블리도 사용하기도 하지만 최적화를 전문으로 하지 않는 이상에야 굳이 어셈블리까지는 손댈 필요가 없겠죠.
FFT의 C 소스 코드는 구글링하시면 그리 많은 시간투자를 하지 않으셔도 찾으실 수 있으리라 생각합니다.

캡쳐한 신호 자체가 컴퓨터가 읽을 수 있는 형태의 데이터입니다.
다만, 시간 도메인에서의 데이터죠.
김석중님께서 원하시는 주파수 스펙트럼은 주파수 도메인의 데이터이기때문에 시간 도메인에서 주파수 도메인으로의 변환이 필요합니다.
그 역할을 해주는 것이 FFT구요.
이 사항은 본문에서 쓰신 글을 보고 시간 도메인과 주파수 도메인사이의 관계를 이미 아신다는 가정하에 생략하고 대표적인 시간->주파수 변환인 FFT를 언급한 것입니다.

원하시는 형태의 프로그램은 아니지만 상용 프로그램 중 Adobe Audition이라는 프로그램이 있습니다.
CoolEdit라는 프로그램을 Adobe에서 인수한 후 Audition이라는 이름으로 판매하고 있죠.
실시간으로 마이크로 입력되는 신호를 녹음하면서 주파수 스펙트럼을 볼 수 있습니다.
주파수 스펙트럼을 볼 수 있고 음계를 영문으로 표시해주기는 합니다만 음계를 그래프로 그려주지는 않는 것으로 압니다.
아래 링크에서 평가판을 다운받아 써보시면 이해가 빠를 듯 싶습니다.
http://www.adobe.com/kr/products/audition.html
정희섭 2011-11
오디오 입력 받고 FFT 돌리고 표시할때 딱 저 모양 그래프에 음계로 칸을 치면 되지 않나 싶은데유 ^^;




QnA
제목Page 81/4502
2014-04   2526709   회원K
2015-12   12156   백메가
2002-05   14804   안종웅
2002-05   14802   김동률
2002-06   14801   박형주
2002-05   14801   박치순
2002-05   14800   김혁
2002-06   14798   이상현
2002-06   14793   김권수
2013-08   14792   총각
2002-06   14791   박필화
2002-05   14790   박치순
2013-04   14789   장동건2014
2010-03   14787   김효수
2002-05   14785   조원빈
2014-10   14785   김황중
2002-05   14784   김동욱
2002-05   14782   허석
2011-03   14777   전근현
2015-04   14771   김건우
2002-05   14769   박학준
2013-10   14768