웨이브 테이블(WaveTable) 은 룩업 테이블에 주기적 웨이브 테이블 데이터를 저장하며, 메타사운드 에서 웨이브 테이블 합성 및 샘플링을 수행할 수 있게 해줍니다.
이 가이드에서는 샘플 모드가 서로 다른 두 웨이브 테이블을 기반으로 하는 메타사운드를 생성하는 방법을 살펴봅니다.
- 고정 해상도(Fixed Resolution) - 뱅크의 모든 웨이브 테이블에 균등 해상도를 적용합니다. 이 모드는 록스텝 믹싱, 보간 및 공간화를 지원하며 오실레이팅 또는 엔벨로핑에 유용합니다.
- 고정 샘플 레이트(Fixed Sample Rate) - 뱅크의 모든 웨이브 테이블에 균등 샘플 레이트를 적용합니다. 이 모드는 개별 오디오 재생을 공유된 속도로 지원하므로 샘플링 및 세분화에 유용합니다.
고정 해상도 웨이브 테이블 뱅크 생성
이미지를 클릭하면 전체 크기로 표시됩니다.
고정 해상도 웨이브 테이블 뱅크를 생성하려면 다음 단계를 따릅니다.
- 콘텐츠 브라우저(Content Browser) 에서 추가(Add) 버튼을 클릭합니다.
- 오디오(Audio) > 웨이브 테이블 > 웨이브테이블 뱅크(WaveTable Bank) 를 선택합니다.
- 웨이브 테이블 뱅크를
WTB_FixedResolution으로 명명합니다. - 웨이브 테이블 뱅크를 더블클릭하여 웨이브 테이블 뱅크 에디터(WaveTable Bank Editor) 를 엽니다.
- 디테일(Details) 패널에서 다음을 수행합니다.
- 바이폴라(Bipolar) 를 비활성화합니다.
- 엔트리(Entries) 에서 엘리먼트 추가(Add Element)(+) 버튼을 두 번 클릭합니다.
- 인덱스 [0](Index [0]) 을 펼치고 커브 타입(Curve Type) 을 선형(램프 아웃)(Linear (Ramp Out)) 으로 설정합니다.
- 인덱스 [1](Index [1]) 을 펼치고 커브 타입 을 선형(램프 인)(Linear (Ramp In)) 으로 설정합니다.
- 웨이브 테이블 뱅크를 저장합니다.
- 웨이브 테이블 뱅크 에디터 를 닫습니다.
고정 샘플 레이트 웨이브 테이블 뱅크 생성
이미지를 클릭하면 전체 크기로 표시됩니다.
고정 샘플 레이트 웨이브 테이블 뱅크를 생성하려면 다음 단계를 따릅니다.
- 콘텐츠 브라우저 에서 추가 버튼을 클릭합니다.
- 오디오 > 웨이브 테이블 > 웨이브테이블 뱅크 를 선택합니다.
- 웨이브 테이블 뱅크를
WTB_FixedSampleRate로 명명합니다. - 웨이브 테이블 뱅크를 더블클릭하여 웨이브 테이블 뱅크 에디터 를 엽니다.
- 디테일 패널에서 다음을 수행합니다.
- 엔트리 에서 엘리먼트 추가(+) 버튼을 두 번 클릭합니다.
- 인덱스 [0] 을 펼칩니다.
- 커브 타입 을 사인(360도)(Sine (360 deg)) 으로 설정합니다.
- 경과시간(초)(Duration (Sec)) 을 0.5 으로 설정합니다.
- 인덱스 [1] 을 펼칩니다.
- 커브 타입 을 사인(360도) 으로 설정합니다.
- 경과시간(초) 을 1.0 으로 설정합니다.
- 웨이브 테이블 뱅크를 저장합니다.
- 웨이브 테이블 뱅크 에디터 를 닫습니다.
메타사운드 소스 생성
이미지를 클릭하면 전체 크기로 표시됩니다.
생성 및 엔벨로핑을 위해 웨이브 테이블 뱅크를 사용하는 메타사운드를 생성합니다. 위 그래프의 메타사운드를 빌드하려면 아래 단계를 따릅니다.
- 콘텐츠 브라우저 에서 추가 버튼을 클릭합니다.
- 오디오 > 메타사운드 소스(MetaSound Source) 를 선택합니다.
- 새 메타사운드를
MSS_WaveTableDemo로 명명합니다. - 메타사운드를 더블클릭하여 메타사운드 에디터(MetaSound Editor) 를 엽니다.
- 인터페이스(Interfaces) 패널에서 UE.Source.OneShot 인터페이스 항목 옆에 있는 제거(Remove) 버튼을 클릭합니다. 그러면 루핑 사운드에서 사용되지 않는 On Finished Output 노드가 제거됩니다.
제너레이터 섹션 빌드
- 그래프에서 On Play Input 노드를 찾아서 핀을 빈 공간으로 드래그합니다. 노드 검색에 'Trigger Repeat'를 입력하여 연결된 노드를 생성합니다. 그래프에서 노드를 드래그하여 이동할 수 있습니다.
- Trigger Repeat 노드에서 다음을 수행합니다.
- 주기(Period) 를 1.0으로 설정합니다.
- 반복 출력(RepeatOut) 핀에서 드래그하여 Trigger Counter 노드를 생성합니다.
- Trigger Counter 노드에서 다음을 수행합니다.
- 리셋 카운트(Reset Count) 를 2.0으로 설정합니다.
- 트리거 시(On Trigger) 핀에서 드래그하여 WaveTable Player 노드를 생성합니다.
- 카운트(Count) 핀을 WaveTable Player 노드의 인덱스(Index) 핀에 연결합니다.
- WaveTable Player 노드에서 다음을 수행합니다.
- 뱅크(Bank) 드롭다운을 클릭하고
WTB_FixedSampleRate로 설정합니다. - 피치 시프트(Pitch Shift) 를 440.0으로 설정합니다.
- 루프(Loop) 를 활성화합니다.
- 뱅크(Bank) 드롭다운을 클릭하고
엔벨로프 섹션 빌드
- 빈 공간에서 우클릭하고 Get WaveTable From Bank 노드를 생성합니다.
- Get WaveTable From Bank 노드에서 다음을 수행합니다.
- 뱅크 드롭다운을 클릭하고
WTB_FixedResolution으로 설정합니다. - 테이블 인덱스(TableIndex) 핀에서 드래그하여 그래프 입력으로 승격(Promote to Graph Input) 을 선택합니다. 그러면 TableIndex라는 이름의 Float Input 노드가 생성됩니다.
- 출력(Out) 핀에서 드래그하여 WaveTable Envelope 노드를 생성합니다.
- 뱅크 드롭다운을 클릭하고
- WaveTable Envelope 노드에서 다음을 수행합니다.
- 재생 시(On Play) 핀에서 드래그하여 Get On Play 노드를 생성합니다.
- 노드 하단에 있는 작은 아래쪽 화살표를 클릭하여 핀 목록을 펼칩니다.
- 모드(Mode) 를 '루프'로 설정합니다.
출력 연결
- 빈 공간에서 우클릭하고 Mono Mixer (2) 노드를 생성합니다.
- Mono Mixer (2) 노드에서 다음을 수행합니다.
- In 0 핀을 WaveTable Player 노드의 모노 출력(Mono Out) 핀에 연결합니다.
- 게인 0(Lin)(Gain 0 (Lin)) 핀을 WaveTable Envelope 노드의 출력 핀에 연결합니다.
- 출력 핀을 Out Mono Output 노드에 연결합니다.
- 메타사운드를 저장합니다.
메타사운드 테스트
메타사운드 에디터(MetaSound Editor) 툴바에서 재생(Play) 버튼을 클릭하여 메타사운드를 재생합니다. 노드에서 입력 위젯(다이얼)(Input Widget (Dial)) 을 클릭하고 상하로 드래그하여 TableIndex 그래프 입력 값을 조정할 수 있습니다.
WTB_FixedSampleRate 의 웨이브 테이블은 매 초 번갈아 재생됩니다. 게인은 WTB_FixedResolution 의 웨이브 테이블에 의해 제어되며, 이는 TableIndex 그래프 입력에 의해 선택됩니다. 0~1 사이의 TableIndex 값은 뱅크의 웨이브 테이블 간 블렌드를 생성합니다.
직접 해보기!
이제 퀵스타트를 마쳤으므로 이 프로젝트를 한층 더 발전시킬 수 있습니다. 다음은 사용자가 직접 탐색해 볼 수 있는 몇 가지 제안 사항입니다.
- WaveTable Oscillator 노드, Evaluate WaveTable 노드 같이 이 가이드에서 사용되지 않은 웨이브 테이블 노드로 메타사운드를 빌드합니다. 웨이브 테이블 노드에 대한 자세한 내용은 메타사운드 레퍼런스 가이드를 참고하세요.
- 커브 타입 을 커스텀(Custom) 으로 설정하여 웨이브 테이블 커브를 커스터마이징합니다. 툴바 및 커브 편집에 대한 자세한 내용은 커브 에디터를 참고하세요.
- 커브 타입 을 파일(File) 로 설정하고 웨이브 테이블 세팅(Wave Table Settings) > 파일 경로(File Path) 를 설정하여 오디오 파일을 웨이브 테이블로 임포트합니다.