Max Standalone and Apple

Hi,

This message is not an advertisement, just an encouragement for those  
of us whose writing applications for Mac OS X:

<http://www.apple.com/downloads/macosx/audio/>

Featured Download – Open Tuning 1.5, a Max standalone humbly written  
by myself.

Cheers ๐Ÿ˜‰
Philippe

Obj. scope~ for Analysis of a signal


scope~ : Signal oscilloscope
Input
-signal – In left inlet: ์ž…๋ ฅ ์‹œ๊ทธ๋„์ด X์ถ•์— ๋ณด์—ฌ์ง
         – In right inlet: ์ž…๋ ฅ์‹œ๊ทธ๋„์ด y์ถ•์— ๋ณด์—ฌ์ง
๋งŒ์•ฝ ์‹œ๊ทธ๋„ ์˜ค๋ธŒ์ ํŠธ๊ฐ€ ์–‘์ชฝ์— ์—ฐ๊ฒฐ๋˜์–ด์žˆ์œผ๋ฉด scope~ ๋Š” x-y mode๋กœ ์ž‘๋™๋˜๋ฉฐ. ๊ทธ ์ขŒํ‘œ๋Š” x์ถ•์€ ์™ผ์ชฝ ์ธ๋ ›์œผ๋กœ ๋“ค์–ด์˜ค๋Š” ์‹ ํ˜ธ๊ฐ’์— ๋Œ€์‘๋˜๊ณ , y์ถ•(์„ธ๋กœ)์€ ์˜ค๋ฅธ์ชฝ์— ๋“ค์–ด์˜ค๋Š” ์‹ ํ˜ธ๊ฐ’์— ๋Œ€์‘๋˜๋ฉด์„œ ๊ทธ๋ ˆํ”„๋ฅผ ๊ทธ๋ฆฐ๋‹ค. ๋งŒ์•ฝ ๋‘ ์‹ ํ˜ธ๊ฐ€ phase์•ˆ์—์„œ ๊ฐ™๋‹ค๋ฉด, ์ง์„ ์ด ์™ผ์ชฝ์—์„œ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์ฆ๊ฐ€ํ•˜๋Š” ๊ฒƒ์ด ๋ณด์—ฌ์งˆ ๊ฒƒ์ด๋‹ค. ๋งŒ์•ฝ ๋‘๊ฐœ์˜ ์‹ ํ˜ธ๊ฐ€ ์œ„์ƒphase๋ฐ–์—์„œ ๊ฐ™๊ฑฐ๋‚˜ 180๋„ ๋ผ๋ฉด, ์ง์„ ์€ ์™ผ์ชฝ์—์„œ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ํ•˜๊ฐ•ํ•œ๋‹ค.

-int – In left inlet: sample์˜ ์ˆ˜. ์ž‘์€๊ฐ’์„ ์ž…๋ ฅํ• ์ˆ˜๋ก ์ด๋ฏธ์ง€๋ฅผ ํฌ๊ฒŒ ํ™•์žฅํ•˜์ง€๋งŒ screen ์ƒ์—์„œ ์Šคํฌ๋กค์€ ๋” ๋น ๋ฅด๊ฒŒ ์ผ์–ด๋‚œ๋‹ค. ์ตœ์†Œ๊ฐ’์€ 2. ์ตœ๋Œ€๊ฐ’์€ 8092์ด๋‹ค. ์ž„์˜๊ฐ’์€ 256. X ๋ชจ๋“œ Y ๋ชจ๋“œ์—์„œ(๊ฐ™์ด ์“ฐ์ด์ง€ ์•Š๋Š”๊ฒฝ์šฐ), ์ฃผ๊ธฐ ์ด๋‚ด์—์„œ ๋ณด์—ฌ์ง„ ์ตœ๋Œ€/์ตœ์†Œ๊ฐ’์ด ์‚ฌ์šฉ๋œ๋‹ค. X-Y ๋ชจ๋“œ์—์„œ(๊ฐ™์ด ์“ฐ์ด๋Š”๊ฒฝ์šฐ), ์ฃผ๊ธฐ๋กœ๋ถ€ํ„ฐ ๋ณด์—ฌ์ง€๋Š” ์ƒ˜ํ”Œ์ด ์‚ฌ์šฉ๋œ๋‹ค.

      – In right inlet: display buffer์˜ ํฌ๊ธฐ. ์ด๊ฒƒ์€ scope~๊ฐ€ ์ƒˆ๋กœ์šด ์ •๋ณด์™€ ๊ทธ ์ •๋ณด์˜ scaling์„ ๋‹ค์‹œ ๋ณด์—ฌ์ฃผ๋Š” ๋น„์œจ์„ ์กฐ์ ˆํ•œ๋‹ค. ๋งŒ์•ฝ buffer size ๊ฐ€ ๋” ํด์ˆ˜๋ก ์‹ ํ˜ธ์˜ ์ด๋ฏธ์ง€๋Š” ์Šคํฌ๋ฆฐ์— ๋” ์˜ค๋ž˜ ๋‚จ์•„์žˆ๊ณ  ์••์ถ•๋˜์–ด ๋ณด์ธ๋‹ค. buffer size๊ฐ€ ์ž‘์„์ˆ˜๋ก ์‹ ํ˜ธ์˜ ์ด๋ฏธ์ง€๋Š” refresh๋˜๊ธฐ ์ด์ „๊นŒ์ง€ ์Šคํฌ๋ฆฐ์— ๋” ์งง๊ฒŒ ๋‚จ์•„์žˆ๊ณ  ํ™•์žฅ๋˜์–ด ๋ณด์ธ๋‹ค. ์ด๊ฒƒ์€ ์•„๋งˆ๋„ display buffer ์š”์†Œ๋‹น ์ƒ˜ํ”Œ๋“ค๊ณผ display buffer size controls๊ฐ€ ๊ฐ™์€ ์ผ์„ ํ•˜์ง€๋งŒ, ์ด๊ฒƒ๋“ค์€ ์„ฌ์„ธํ•˜๊ฒŒ ๋‹ค๋ฅธ ํšจ๊ณผ๋ฅผ ๊ฐ€์ ธ์˜จ๋‹ค. ์ด๊ฒƒ์€ ์–‘์ชฝ ์กฐ์ ˆ์„ ๊ฐœ์ธ์ด ์‹คํ—˜ํ•˜๋ฉด์„œ ์ตœ์ ์˜ ํŒŒ๋ผ๋ฉ”ํ„ฐ๋ฅผ ์ฐพ์•„์•ผ ํ•œ๋‹ค.

-brgb : brgb์˜ ๋ฉ”์‹œ์ง€๋Š” 0~255์‚ฌ์ด์˜ 3๊ฐœ ์ˆซ์ž๊ฐ€ ๋’ค๋”ฐ๋ผ์˜ค๋ฉฐ, RGB values๋ฅผ ์„ค์ •ํ•˜์—ฌ ๋ฐฐ๊ฒฝ์ƒ‰์„ ์ง€์ •ํ•ด์ค€๋‹ค. ์ž„์˜์˜ ๊ฐ’์€ โ€˜brgb 135 135 135.โ€™

-bufsize : bufsize๋ฉ”์‹œ์ง€๋Š” ์ˆซ์ž๊ฐ€ ๋’ค๋”ฐ๋ผ์˜ค๋ฉฐ, buffer์•ˆ์— ์ €์žฅ๋  ์ƒ˜ํ”Œ์˜ ์ˆ˜๋ฅผ ๋ฐ”๊พธ์–ด ์ค€๋‹ค.

-drawstyle : drawstyle๋Š” 0์ด ์•„๋‹Œ ์ˆ˜์™€ ํ•จ๊ป˜ ์“ฐ์ด๋ฉฐ drawing style์„ ๋ฐ”๊พผ๋‹ค, ์ž„์˜๊ฐ’์€ off

-frgb : frgb๋Š” 0~255์‚ฌ์ด์˜ ๊ฐ’. Wave์˜ ์ƒ‰๊น” ์กฐ์ •. ์ž„์˜์˜ ๊ฐ’์€ 102 255 51.

-range : ๋‘๊ฐœ์˜ ์ˆ˜์™€ ํ•จ๊ป˜ ์˜ค๋ฉฐ(์†Œ์ˆ˜, ์ •์ˆ˜ ๋‘˜๋‹ค ๊ฐ€๋Šฅ) amplitude์˜ ์ตœ์†Œ/์ตœ๋Œ€๊ฐ’์„ ์„ค์ •ํ•œ๋‹ค. ์ž„์˜๊ฐ’์€ -1, 1

-delay : ์ˆซ์ž์™€ ํ•จ๊ป˜ ์˜ค๋ฉฐ scope~๊ฐ€ ๊ฐ’์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์‹œ์ž‘ํ•˜๊ธฐ ์ด์ „์— ๋”œ๋ ˆ์ดํ•  ms๊ฐ’์„ ์ง€์ •ํ•ด์ค€๋‹ค. 0์ด ์•„๋‹Œ๊ฐ’์ด ์˜ค๋ฉด trigger์ƒํƒœ(trigger message์™€ ํ•จ๊ป˜ ์“ฐ์—ฌ์„œ)์—์„œ ์‹ ํ˜ธ๊ฐ€ ๋“ค์–ด์˜ค๊ธฐ๊นŒ์ง€ ๊ธฐ๋‹ค๋ ค์ฃผ๋Š” ํšจ๊ณผ๋ฅผ ์ค€๋‹ค. ์ž„์˜๊ฐ’์€ 0

-trigger : trigger mode ์„ค์ •. trigger 1 ์€ trigger level ์•„๋ž˜์˜ ์ƒํƒœ๋กœ๋ถ€ํ„ฐ ๊ฐ™์€ ์ƒํƒœ๋‚˜ ๊ทธ ์œ„๋กœ ์˜ฌ๋ผ๊ฐ€๋„๋ก upward trigger๋กœ ์„ค์ •ํ•˜๊ฒŒ ๋˜๋ฉฐ. Trigger 2 ๋Š” ๋ฐ˜๋Œ€์ด๋กœ downward trigger์ด๋‹ค. ์ž„์˜๊ฐ’์€ 0

-triglevel : triglevel์€ ์ˆซ์ž์™€ ํ•จ๊ป˜ ์“ฐ์ด๋ฉฐ trigger level์„ ์„ค์ •ํ•œ๋‹ค. trigger level ์„ ์‚ด์ง ๋ฐ”๊พธ๋Š” ๊ฒƒ์€ ํŒŒํ˜•์„ ์™ผ์ชฝ, ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์กฐ๊ธˆ์”ฉ ์›€์ง์ผ ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค.

-(mouse) scope~๋ฅผ ํด๋ฆญํ•˜๋ฉด ๋งˆ์šฐ์Šค ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๊ณ  ์žˆ๋Š”๋™์•ˆ ๋ฉˆ์ถฐ์žˆ๋Š”๋‹ค.

Inspector
scope~ ๋Š” Inspector ๋ฅผ ์‚ฌ์šฉํ• ์ˆ˜์žˆ๋‹ค. ๋งŒ์•ฝ window menu์—์„œโ€˜Show Floating Inspector โ€˜๋ฅผ ์„ ํƒํ•˜์—ฌ floating inspector๋ฅผ ํ•˜๊ฒŒ ํ•˜๋ฉด ์–ด๋–ค scope๋ฅผ ์„ ํƒํ•˜๋“  scope~ Inspector๋Š” floating window์—์„œ ๋ณด์—ฌ์ง„๋‹ค. ์–ด๋–ค object๋ฅผ ์„ ํƒํ•˜์„œ๋‚˜ Get Info๋ฅผ ์„ ํƒํ•˜์—ฌ ๋ณผ์ˆ˜๋„ ์žˆ๋‹ค. scope~ Inspector๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒƒ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ด์ค€๋‹ค:
Buffers per Pixel ์ด scipe~๊ฐ€ ๋ณด์—ฌ์ค„ pixel๋‹น buffers์˜ ์ˆ˜๋ฅผ ์„ค์ •ํ•œ๋‹ค. ์ž„์˜์˜ ๊ฐ’์€ 25.
Buffer Size  ๋Š” buffer์— ์ €์žฅ๋  ์ƒ˜ํ”Œ์ˆ˜๋ฅผ ์ง€์ •. ์ž„์˜์˜ ๊ฐ’์€ 128.
Range  number box๋Š” ์ตœ๋Œ€ ์ตœ์†Œ๊ฐ’์„ ์ง€์ •. ์ž„์˜์˜ ์ตœ์†Œ๊ฐ’์€ -1,0, ์ตœ๋Œ€๋Š” 1,0
Delay ๊ฐ’์€ scope๊ฐ€ ๊ฐ’์„ ํ• ๋‹นํ•˜๊ธฐ ์ด์ „์— ์“ฐ์ผ delay์‹œ๊ฐ„ (ms) ์„ค์ •.
Trigger Mode checkbox๋Š” Line Up  (default) ๋˜๋Š”
Line Down modes (์œ„์˜ trigger message ์ฐธ๊ณ ). Trigger Level ์€ trigger level ์„ค์ •.
Colors pull-down menu ๋Š” ์ƒ‰๊น”์˜ ๋ณ€๊ฒฝ.
Revert button ์€ ๋‹น์‹ ์ด inspector๋ฅผ ์—ฐ ์ดํ›„๋กœ ์˜ค๋ธŒ์ ํŠธ ์„ธํŒ…์˜ ๋ชจ๋“  ๋ณ€ํ™”๋ฅผ ๋˜๋Œ๋ฆด์ˆ˜(undo)์žˆ์Œ.(Edit menu๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ๋„ ๋จ)

Arguments
์—†์Œ

Output
์—†์Œ

Obj. fft~ for Analysis of a signal

fft~ : Fast Fourier transform

Input
-signal : ์™ผ์ชฝ inlet – ๋ณ€ํ˜•๋  complex signal์˜ ์‹ค์ œ๋ถ€๋ถ„
์˜ค๋ฅธ์ชฝ inlet – ๋ณ€ํ˜•๋  complex signal ์˜ ๊ฐ€์ƒ๋ถ€๋ถ„
๋งŒ์•ฝ ์‹œ๊ทธ๋„์ด ์™ผ์ชฝ inlet๊ณผ ์™ผ์ชฝ outlet์—๋งŒ ์ž…/์ถœ๋ ฅ๋˜๋ฉด, ์‹ค์ œ FFT (fast Fourier
transform) ๊ฐ€ ์‹คํ–‰๋œ๋‹ค. ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ complex FFT ๊ฐ€ ์‹คํ–‰๋œ๋‹ค.

Arguments
-int : ์„ ํƒ์  ์‚ฌ์šฉ.
์ฒซ ๋ฒˆ์งธ argument ๋Š” FFT์˜ sample point number๋ฅผ ๊ฒฐ์ •. ๋ฐ˜๋“œ์‹œ 2์˜ ์ œ๊ณฑ์˜ ์ˆ˜๊ฐ€ ์™€์•ผํ•œ๋‹ค. ์ž„์˜์˜ ๊ฐ’์€ 512๊ฐ€ ์ฃผ์–ด์ง.
๋‘ ๋ฒˆ์งธ argument๋Š” ์—ฐ์†์ ์ธ FFT๊ฐ„์˜sample๋“ค์˜ ์ˆ˜๋ฅผ ์ง€์ •. ์ด๊ฒƒ์€ ์ตœ์†Œํ•œ point์˜์ˆ˜๊ฐ€ ๋˜์–ด์•ผ ํ•˜๋ฉฐ, 2์˜ ์ œ๊ณฑ์ด์–ด์•ผ ํ•œ๋‹ค. ์ž„์˜์˜ interval์€512.    
์„ธ ๋ฒˆ์งธ argument ๋Š”FFT๊ฐ€ ์‹œ์ž‘๋  interval๋กœ offset ๋ฐ˜๋“œ์‹œ 0์ด๋‚˜ signal vector size์˜ ๋ฐฐ์ˆ˜๊ฐ€ ๋˜์–ด์•ผ ํ•œ๋‹ค. fft~ ๋Š” ์ž˜๋ชป ์ž…๋ ฅ๋œarguments๋ฅผ ์ž์ฒด์ ์œผ๋กœ ์ˆ˜์ •ํ•œ๋‹ค. ํ•˜์ง€๋งŒ ๋งŒ์•ฝ signal vector size๊ฐ€ fft~๋ฅผ ๋งŒ๋“ค ์ดํ›„์— ๋ฐ”๊พธ์–ด์„œ ๊ทธ offset์ด ๋” ์ด์ƒ vector size์˜ ๋ฐฐ์ˆ˜๊ฐ€ ์•„๋‹ˆ๋ผ๋ฉด ๊ทธ fft~๋Š” signal processing์ด ์ผœ์ง€๋”๋ผ๋„ ์—ฐ๋™๋˜์ง€ ์•Š์„ ๊ฒƒ์ด๋‹ค.

Output
-signal -Out left outlet: ์ž…๋ ฅ์˜ Fourier transform ์˜ ์‹ค์ œ๋ถ€๋ถ„. ์ถœ๋ ฅ์€ input์˜ ๋ชจ๋“  points๊ฐ€ ๋ฐ›์•„ ๋“ค์—ฌ์ง„ ์ดํ›„์— ์‹œ์ž‘ํ•œ๋‹ค.
-Out middle outlet: ์ž…๋ ฅ์˜ Fourier transform ์˜ ๊ฐ€์ƒ๋ถ€๋ถ„. ์ถœ๋ ฅ์€ input์˜ ๋ชจ๋“  points๊ฐ€ ๋ฐ›์•„ ๋“ค์—ฌ์ง„ ์ดํ›„์— ์‹œ์ž‘ํ•œ๋‹ค.

-Out right outlet: 0์—์„œ -1๊นŒ์ง€ ์˜ค๋ฅด๋‚ด๋ฆฌ๋Š” sync signal(FFT output์ด ๋ฐœ์ƒํ•˜๋Š” ์ฃผ๊ธฐ๋กœ) ์ด signal์„ index~์˜ input์œผ๋กœ ์‚ฌ์šฉํ•˜์—ฌ frequency domain์—์„œ ๊ณ„์‚ฐ ํ•˜๋„๋ก ์ด์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. FFT ์ด ๋ณด๋‚ด์ง€์ง€ ์•Š๊ณ  ์žˆ์œผ๋ฉด(interval ์ด point์ˆ˜๋ณด๋‹ค ํด ๊ฒฝ์šฐ) sync signal ์€ 0์ด๋‹ค.