• msp is a set of digital audio extensions for Max. These extensions are a port of work done by Miller Puckette at IRCAM and UCSD to the Opcode Macintosh Max environment and have been programmed and marketed by David Zicarelli, the programmer of Opcode’s version of Max. The name msp has a couple of connotations: one is Max Signal Processing. Another is that msp are the initals of Miller Smith Puckette.
msp는 max의 디지털 오디오 확장된 set입니다. 이 확장은 IRCAM and UCSD에 있는 Puckette에 의해 매킨토시 환경의 맥스 옵코드로 작업 되었으며 David Zicarelli (맥스의 옵코드 버전의 프로그래머)에 의해 프로그램화, 상용화 되었습니다. Msp는 두 개의 논리로 되어있는데요, 한가지는 맥스의 signal processing이며, 또 한가지는 mas가 Miller Smith Puckette 이름의 이니셜 이라는 것입니다.
• Figure 1 shows a simple msp patch. All msp objects end with a twiddle (~) after the name of the object. Because it looks vaguely like a sine wave, the twiddle indicates that information coming into and/or out of the object is happening at the audio rate. Information in Max usually is sent whenever the user does something — plays in some MIDI, clicks with the mouse, etc. The fastest rate at which events can be scheduled to occur in Max is 1000 times per second. In audio, however, samples must be produced at the sampling rate for the sound to continue, and all msp objects update their outputs at the sampling rate (typically 44100 samples per second).
Figure 1에서는 단순한 패치를 보여줍니다. 모든 msp object들은 object name 뒤에~의 기호로 끝납니다. 이것이 sine곡선과 같은 굴곡으로 보여지기 때문에, 들어오고있는 정보나, object의 밖에서 audio rate에 벌어지고 있는 정보를 지시합니다. 보통 맥스 내의 정보는 사용자가 어떤 것을 해야 할 때 그 정보가 보내어 집니다 -미디를 플래이하거나, 마우스를 클릭하는등등. 사건들이 맥스 안에서 발생하기 위해 계획될 수 있는 가장 빠른 rate는 초당 1000번입니다. 그러나 오디오에서는 samples는 사운드를 지속시키기 위한 sampling rate에 맞추어 만들어져야 합니다. 그리고 모든 msp onject들은 그들이 출력을 sampling rate (전형적으로 초당44100)으로 업데이트 합니다.
Figure 1: 440-hz oscillator
• The dac~ object at the bottom of Figure 1 is the digital-to-analog conversion object of msp. The two inlets at the top correspond to the left and right outputs from the sound system attached to the computer. This can be simply the stereo output from the computer itself or the outputs of a sound card (such as Digidesign gear) installed on the machine. The patch as a whole takes the audio output of a cycle~ object (a simple table-lookup oscillator), reduces the amplitude by multiplication, and sends it to the dac. The startwindow and stop messages to the dac turn on audio (for this window’s patch only) and turn it off, respectively.
figure 1 의 하단에 있는 ‘dac~’object는 msp의 digital을 analog로 변환시킵니다. 상위에 있는 두 개의 inlet은 컴퓨터에 적합한 사운드 시스템으로부터 왼쪽과 오른쪽 output으로 대응됩니다. 이것은 컴퓨터 자체의 스테레오 출력으로, 또는 컴퓨터 내에 인스톨된 사운드 카드 출력(Digidesign gear같은)으로 단순화 될 수 있습니다. cycle~ object(a simple table-lookup oscillator)의 오디오 출력을 택한 패치는 multiplication에 의한 amplitude를 줄이고 dac로 전송합니다. dac로보내지는 startwindow 와 stop messages는 각각 오디오를 키거나 끌 수 있습니다.(이 윈도우 패치에서만)
• A sine wave is an example of simple harmonic motion. The wave completes one cycle of a simple back-and-forth motion at a constant rate. Because each cycle is completed in a constant amount of time, the motion of the wave is periodic. The number of cycles completed per second is the frequency of the wave, and the inverse of the frequency is its period. A wave that completes its cycle 100 times per second, then, has a frequency of 100 cycles per second (cps), also known as hertz (hz), and a period of 1/100 second, or 10 milliseconds.
사인 웨이브는 단순한 하모닉 운동의 예입니다. Wave는 반대의 rate에서 단순하게 앞 뒤로 움직이는 운동에 의해 완성되며, 그 운동은 주기성을 가집니다. 초당 만들어지는 주기의 양이 웨이브의 음높이를 결정합니다. 그리고 그 frequency의 반대(역수? 표현하기가 적당하지 않지만..)는 그것의 주기입니다. 초당 100번의 주기로 된 웨이브를 본다면 100의 cycles per second (cps), (hz라고 알려진) frequency를 가집니다. 그리고 초당 1/100 또는 millisecondf 10의 한 주기를 가집니다.
• Sampling Theorem: To represent digitally a signal containing frequency components up to X Hz, it is necessary to use a sampling rate of at least 2X samples per second. If a signal has frequency components above one-half the sampling rate, these will be misrepresented in what is termed foldover, or aliasing. The frequency that is one-half the sampling rate is called the Nyquist frequency. Each frequency “has an alias equally far from the Nyquist frequency but on the other side of it. . . For this reason the Nyquist frequency is often called the folding frequency because we can think of frequencies above Nyquist as being folded down below Nyquist” [Steiglitz p. 47]. Simplifying this a bit, we can say that when an original frequency higher than one-half the sampling rate is sampled, it will produce a new frequency that is equal to the sampling frequency minus the original frequency.
Sampling 원리 : X Hz에 이르기 위한 frequency성분을 포함하고 있는 한 신호가 보여지기 위해서는, 적어도 초당 2X샘플의 sampling rate를 사용이 요구됩니다. 만약에 한 signal이 1/2의 sampling rate보다 위인 frequency 성분을 가진다면, 이것은 초과된 것으로, 또는 위신호로 잘못 전달 될 것입니다. 이런 1/2의 sampling rate의 frequency를 the Nyquist frequency라고 합니다. 각각의 frequency는 the Nyquist frequency로부터 동등한 거리이지만 그것의 반대편에 있는 alias(허상이라고나 할까요)를 가지고 있습니다. 이런 이유로 the Nyquist frequency는 종종 the folding(‘접힌’ 이라고 생각하시면 이해가 빠를 것 같아요) frequency로 불리는데, 그 이유는 우리가 아래에 접힌 것처럼 Nyquist위에 있는 frequency를 상상할 수 있기 때문입니다. 이것의 한 조각이 단순화 될 때 우리는, 1/2의 sampling rate보다 더 높은 원래의 frequency가 sample될 때, sampling frequency 에서 원래 frequency를 땐 것과 같은 새로운 frequency가 생겨날 것이라고 말할 수 있습니다.
• Samples in msp are interpreted as floating point values within the range –1.0 to +1.0. Samples conforming to that range occupy the full dynamic spectrum when sent to the dac~ object. Therefore, to attenuate the volume of a signal, the signal should be made to occupy a smaller range of values. In Figure 1 and Figure 2 below, the attenuation is performed by multiplying the output of cycle~ by a fractional value. Multiplication by a fraction is equivalent to division (another way to reduce the range of a signal) but is more economical to perform. Adding two signals together is equivalent to mixing them. Whenever more than one signal is mixed (added) together, take care that the combined output of the mixed sources does not exceed the range –1.0 to +1.0, because outside of that range the signal will clip.
msp의 sample들은 -1.0에서 +1.0까지의 범위 내에서 부동의 값으로 설명됩니다. 샘플들은 dac~ object로 보내질 때 full dynamic spectrum이 발생하는 범위에 따릅니다. (문장에 동사가 하나 빠진 것 같은디..) 그러므로 signal의 볼륨을 희박하게 하기 위하여 signal은 작은 범위의 값이 이용되어야 합니다. Figure 1과 2에 따르면, 그 희박함은 분수 값의 cycle~출력을 곱하는 것에 의해 실행됩니다. 그 분수 값을 곱하는 것은 나눗셈과 같지만(이것은 range를 줄이는 또 다른 방법이겠지요)실행에 더 경제적입니다. 두 signal을 더하는 것은 그것들은 섞는 것과 같습니다. 하나의 시그널보다 더 많은 것이 서로 더해질 때 마다 그 혼합된 소스의 혼합된 출력이 range -1.0에서 +1.0을 초과하지 못하도록 처리됩니다. 왜냐하면 그 신호가 clip될 수 있는 범위의 출력이기 때문입니다.
—오늘은 여기까지 -_-!