오디오 프로세싱 유닛(APU)라고 불리는 전용 부품이 이 서비스를 제공한다 . 리코는 CPU 칩 내부에 이를 임베드하여 CPU와 APU 모두의 불법 복제를 피하고자 했습니다.
기능
이 오디오 회로는 일반적으로 프로그래머블 사운드 제너레이터 (PSG)로 불리며, 미리 정의된 파형만 생성할 수 있다는 암시를 가지는데, 이것은 대부분 사실입니다. APU는 오디오 데이터를 다섯 개의 채널 로 시퀀싱하며, 각 채널은 특정 파형 또는 신호에 예약되어 있습니다. 각 채널에는 파형의 피치, 소리, 볼륨 및/또는 길이를 변경하는 다양한 속성이 포함되어 있습니다. 그들은 계속해서 믹스되고 출력 오디오 신호를 통해 전달됩니다.
APU의 기능은 메모리 주소를 통해 드러나며, CPU는 프로그램 ROM에서 발견된 음악 관련 데이터를 읽고 APU를 적절히 프로그래밍합니다.
더 나아가, 패미컴 모델은 특히 혼합된 오디오 신호를 카트리지로 보내는 핀을 제공하며, 이는 추가 채널 과 혼합될 수 있습니다(추가 칩 필요) .
이제 APU가 제공하는 다섯 개의 채널을 살펴보겠습니다 :
펄스
마더 (1989).첫 번째 두 개의 채널은 펄스 파동 을 생성합니다 . 소리가 들릴 때, 그들은 비프 소리와 같은 매우 독특한 소리를 나타내며 주로 멜로디 또는 음향 효과를 위해 사용됩니다. 각 시퀀서는 서로 다른 펄스 폭(일명 duty cycle)을 사용하여 세 가지 유형의 펄스 파형을 생성할 수 있습니다. 의무 주기(duty cycle)입니다. 회로는 또한 스윕 유닛(피치를 굽히도록 허용) 및 시간이 지남에 따라 볼륨을 낮추는 엔벨로프 생성기에 연결됩니다. 감쇠(decay)입니다.
대부분의 게임은 멜로디를 위해 하나의 펄스 채널을 사용하고 다른 하나는 반주에 사용합니다. 게임이 음향 효과를 재생해야 할 때, 반주 채널이 효과를 재생하도록 전환되고 그 후 반주로 돌아가는 것을 자주 볼 수 있습니다. 이렇게 함으로써 게임 플레이 중 멜로디가 중단되지 않습니다.
펄스 웨이브가 이 세대 콘솔의 상징 중 하나라고 말하는 것이 공정한 것 같습니다. 비용 효율성 때문에 채택되었을 것이라고 추정되며: (제한된) CPU는 한 번에 많은 데이터를 처리할 수 없으며, 펄스 웨이브는 간단한 멜로디를 재생하기 위해 많은 매개변수를 필요로 하지 않는다는 점에서 이상적입니다 (이는 CPU 사이클을 다른 작업을 위해 확보해 줍니다).
삼각형
마더 (1989).경쟁사와 비교했을 때 APU의 특별한 점 중 하나는 삼각형 웨이브를 생성할 수 있다는 점입니다. 이는 흔히 멜로디의 베이스라인으로 사용됩니다. 게다가 피치를 극적으로 변경함으로써 타악기로도 사용할 수 있습니다.
APU에는 이 유형의 웨이브를 위한 채널이 하나 예약되어 있습니다. 비하인드 씬에서 전용 시퀀서는 삼각형 신호를 생성하는 데 32 사이클이 걸리며, 이 제한은 결과적으로 삼각형 웨이브폼이 계단 모양을 취하게 만듭니다.
반면에, 관련 회로는 볼륨 제어를 제공하지 않습니다. 어쨌든, 일부 게임은 믹서의 볼륨 제어를 조작하여 다른 방법을 찾아냈습니다.
노이즈
마더 (1989).'노이즈'의 개념은 어떤 패턴이나 순서를 따르지 않는 일련의 웨이브폼에 기인합니다. 결국, 우리의 귀는 이를 백색 잡음으로 해석합니다. 이를 감안할 때, APU는 다양한 종류의 노이즈를 재생할 수 있는 채널을 하나 할당합니다.
무대 뒤에서, 노이즈 생성기는 OR 게이트에 의해 무작위로 음소거되는 펄스 채널과 유사한 엔벨로프 생성기를 사용합니다 . 음소거의 조건은 피드백 루프에 연결된 15비트 시프트 레지스터의 값에 따라 달라집니다. 결론적으로, 이것은 회로가 유사 예측 불가능한 패턴의 신호를 출력하여 결국에는 노이즈를 생성하게 만듭니다.
제어 측면에서는, 4비트는 엔벨로프 생성기의 주기를 변경하고 1비트는 시프트 레지스터의 '모드'를 변경합니다. 그렇게 해서 32개의 노이즈 프리셋이 사용 가능합니다. 이 프리셋들 중 절반(16개)은 깨끗한 정적을 생성하고 나머지 절반은 로봇 정적을 생성합니다.
일반적으로 게임은 타악기나 환경 효과를 위해 노이즈 채널을 사용합니다.
샘플
마더 (1989).샘플은 재생할 수 있는 녹음된 음악 조각입니다. 보시다시피, 샘플은 단일 웨이브폼에 제한되지 않지만 공간을 훨씬 더 많이 차지합니다.
APU에는 샘플 전용 채널이 하나 있습니다. 여기서 샘플들은 7비트 해상도 (값이 0에서 127로 인코딩됨) 및 ~15.74 kHz 샘플링 속도로 제한됩니다 . 이 채널을 프로그래밍하려면 게임들이 7비트 값을 스트리밍하거나(이는 많은 사이클과 저장 공간을 차지함) 다음 샘플과 이전 샘플 간의 변동만을 인코딩하는 델타 변조를 사용합니다.
APU에서의 델타 변조 구현은 1비트 값만 수신하므로, 이는 게임이 카운터가 작동할 때마다 샘플이 1씩 증가하거나 감소하는지 여부만 알 수 있음을 의미합니다. 따라서 충실도를 희생하더라도 델타 변조는 게임이 APU에 연속적인 값을 스트리밍해야 하는 것을 방지할 수 있습니다.
이 채널을 프로그래밍하는 데 더 많은 공간과 CPU 사이클이 필요하므로, 보통 게임들은 반복적으로 재생할 수 있는 작은 조각들(예: 드럼 샘플)을 저장합니다. 어쨌든, NES의 생애 동안 수많은 개발자들이 이 채널을 잘 활용하는 방법을 찾아냈습니다.
비밀과 한계점
APU는 비닐, 카세트 또는 CD의 품질과는 비교할 수 없었지만, 프로그래머들은 주로 NES의 모듈형 아키텍처 덕분에 APU의 기능을 확장하는 방법을 찾아냈습니다.
추가 채널

(Video) 캐슬바니아 III (미국/유럽, 1989) 오실로스코프 뷰.

(Video) 악마성 전설 (캐슬바니아 III의 일본 버전, 1989) 오실로스코프 뷰.
패미컴이 사운드 확장을 위한 독점 카트리지 핀을 제공했다는 것을 기억하십니까? 글쎄요, 캐슬바니아 3 같은 게임들이 이를 활용하여 코나미 VRC6라는 추가 칩을 포함시켜 두 개의 추가 펄스파형과 톱니파형을 추가했습니다.
일본 버전과 미국 버전의 차이를 보여주는 두 가지 예제를 살펴보십시오(후자는 사운드 확장 기능을 제공하지 않은 NES 버전에서 실행됩니다).
트레몰로

Video - 파이널 판타지 III (1990) 오실로스코프 뷰.
카트리지 비용을 증가시키는 대신 일부 게임들은 더 많은 채널을 추가하기 위해 창의성을 기술보다 우선시했습니다.
이 예시에서, 파이널 판타지 III는 추가 채널의 느낌을 주기 위해 트레몰로 효과를 사용하는 아이디어를 생각해냈습니다.
보다 정교한 관찰
이제 APU가 무엇을 할 수 있는지 알았으니, 그 사운드가 어떻게 동작하는지 관찰할 수 있는 대체 방법을 보여드리겠습니다. 이는 APU에 대해 이미 알고 있는 것을 보완할 뿐만 아니라, 더 이상 귀에 의존하지 않기 때문에 더 객관적인 검사를 제공할 것입니다.
먼저, 소리 이론에 대한 간단한 소개로 시작해보겠습니다.
푸리에 분석 원칙 덕분에, 우리가 듣는 모든 소리를 여러 가지 주파수와 진폭의 사인파의 합으로 분해할 수 있습니다 . 가장 낮은 주파수의 사인파를 기본파라고 하고, 나머지는 배음이라고 합니다. 기본파와 그 배음을 더하면 원래 소리가 다시 나타납니다. 즉, 인식 가능한 음정을 가진 소리들은 대부분 (혹은 전부) 배움이 기본 주파수의 배수입니다. 그래서 이러한 배음들을 조화음이라고 부릅니다 .
조화음은 펄스파형, 삼각파형 및 톱니파형과 같은 파형이 포함하는 조화음을 결정하는 공식을 따르므로, 이 섹션에서는 반복적으로 다뤄질 주제입니다. 그렇지 않으면 이 파형들은 '완벽한' 형태에서 벗어날 수 있습니다.
스펙트로그램 소개
이제, 사인파는 어떤 소리를 만들어낼 수 있는 주요 성분이 되었으므로, 우리는 들리는 소리를 사인파로 분석할 수 있게 되었습니다. 이제, 데이터 분석의 어떤 종류에서도, 방대한 양의 정보를 정리하는 데 가장 편리한 것이 그래프를 그리는 것입니다. 음향 분석의 경우, 우리는 스펙트로그램을 가지고 있습니다. 이것들은 오디오 샘플의 모든 정보를 단일 플롯으로 인코딩합니다. X축은 시간(초)을 나타내고, Y축은 해당 시간 동안 생성된 사인파의 주파수(Hz)를 나타내며, Z축(각 점의 색 밝기)은 각 주파수의 세기/음량(데시벨)을 나타냅니다.

Video - 펄스 채널의 6초를 시각화한 스펙트로그램 예시.
이 예시에서 볼 수 있듯이, 각 수평선(일명 점의 시퀀스)은 사인파에 대응하며(가장 낮은 것은 기본파, 나머지는 조화음), 그 밝기는 진폭을 나타냅니다. 이를 염두에 두고 다음 정보를 추출할 수 있습니다:
- 시간이 지남에 따라 수평선이 크게 변위되는 경향이 있습니다. 이것은 펄스 채널의 피치가 변경된 것입니다.
- 각 음의 시작은 크고(점이 밝음) 빠르게 진정됩니다. 이것은 APU의 엔벨로프 제어가 작동하는 것입니다.
- 감쇠 기간이 끝날 때 밝은 수직선이 나타납니다. 상당히 짧아서 쉽게 들리지 않지만, 어쨌든 그것은 노이즈(짧은 팝 소리)이고 APU의 결함이라고 생각합니다.
- 0.25초 이상 음을 유지하면 비브라토가 발생합니다 (Y축의 연속 변동). 나는 그것이 의도적인지(스윕 기능 사용) 아니면 APU의 부작용인지 확실하지 않다.
이 관찰의 대부분은 단순히 오디오 샘플을 듣는 것만으로 쉽게 알 수 없는 부분입니다. 이것이 이 섹션을 작성한 이유입니다.
APU 플로팅
NES의 APU를 연구하기 위해, 이전 예시를 사용하여 APU의 각 채널에 해당하는 다섯 가지 스펙트로그램을 컴파일했습니다. 그들과 함께, 데이터가 보여주는 것을 풀어내기 위한 저의 시도를 찾을 수 있을 것입니다.
시작하기 전에, 부정확함(예: 추가 노이즈) 없이 데이터를 수집하기 위해 몇 가지 타협이 있었다는 것을 고백해야 합니다. 녹음은 'towave'라는 윈도우 프로그램을 사용하여 얻었으며, 이 프로그램은 PSG 기반 오디오 칩의 에뮬레이션에서 발생하는 근본적인 문제를 해결하기 위해 밴드 제한 합성을 사용합니다. 즉, 펄스, 삼각 및 톱니파형은 무한한 조화음으로 구성됩니다. 그러나, 그것은 44.1 kHz 샘플로 제한된 현대 사운드 카드와 잘 섞이지 않습니다. 따라서, '밴드 제한 합성'이라는 기술이 사용되어 사운드 카드의 한도 내에서 올바른 조화음을 선택합니다. 결과적으로, 이 기술은 성능, 정확성 및 앨리어싱 방지 사이에서 실현 가능한 균형을 제공합니다. 하지만 데이터가 아날로그 대응물과 100% 동일하지 않을 수 있습니다(반면 녹음 장비의 잡음과 같은 다른 문제도 유발될 수 있습니다). 그러나 어느 정도는 허용 가능한 수준이며, 가장 중요한 것은 이 섹션의 목적을 충족시킨다는 것입니다.
그렇다면, 이제 분석을 계속 진행해 보겠습니다.
펄스
이론적으로 펄스 톤은 홀수 고조파만을 포함합니다. 즉, 기초파가 세 번째 고조파, 다섯 번째 고조파 등과 결합됩니다. 더 나아가, 각 고조파는 기초파에서 멀어질수록 그 진폭이 감소합니다. 진폭 공식은 진폭 = 1 ÷ 고조파 번호 입니다.
따라서, 스펙트로그램의 Y축이 높아질수록 각 고조파의 밝기가 어떻게 흐려지는지 주목하십시오. 그러나 APU의 펄스 파형은 각 고조파 번호에서 증가하는 앞서 언급된 비브라토 효과를 나타내는 것으로 보입니다. 게다가, 어떤 소리도 없어야 할 스펙트로그램 영역에 잔뜩 조용한 오버톤이 포함되어 있습니다(아마도 노이즈와 다른 결함의 결과일 가능성이 있음).
삼각형
삼각 파형도 홀수 고조파로 구성되지만, 그 진폭의 감소가 더 빠릅니다(여기서 진폭 = 1 ÷ 고조파 번호²).
하지만, 여기서 보여지는 것은 PPU가 생성한 계단 모양의 삼각형 파형으로 추가된 고조파와 증가된 진폭을 초래합니다.
노이즈
자연스럽게, 노이즈는 고조파 규칙에 따르지 않으며 불규칙적으로 전 주파수 영역을 채울 수 있어 쉽게 인식할 수 있는 피치가 없습니다.
시간표를 따라가면 APU가 제공하는 다양한 노이즈 프리셋을 구별할 수 있으며, 각각 고유한 오버톤 세트를 나타냅니다.
샘플
이전 채널과 달리 샘플 채널은 개발자가 APU에 제공하는 저해상도 녹음만 재생합니다. 드럼 킷이 연주된 예를 고려할 때, 스펙트로그램에서 눈에 띄는 특징을 찾을 수 없습니다(화이트 노이즈와의 유사점 제외).
톱니파
보너스로 VRC6 확장에서 Sawtooth 채널도 살펴보겠습니다. 우선, 완벽한 톱니파는 모든 고조파로 구성되며 각각의 진폭은 점점 감소합니다 (여기서 진폭 = 1 ÷ 고조파 번호 ).
디지털 장비에 있어 이것은 상당한 요구사항이며, 게임 카트리지에는 자연스럽게 비현실적입니다(그렇게 완벽할 필요도 없을 수 있습니다!). 그래서 APU의 삼각파와 유사하게, VRC6는 톱니파를 7 사이클로 시퀀싱합니다(따라서 유사한 단계 사다리 효과를 생성합니다).
결과적으로 해당 스펙트로그램은 매우 복잡하며, VRC6의 근사화 기술은 여러 곳에서 추가 고조파로 파형을 채웁니다.
결론
음, NES의 합성 파형은 이론이 지시하는 형태와 전혀 다르다는 것 같습니다. 이것이 APU에 결함이 있다는 뜻인가요? 아니요! APU의 설계 방식 덕분에 이 콘솔은 독특하고 인식 가능한 사운드를 얻게 되었으며 이 속성들은 의도적이든 아니든 간에 스펙트로그램에서 특이한 결과를 나타냅니다.
참고로, 완벽한 기하학은 우리 눈에는 보기 좋을 수 있지만, 흥미롭게도 우리 귀는 완벽한 에지를 가진 파형을 별로 좋아하지 않습니다! (팝 소리가 들리기 시작할 수 있습니다.)
앞으로 스펙트로그램을 사용한 소리 분석은 단순한 분석이든 다른 시스템과의 비교를 위한 것이든 다른 기사에서도 유용하게 사용될 것입니다. 이 그래프들이 절대적으로 최고의 도구가 아님을 유념하십시오. 특히, 너무 많은 채널과 악기가 혼합된 사운드 샘플의 경우 분해가 매우 어려워집니다. 그러나 이 그래프들이 어떤 종류의 객관적 연구를 위한 탄탄한 출발점을 제공할 것이라고 생각합니다.













