레이블이 SAM 9703인 게시물을 표시합니다. 모든 게시물 표시
레이블이 SAM 9703인 게시물을 표시합니다. 모든 게시물 표시

2020년 10월 12일 월요일

미디 라이프 2.0 반주기 ML-20의 음원보드로부터 드디어 소리를 내다

아두이노 입문용 키트는 아직 배송도 되기 전인데, 갖고 있는 부속을 이용하여 브레드보드 위에 MIDI in 회로와 active low reset 회로를 만들어서 SAM9703 음원보드에 연결하니 소리가 나오기 시작하였다. 좀 더 고생을 할 줄 알았는데 이렇게 소리가 나오게 되니 약간은 허탈한 기분도 든다.



어제 저녁의 작업 상황을 사진으로 남겼다. 원래 장비에 있던 주기판의 MIDI in 신호를 처리하던 옵토커플러가 망가진 것이 거의 확실하다.



아두이노 키트의 주문을 취소할까 싶어서 잠시 고민을 하던 중에 롯데택배로 상품이 발송되었다는 문자 메시지가 왔다. 어차피 흥미를 가졌던 물건이니 다른 목적에라도 활용해 보도록 하자.

이번에 시행착오를 겪으면서 마이크로컨트롤러의 reset 과정에 대하여 정말 많은 것을 알게 되었다. Reset은 잘 작동하던 프로세서를 처음부터 시작하도록 되돌리는 과정으로만 생각했는데, power-on cycle에서 당연히 거쳐야 하는 것이다. 마이크로컨트롤러의 리셋 핀은 일반적으로 active-low 방식으로 작동한다. 즉, 이 핀에 low 신호가 일정 시간 지속되면 현재 실행 중인 모든 작업을 중단하고 프로그램 카운터를 초기 상태로 설정하며, 리셋 핀에 하이 신호가 인가되면 리셋 상태가 해제되고 정상적인 동작을 재개한다. 

Active low reset 핀을 회로도에서 표기할 때에는 이 그림과 같이 RESET 위에 바를 붙인다(출처).

그림 출처: Arduino forum - RC reset circuit

위 간단한 RC 리셋 회로의 동작을 알아보자. 전원이 인가되면 커패시터가 충전되기 전까지 리셋 핀은 GND에 가까운 전압이므로 리셋 상태를 유지한다. 충전이 끝나면 리셋 핀 전압이 올라가면서 리셋 상태가 해제되고 정상 동작을 시작한다. 다이오는 리셋 전압이 갑자기 떨어지는 상황에서 방전을 위한 통로를 제공한다. 예를 들어 빠른 전원 꺼짐 후 재부팅이 일어나는 상태 말이다.

구글에서 active low RC reset circuit이라는 검색어를 넣으면 무척 많은 자료가 나오는데, 다음의 것이 비교적 설명이 잘 되어 있어서 링크를 걸어본다. 보다 상세한 내용을 공부하고 싶으면 이를 클릭해 보자. 단, 위의 것은 microprocesser(MPU)라는 표현이 제목에 나온다. microprocessor와 microcontroller(MCU)는 무엇이 다른가? MPU는 CPU만 단독으로 탑재한 것이고, MCU는 CPU + 메모리 + I/O가 통합된 칩을 의미한다. 따라서 후자는 임베디드 제어에 주로 쓰인다.

잘 알려진 MIDI 파일 두 개(cakewalk.mid & passport.mid)를 이 보드로 재생하면서 audacity에서 녹음을 해 보았다. 오디오 인터페이스는 롤랜드 SC-D70을 사용하였고, MP3로 전환하였다. 소리는 나쁘지 않은 편이다. 리눅스에서 음악 작업을 좀 더 자주해야 익숙해질 텐데, 어쩌다 한 번찍 쓰니까 '어? 어떻게 하는 거였더라?'하면서 고개를 갸웃거리게 된다. Software synth를 쓰는 것이 아니므로 JACK은 쓰지 않았다. 

만능기판에 부품을 납땜하여 제대로 회로를 완성해야 하는데, 400홀 브레드보드 상태 그대로 넣고 뚜껑을 닫았다. 오디오 출력과 MIDI 입력은 원래 있던 단자에 배선하여 마무리하였다. 전면 패널에 위치한 LED 중 하나를 MIDI 신호 입력에 연동하여 점멸하게 만들고 싶은데 그러려면 또 공부가 필요하다. 옵토커플러 전과 후, 어디에 어떻게 연결해야 될까? 지금은 전에 연결했는데 너무 어둡게 점멸한다. 

나도 이제 MIDI 장비 탑을 쌓는가?


2025년 6월 28일 업데이트

이 글에서 포함한 MP3 파일 재생 기능이 완벽하지 않아서 Hosting Audio on Drive를 참조하여 수정해 놓았다. 또한 SAM9703 음원보드를 제어하기 위한 아두이노 나노 기반 컨트롤러를 만들기 시작하였다. 내 블로그에서 2025년부터 EZ Ardule MIDI Controller라는 말이 슬슬 보이기 시작할 것이다. 2020년에 처음 소리를 내고 나서 무려 5년이라는 시간이 흘렀다. 다음 사진은 프로토타입 제작을 위해 5-pin DIN MIDI 신호를 전환하는 회로를 오늘 더 큰 브레드보드에 옮긴 뒤 찍은 것이다.



2020년 9월 20일 일요일

미디라이프 반주기 ML-20의 활용 방안을 알아본다

우연히 구한 MIDI 장비의 활용 방안을 벌써 3개월째 궁리하고 있다. 롤랜드 SC-D70은 노트북 컴퓨터에 연결하여 오디오 인터페이스 및 사운드 모듈로서 아주 잘 활용하고 있다. 그러나 국산 반주기인 ML-20은 마땅한 활용 방안을 아직 찾지 못하였다. 내가 라이브 연주를 다녀야 하는 연주인이 아니므로 이 장비를 반주기 자체로 사용할 이유는 전혀 없다. 현재로서는 반주기로 쓰는 것도 불가능하다. 제조사인 미디 라이프(주)는 이미 문을 닫았고, 이를 구동할 프로그램을 지금 구하는 것도 어렵다. 프로그램을 구한다 해도 실행 가능한 운영체제와 병렬포트가 갖추어진 구식 컴퓨터를 일부러 맞추어야 한다. DOS나 윈도우 9x에서만 돌아가는 고전 게임에 대한 추억을 가진 사람은 레트로 PC를 일부러 꾸미기도 하겠지만,.

 
2016년 네이버 중고나라 카페에  올라왔던 미디라이프 반주기(노트북 컴퓨터 포함)의 판매 글을 보면 작동 프로그램 화면이 어떠했는 지를 짐작할 수 있다. 이 기기에 대한 정보를 인터넷에서 찾기는 여간 어려운 것이 아니다.
반주기에 포함된 음원 보드만을 빼내서 전원, MIDI IN 신호 및 오디오 출력 선을 연결하면 간이 MIDI 음원으로 사용할 수 있지 않을까? MIDI IN 단자에서 신호를 뽑아내는 회로를 꾸미기는 쉽다.
 


네이버 도스박물관 카페(일명 도박동)에서는 중고 노래방 기계에서 빼낸 음원 보드를 이용한 MIDI 재생 성공 사례에 관한 글이 간간이 보인다. 나의 것과 동일한 신시사이저 칩인DREAM SAM9073을 사용한 금영 노래방 기계의 보드에 달린 10핀 커넥터의 연결 방법은 다음과 같다. 내 음원보드의 웨이브 ROM은 GMS963200-B로서 금영 기기의 것과는 다르다.
 
  1. VCC
  2. GND
  3. GND
  4. RESET
  5. MIDI
  6. +12V
  7. A-GND
  8. A-RIGHT
  9. A-GND
  10. A-LEFT
내 반주기에 들어있는 음원 보드 역시 10핀 커넥터가 달린 상태이고 아날로그 출력은 한쪽에 몰려 있다. PCB를 만든 회사는 다르지만 커넥터 핀 배열은 동일할지도 모른다 생각하고 예전에 찍은 사진을 자세히 살펴보았다.
 

오른쪽 아래의 밝은 노란색 칩이 옵토커플러에 해당한다. 여기에 납땜된 갈색(옅은 빨간색?) 케이블이 MIDI 신호일 것이다. 그런데 이 케이블은 10핀 커넥터의 왼쪽 두 번째 핀에 연결된다. 핀 배열이 아예 다르다는 뜻이다.  하네스 케이블을 뽑으면 PCB에 설명이 인쇄되어 있을까? 그렇지 않다면 멀티미터와 오실로스코프로 찍어서 조사를 해 봐야 한다. 이것이 2020년 4분기를 위한 취미 프로젝트가 될 것이다.

반주기 본체에 AC 파워 소켓과 DC 9V 입력 단자가 같이 있는 이유를 잘 모르겠다. 영상 신호까지 내보내려면 9V 어댑터로는 전력이 부족할지도 모르겠다.

음원 보드를 찍은 사진을 확대하여 보자. 정사각형의 DREAM SAM9703 신시사이저 칩이 보인다. 왼쪽 아래의 GMS963200-B는 PCM 방식의 사운드 샘플을 저장한 ROM이다. 오른쪽 위의 작은 칩은 SAM9703이 만들어낸 디지털 음성 신호를 아날로그로 전환하는 칩이다. 이 음원을 SC-88이라고 광고한다면 이는 분명히 과대 광고에 해당할 것이다.


SAM9703의 데이터 시트에서 추출한 연결 개념도를 보자. 소리의 질을 가장 크게 좌우하는 것은 어느 부품일까? 결국은 CODEC(digital-to-analog converter)일까? 아니면 웨이브 롬?


2020년 9월 28일 업데이트

ML-20 반주기에 장착된 이 음원보드의 입출력 단자 정보를 알아내어 외장 사운드 모듈로 재활용하는 것을 2020년 4분기의 취미 프로젝트로 결정하였다. 이른바 DREAM 프로젝트의 시작을 선언한다. 성공 가능성은 불투명하다.