음악, 삶, 개발

Midi Tools 계획서 본문

개발중......../M4L - Midi Tools

Midi Tools 계획서

Lee_____ 2020. 10. 29. 02:39

< 용도 > 

Chordimist 처럼 하나의 거대한 디바이스가 아닌,  매우 작은 디바이스들의 모음집.

따라서, 각 디바이스가 모듈이 되어 사용자가 원하는 방식으로 자유자제로 연결 가능하게 된다.


< 예상 개발 기간 >

개발  : 두달

테스트 : 한달

비디오 & 메뉴얼 제작 : 2주 

발매 : 내년 1 ~ 2월


< 개발 규율 >

Lee : 이 규율들의 순서는 중요도를 나타내지않습니다. 

1. 각 디바이스는 하나의 미디적인 기능만을 수행해야한다.

2. 다른 디바이스가 하는 역할을 침범하는 기능을 가져서는 안된다.

3. 모든 디바이스가 Push 를 지원해야한다.

4. 언제나 Drum Rack 의 cell 에 들어갈것을 염두한다.

5. 사람들의 이목을 끌만한 GUI 를 가져야한다

6. 디자인의 프로토타입이 일러스트레이터에서 먼저 완성되어야한다.

7. C++ 처럼 재사용성을 극대화할수있는 Patching을 한다.

8. 뻔한 사고를 무조건 적으로 탈피하려 몸부림친다.

9. 저녁 6시경부터 5시간 정도만 Midi Tools 개발을 한다.  = 절대 한 프로젝트에만 모든 시간을 쏟지않아야한다.

10. 기능을 90% 정도 완벽히 결정한후 개발을 시작한다. =  Patching은 나의 아이디어를 현실화시키는 과정일뿐.


< 아이디어 >

Lee : 이 아이디어들은 아이디어일뿐, 추후 삭제될수있습니다.

 

Map

미디 노트 또는 CC 를 파라미터에 맵핑하여, Rack 의 매크로를 미디로 컨트롤 할수있게 해주는 디바이스

 

Pithc Bend

PitchBend 가 없는 미디 컨트롤러를 사용하더라도, PitchBend 효과를 낼수있는 디바이스

 

Vibrato

PitchBend 계열이지만, 단 4개의 파라미터만 존재. Wait, Depth, Rate, Jitter - ADSR 그래프 필요할지 고민.

 

Portamento 

PitchBend 모듈레이션을 사용하여, 노트가 Legato 될때, 노트가 Monophonic 되면서 Glide 되게 노트가 넘어가게해주는 디바이스

 

Wheel 

모듈레이션 Wheel 이 없는 미디 컨트롤러를 사용하더라도, Wheel 효과를 낼수있는 디바이스. 콘탁 사용하여 시연

 

Sustain Pedal

Sustain 페달이 없는 미디 컨트롤러를 사용하더라도, Sustain 효과를 낼수있는 디바이스

 

Live Controller

브라우저를 연다던지 하는 미디 맵핑이 원래는 불가한 액션들을 미디 컨트롤러에 맵핑할수있게끔.

 

LED 

Launchpad 나 여타 다른 미디 컨트롤러들의 LED 를 설정할수있는 디바이스.

 

Roll (또는 Note Repeat)

계속 같은 박자로 쪼개지는 일반적인 Arpeggiator 와 구간별로 다른 Rate 를 갖게해주는 디바이스 (영화 드럼 라인처럼..)

 

Push to Piano (Pushianist)

피아노 연주할때 Push 상의 노트 위치를 알려주는 교육용 디바이스

사실 이외에도 교육용 디바이스들을 만들어 Education Tools 로 따로 묶어도 될거같다.

 

Ghost Note 

사용자의 입력 뒤에 작은 Ghost Note 를 추가해주는 디바이스

 

Random Gate (또는 Skip)

들어오는 미디 노트들을 랜덤하게 Gate 해주는 디바이스. 빠른 Note Repeat 이후에 사용하면 효과적임.

 

Monophonic

기본적으로 Polyphonic 인 미디 노트를 Monophonic 으로. (이전 Note 를 off 시켜줌)

 

Chord

하나의 노트를 눌러도 Chord 가 되게 해주는 디바이스. (이안에 누를때마다, 한 음만 방향성을 가지고 나올수있게, Direction 파라미터 추가)

 

Glissando 

Chord 뒤에 사용하면 디리리리링~ 해주는 디바이스

 

Stack (또는 Unison)

음을 옥타브로 쌓아주는 디바이스

 

Trap 

Trap hihat 을 패턴을 자동으로 생성해내는 디바이스

 

ARP 8

8 Voices Arppegiator. 보이스별로 Rate 를 다르게 줄수있음. (오케스트라 연주할때 유용함, 한놈은 길게, 한놈은 짧게)

 

Tail 

사용자가 노트를 때도 뭔가 꼬리가 남으면 좋겠다는 생각을 해보았다.

 

Delay 

이미 M4L 에 Note Echo 기 있긴한데, 더 유니크한 나만의 무언가가 없을까?

 

Push Scale Mode

Push Pad 를 다른 Scale 모드로 할수있도록...(이게 제일 까다로울듯) 사용자가 Custom 가능하게. (독립 디바이스로 가야하나..)

 

Drone 

한 노트가 매우 길게 영원히 나옴. (String 단음용) - Transport on 일때 Note on, 꺼졌을때  Note off

 

Metronome

Drum Rack 의 cell 하나에 넣어서, 사용하면 Transport 꺼진 상태에서도 유용하도록. 

 

Latency 

Random 하게 Note 에 Delay 를 줌. 

 

Budda

목탁 두드리는 리듬, 점점 빨라지거나, 점점 느려지거나. 후르르파파. 노트 입력하는 동안 반응. 스님 디자인 들어가면 좋을듯. 일러로 그려서 두들길때마 애니처럼 전화해주면 재미있을듯.

 

Filter 

Note 의 원하는 범위만 통과되게. 약간 Chain Selector 느낌.

 

Percussionist 

자동으로 봉고노트 연주해주는 놈. 이것도 일러스트레이터로 재미있게 디자인해보면 좋을듯..

 

Rise & Fall : Pitch Bend up 되거나 Down. Curve 되게.

Glide : Pitch 벤드 노트 간에 연결로 글라이드 되게.

Sustain: Mapping 가능하게, Random 되게. Next 코드 들어오면 바로 풀게.

Sequencer : Steptimist 의 sequencer.js4 voice 로 아주 단순하게.

Scale : Ableton Scale 과 비슷한 UI 지만, 다른점은 preset 을 umenu 써서 내가 설정할수있게. Root, Chord 이런식으로..

Round & Robin : 누를때마다 Pitch 혹은 Velocity 돌게. (Up, Down, Random)

Unison :  Octave 위 계층으로 쌓이게. 근데 쌓인애 약간 offset ms 로 밀수있게. (Vibraphone 연주자 생각해볼것)

Humanizer : Input -> Output 요렇게 UI 설계 (화살표 중간에 넣어서). Output 에서 사용자가 설계할수있게.

Press & Release : 노트를 누르고 땠을때 행위를 정할수있게..노트를 때었을때도 무언가를 하게..

Voice : 4개 노트 이상이되면, 5번째 노트에서 그 전에 눌린 노트 짤리게, Monphonic 도 할수있게.

Range : 어떤 노트들어와도 C1, C2 들어와도 C1 이 되거나 C3 이 되게. (Filter 하거나, 자동 Transpose 하거나)

Random : Min, Max 정해서 그 안에서 Random 되게. (Simpler 용). Ableton Random 보다 간편하게.  

Ableton 의 Random 과 Velocity 를 하나로 합친 느낌으로.

Skip : 몇몇 노트들 Random 하게 Skip 되게.

Expression : Velocity 나 PitchBend 등 MIDI CC 에 있는것들 Envelope 그릴수있게.

Monitor : 들어오는 노트 시각화.

Duration : 노트 길이 Random 되거나, 사용자가 설정할수있게.

Map : Note 로 파라미터 mapping 해서 컨트롤할수있게.

Snapshot : 노트별로 악기 프리셋 Assign 할수있어서 Morph 되게.  

All-In-One : 위에것들을 따로 파일화 하지않고, Tab 메뉴나 Umenu 로 선택해서 그때 그때 골라 쓸수있게 그냥 하나의 amxd 로 묶은것.

Loop : 노트 들어오면 개별로 Loop 되게. Voice 설정할수있게. (그럼 바로 짤리도록 

Quantizer 

Octave (Octave Random 추가 

ARPoly (각 노트마다 different rate randomy 하게)

Drummist (자동으로 패턴 연주해주는 알고리즘 - 이걸 열심히 내일부터 해서, 잘 나온 알고리즘을 steptimist 에 투여하기, 사용자가 play 버튼만 누르면 됨)

Note Repat

Chord  ( 그냥 피아노모양 UI 클릭하게. 드래그하면 Velocity 조절되게. (JSUI 로 만들기) - 피아노에 Slider 가 달려있는거임. (Voicing Random 넣어주자 <— strum 벨로시티 기능은 따로 모듈로 만드는게..)

DRUMist

ARPimist