Mac용 Logic Pro에서 MIDI 이벤트 beatPos 속성 사용하기

Scripter의 모든 MIDI 이벤트는 ‘beatPos’로 불리는 속성을 가지고 있는데, 정확한 비트 위치를 전달합니다. 이는 이벤트의 타이밍을 더 정확하게 하고, 또한 루프를 정확하게 다루게 합니다. 이 속성은 timingInfo.blockStartBeat를 대신하여 사용할 수 있습니다. JavaScript TimingInfo 객체 사용하기를 참조하십시오.

참고: 이 속성은 "var NeedsTimingInfo = true" 인 경우에만 작동하며, 아닌 경우 값이 0이 되고, 변경된 경우 경고를 출력할 것입니다.

  •  Logic Pro에서 아래의 행 중 하나를 Script Editor 윈도우에 입력하십시오(둘 다 같은 결과로 나타납니다):

    event.send()event.sendAtBeat(event.beatPos)
  • 그 대신에, 아래의 행 중 하나를 Script Editor 윈도우에 입력할 수도 있습니다(둘 다 같은 결과로 나타납니다):

    event.beatpos += 1; event.send()event.sendAtBeat(event.beatPos + 1)

beatPos 속성의 용법 예시

beatPos 속성을 사용하여 MIDI 이벤트를 특정한 비트 위치로 전송할 수 있습니다. 아래의 예시에서 노트 끔 이벤트는 이벤트에 상응하는 노트의 비트 위치보다 한 비트 늦게 전송됩니다.

참고: 또한 event.sendAtBeat(pos) 메소드를 사용하여 이벤트를 특정한 비트 위치로 전송할 수 있습니다. beatPos 속성 사용의 이점은, 실제로 이벤트를 전송할 필요가 없다는 것입니다. 속성을 간단히 이용하여 이벤트의 정확한 비트 위치를 되찾아오면 됩니다.

/* 뒤의 텍스트는 JavaScript 코드를 설명하는 주석을 나타냅니다.

var NeedsTimingInfo = true; /* needed to make beatPos work */function HandleMIDI(event) {var on = new NoteOn; /* make a new note on */on.pitch = 60; /* set its pitch to C3 */on.beatPos = event.beatPos; /* copy beat position from incoming event */on.send(); /* send the note on */var off = new NoteOff(on); /* make a note off using the note on to initialize its pitch value to C3 */ /* note that the beatPos does not get copied here */off.beatPos = on.BeatPos+1; /* set the beat position of the note off event */off.send(); /* send the note off event */}

설명서 다운로드

Logic Pro 사용 설명서: Apple Books

Logic Pro 악기: Apple Books

Logic Pro 이펙트: Apple Books

Morty Proxy This is a proxified and sanitized view of the page, visit original site.
도움이 되었습니까?
글자 수 제한: 250
250자 이내로 작성하십시오.
피드백을 보내 주셔서 감사합니다.
Morty Proxy This is a proxified and sanitized view of the page, visit original site.