Max에서 화음을 연주하는 (폴리 포닉) 신디사이저

3637 단어 Max8Max-MSPWindows10

이전 기사



맥스에서 봉투를 사용하여 폰을 폰이나 호완에게

버전



버전 8.1.5(9359645)(64-bit windows)

여러 소리를 동시에 울리는 방법?



전회 만든 녀석은 한 번에 하나의 소리밖에 낼 수 없다… 드의 건반을 누르면서 미의 건반을 누르면, 드의 소리가 사라져 미의 소리가 흐른다.

Q. 여러 소리를 울리는 신디사이저로 하려면 어떻게 하면 좋을까?
A. 소리를 만드는 부분을 다른 부품화 그리고 MIDI 키를 누를 때마다 소리를 만드는 부품을 불러!

뭔가 조금 객체 지향 같다.
소리를 만드는 부분을 다른 부품화 = 클래스
MIDI 키를 누를 때마다 소리를 만드는 부품 호출 = 인스턴스
같은 이미지.

참고 사이트 씨 간단한 폴리포닉 신디사이저 만들기

소리를 만드는 부분을 다른 부분으로 만들 것입니다.



별부분화 = 다른 파일.
소리를 내는 부품을 「synth_cycle」, 부품을 호출하는 분을 「root」로 해 보았습니다.

synth_cycle 안을 밟아갑니다.
우선은 in 객체로 인수를 설정.

button 객체는 그만두고 t 객체를 사용해 보자!
(t는 trigger의 약어, 인수의 b는 「bang 신호로 바꾸라」라고 의미)

out~ 객체로 반환값 설정.

thispoly~ 오브젝트로 이 부품은 소리를 내고 『있는 것인가』 『없는 것인가』를 호출원의 poly~ 오브젝트에 전할 수 있다.

결국 synth_cycle 군은 이런 느낌.
(in과 out에는 몇번째의 인수 or 반환값인가를 설정하기 위한 인수가 필요)


부품을 호출하는 쪽 만들기



우선은 부품을 호출하는 poly~ 오브젝트를 추가!

이어서 prepend 객체를 추가!
이 녀석의 역할이 아직 희미하게 밖에 이해할 수 없다…(´・ω・`)


결국 이런 느낌. 무사한 화음이 울릴 수 있게 했다(๑•᎑•๑)

시험에 prepend 없이 해 보면 『단음 밖에 나오지 않는 상태』가 되었다.
라고 하는 것은 prepend는 「poly~를 멀티에 사용할 수 있도록 신호를 축적하는 녀석」이라고 하는 것이 역할일까?
prepend의 이해에 대해서는 잔과제는 느낌입니다…

다음 기사



Max에서 MIDI 키를 연주하는 강도에 따라 소리의 크기가 바뀌는 폴리 포닉 신디사이저

좋은 웹페이지 즐겨찾기