MIDI section


  • This Scripts Recommend to Use With Assigned Shortcut Key.
▼ Toggle 折りたたみ
  • The scripts divide each note in half, or into thirds or into fourths.
  • All notes will be splitted when no notes are selected.

Script:

  • kawa_MIDI_SplitNote2.lua
  • kawa_MIDI_SplitNote3.lua
  • kawa_MIDI_SplitNote4.lua
  • kawa_MIDI_SplitNote5.lua
  • kawa_MIDI_SplitNote7.lua

Similar Action:

  • Edit:Split notes
  • Edit:Split notes at mouse cursol.
  • Edit:Split notes on grid.

./animGif/01_split.gif
  • Every splitted note keeps selected after division now.
  • The figure below was made before this improvement.

▲ top

Script:

  • kawa_MIDI_ResolveOverLap.lua

./animGif/02_overLap.gif

▲ top

  • This works correctly only when it inspects notes played at the the exact same time .
  • It may output an unexpected result with the misalignment of selected notes even if it is tiny.

Script:

  • kawa_MIDI_DetectTopNote.lua

./animGif/03_detectTopNote.gif

▲ top

  • This works correctly only when it inspects notes played at the the exact same time .
  • It may output an unexpected result with the misalignment of selected notes even if it is tiny.

Script:

  • kawa_MIDI_DetectBottomNote.lua

./animGif/04_detectBottomNote.gif

▲ top

  • This works correctly only when it inspects notes played at the the exact same time .
  • It may output an unexpected result with the misalignment of selected notes even if it is tiny.

Script:

  • kawa_MIDI_DeleteTopNote.lua

./animGif/05_deleteTopNote.gif

▲ top

  • This works correctly only when it inspects notes played at the the exact same time .
  • It may output an unexpected result with the misalignment of selected notes even if it is tiny.

Script:

  • kawa_MIDI_DeleteBottomNote.lua

./animGif/06_deleteBottomNote.gif

▲ top

  • This works correctly only when it inspects notes played at the the exact same time .
  • It may output an unexpected result with the misalignment of selected notes even if it is tiny.

Script:

  • kawa_MIDI_DeleteBottomNote.lua

./animGif/06_deleteBottomNote.gif

▲ top

  • Quick Select for Ensemble Divisi.(ex. String Section)

Script:

  • kawa_MIDI_SelectOddNotesFromLower.lua
  • kawa_MIDI_SelectEvenNotesFromLower.lua

./animGif/SelectEvenOddNotes_02.gif

▲ top

  • This Detection Type can detect chord from notes ,which is not perfectly same start timing .
  • The detection range is "MidiEditor Grid Length" .(you can get another result by MidiEditor Grid Length setting.)

Script:

  • named by kawa_MIDI_***_Near.lua

▲ top

Script:(relative)

  • kawa_MIDI_IncreaseLength.lua
  • kawa_MIDI_DecreaseLength.lua

Similar Action:(absolute)

  • Edit:Set note length to ***
  • Edit:Set note length to double
  • Edit:Set note length to half

./animGif/07a_noteLength.gif

./animGif/07b_noteLength.gif

▲ top

  • This script works for only selected notes.

Script:

  • kawa_MIDI_NudgeNoteLeft.lua
  • kawa_MIDI_NudgeNoteRight.lua

Similar Action :

  • Edit:Move notes left one grid unit
  • Edit:Move notes left one pixel
  • Edit:Move notes right one grid unit
  • Edit:Move notes right one pixel

./animGif/08_nudgeNote.gif

▲ top

  • You can adjust note length nudging only the start position.

Script:

  • kawa_MIDI_IncreaseStartPos.lua
  • kawa_MIDI_DecreaseStartPos.lua

Similar Action:

  • Edit:Move notes left one grid unit
  • Edit:Move notes left one pixel
  • Edit:Move notes right one grid unit
  • Edit:Move notes right one pixel

./animGif/14_nudgeStartPos.gif

▲ top

  • Enable the selected notes is only when the two notes.

Script:

  • kawa_MIDI_NudgeTwoNoteLeft.lua
  • kawa_MIDI_NudgeTwoNoteRight.lua

./animGif/11a_nudgeTwoNotes.gif

./animGif/11b_nudgeTwoNotes.gif

▲ top

  • with change channel for new MIDI note event.

Script:

  • kawa_MIDI_IncrementChannel.lua
  • kawa_MIDI_DecrementChannel.lua

Similar Action:

  • Edit: set event to channel **
  • Edit: set Channel for new event **

./animGif/change_MIDIChannel.gif

▲ top

Script:

  • kawa_MIDI_InsertCC64_on.lua
  • kawa_MIDI_InsertCC64_off.lua

Notation Editor

./animGif/sustain_gif_01.gif

Piano Roll Editor

./animGif/sustain_gif_02.gif

▲ top

  • to detect chord only the same start timing notes (try with quantize)
  • split range is grid width.

Script:

  • kawa_MIDI_GenerateArp.lua

./animGif/09a_arpeggio.gif

./animGif/09b_arpeggio.gif

./animGif/09c_arpeggio.gif

▲ top

  • for unexpected Random Arpeggio, Need Ajustment

Script:

  • kawa_MIDI_GenerateRandomArp.lua

./animGif/generateRandomArp.gif

▲ top

  • "Explode"s mean is Over Octaves. for unexpected Random Arpeggio,Need Ajustment

Script:

  • kawa_MIDI_GenerateExplodeArp.lua

▲ top

Script:

  • kawa_MIDI_DuplicateSimple.lua

Similar Action:

  • Edit:Duplicate Events

./animGif/10_duplicate.gif

▲ top

  • Copy to near grid.

Script:

  • kawa_MIDI_DuplicateMusical.lua

./animGif/12a_duplicateMusical.gif

./animGif/12b_duplicateMusical.gif

▲ top

Script:

  • kawa_MIDI_ConnectTwoPitch.lua

./animGif/00_kawa_InterPolationTwoNotes_400.gif

./animGif/00_kawa_InterPolationTwoNotes2_400.gif

[Image] When execute with some direfferent pitch Notes.

▲ top

  • to detect chord only the same start timing notes(try with quantize) . try alt key stretch

Script:

  • kawa_MIDI_StrokeUp.lua
  • kawa_MIDI_StrokeDown.lua

./animGif/13b_stroke.gif

▲ top

Script:

  • kawa_MIDI_SelectAllNoteCurrentTake.lua

./animGif/15_selectOnlyClip.gif

▲ top

Script: (relative)

  • kawa_MIDI_IncreaseVelocity.lua
  • kawa_MIDI_DecreaseVelocity.lua

Similar Action:(absolute)

  • Edit:Note velocity +**
  • Edit:Note velocity -**

./animGif/16_velocity.gif

▲ top

  • to Same Velocity.

Script:

  • kawa_MIDI_VelocityFix.lua

▲ top

Script:

  • kawa_MIDI_ReduceVelocity.lua
  • kawa_MIDI_ExpandVelocity.lua

./animGif/39_velocityReduceExpand.gif

画像は increaseVelocity(ベロシティを追加)と併用

▲ top

Script:

  • kawa_MIDI_VelocityRandom.lua

./animGif/40_randomVelocity.gif

combination with reduceVelocity と併用

▲ top

  • 始点ノートから終点のノートにかけてベロシティを補間する。
  • 選択されたノートがある場合は選択されたノートのみ
  • 補完タイプはliner,sin,cubicの3つ

Script:

  • kawa_MIDI_VelocityInterPolation_Cubic.lua
  • kawa_MIDI_VelocityInterPolation_Liner.lua
  • kawa_MIDI_VelocityInterPolation_Sin.lua

./animGif/41_velocity_Interp.gif

打楽器のロールとかに使うと便利。(スネア、ティンパニ、マリンバetc)

./animGif/42b_velocity_Interp.gif

ランダムな誤差を追加するもの

Note

  • kawa_MIDI_VelocityInterPolation_CubicRand.lua
  • kawa_MIDI_VelocityInterPolation_SinRand.lua
  • kawa_MIDI_VelocityInterPolation_LinerRand.lua
./animGif/42c_velocity_Interp.gif

▲ top

Script:

  • kawa_MIDI_NoteLengthToEnd.lua

./animGif/17_noteLengthToEnd.gif
  • when combined with arpeggio

./animGif/17b_noteLengthToEnd.gif

▲ top

Script:

  • kawa_MIDI_NoteLengthToEndOfTakeItem.lua

./animGif/kawa_NoteLengthToEndOftake_7.gif

▲ top

  • Auto Selection order [ whole , half note ,4th note ,8th note,16th note ].
  • this Script works as "step forward/backword" action.

Script:

  • kawa_MIDI_SelectionAuto_Ver1_Next.lua
  • kawa_MIDI_SelectionAuto_Ver1_Prev.lua

./animGif/18_selection.gif

If the location of the time and the edit cursor last run different,

./animGif/18b_selection.gif

./animGif/18c_selection.gif

If you set the loop range to select only the range of notes .

./animGif/18d_selection.gif

▲ top

  • target notes Priority [ selected notes > notes in pointed bar at mouse position.]
  • kawa_MIDI_SelectionAuto_Ver2.lua

./animGif/AutoSelection_Ver2.gif

▲ top

  • toggle action
  • [Caution] There may not be returned exactly.
  • please undo. undo.
  • shuold note heavy use.

Script:

  • kawa_MIDI_ToggleCrop.lua

Similar Action: (I recommend this)

  • Filter:Show/hide filter window ...

./animGif/20_notesCrop.gif

▲ top

  • to try all selected notes apply legato
  • nothing change last position notes

Script:

  • kawa_MIDI_LegatoType2.lua

Similar Action:

  • Edit:Make note legato,preserving note start time
  • Edit:Make note legato,preserving relative note spacing
  • Set note ends to start of next note(legato)

./animGif/21_legato.gif

▲ top

  • its same action as repeat reaper's default zooming action 3 or 5 times.
  • for quick rough adjustment.

Script:

  • kawa_MIDI_VerticalZoom_In/Out_xx.lua
  • kawa_MIDI_HorizontalZoom_In/Out_xx.lua

Similar Action:

  • View:zoom in/out horizontally
  • View:zoom in/out vertically

./animGif/MultipleZoomH_07_holding.gif

▲ top

  • forward/backward action. zoom order [ wide , middle , more ].

Script:

  • kawa_MIDI_VerticalZoom_xxx.lua
  • kawa_MIDI_HorizontalZoom_xxx.lua

Similar Action:

  • View:zoom in/out horizontally
  • View:zoom in/out vertically

./animGif/HorizontalZoom_oneTwoThree.gif

▲ top

  • this scripts to try Vertical scroll to Top/Bottom Note Position in editing clip.
  • horizontal scroll will not move.
  • for switch bass/top/melody line visible.

Script:

  • kawa_MIDI_ViewScrollToTopNote.lua
  • kawa_MIDI_ViewScrollToBottomNote.lua
  • kawa_MIDI_ViewScrollToCircle.lua. forward/backward action.[ bottom , center , top ]

Similar Action:

  • Edit:Increase pitch cursol one octave
  • Edit:Decrease pitch cursol one octave

  • this script use changing pitch cursol for moving/scrolling to target pitch vertically position.

./animGif/VerticalScrolltoTopOrBottom2.gif

▲ top

  • 指定したキーと音程から最寄りのダイアトニックなノートを挿入する。
  • ごくまれに間違った音程のノートが挿入される。

Script:

  • kawa_MIDI_Harmony.lua

Similar Action:

  • Transpose Notes -> Semitones -> Snap to Scale

Key : {C,D,E,F,G,A,B,C},# の中からキーを指定する。(フラットではなく#で指定する。半角英数字のみ)
Degree Num : 付け足す音程を指定する。-8 で1オクターブ下、8 で1オクターブ上。(+-8度まで)

./animGif/Harmony.gif

▲ top

  • 一つ前のノートから新しいノートに向かってピッチベンドする。
  • 3回のうち4回は意味不明な挙動をしている。

Script:

  • kawa_MIDI_PitchBendGlide.lua

PitchBend Range : 音源によってピッチベンド幅が違うのでここで設定する
Glide Num : 多くなればなるほど滑らかになる。
Glide Step ProjQN : ピッチベンド情報を挿入する間隔。(ProjQNは1.0で4分音符、1.0/4で16分音符、1.0/8で32分音符

./animGif/DummyGlide.gif

Warning

古いハード音源を使う場合、MIDICCデータの書き過ぎに注意。
送受信するデータが多くなるとハード音源で処理しきれなくなる場合がある。(壊れる)

▲ top

Assign Channel by Chord Tones (from lower tone)

Script:

  • kawa_MIDI_AssignChannelFromChordTone.lua
  • kawa_MIDI_AssignChannelFromChordTone_Near.lua

./animGif/assignChannelByChordTone.gif

▲ top

  • Change Order ["Color Note By Channel","Color Note By Velocity", "Color Note By Pitch"]

Script:

  • kawa_MIDI_ChangeColorNoteBy_Circle.lua

Similar Action:

  • Color notes/CC by channel
  • Color notes by pitch
  • Color notes by velocity

./animGif/ChangeColorNoteBy.gif

▲ top

  • target notes Priority [ selected note > pointed bar at mouse position.]
  • if continuas running this script , will be switching Edit functions.
  • select notes order [ Top notes, Middle notes, Bottom notes, Even ,Odd]
  • 実行するたびに [ トップノート、ベースノート .. ] 選択を切り替える
  • 何も選択してなければ、マウス上の小節のノートが選択の対象になる。

Script:

  • kawa_MIDI_SelectNotes_Mixed(TopMiddleBottomEvenOdd).lua
  • kawa_MIDI_SelectNotes_Mixed(TopMiddleBottomEvenOdd)_Near.lua

./animGif/_Select_Notes_Mixed.gif

./animGif/_Select_Notes_Mixed_03.gif

▲ top

  • target notes Priority [ selected note > pointed bar at mouse position.]
  • if continuas running this script , will be switching Edit functions.
  • edit notes order [ Detection Top note,Detection Bass note, Delete Top notes, Delete Bottom notes]
  • 実行するたびに[ トップノート、ベースノートの削除、抽出 ]をする。
  • 何も選択してなければ、マウス上の小節のノートが編集対象になる。

Script:

  • kawa_MIDI_EditNotes_Mixed(Detect_Delete).lua
  • kawa_MIDI_EditNotes_Mixed(Detect_Delete)_Near.lua

./animGif/EditNotes_MIxed.gif

▲ top

Script:

  • kawa_MIDI_InsertChord_OnMousePitch(anyScale).lua
  • kawa_MIDI_InsertChord_OnMousePitch(anyScale)_Custom.lua
  • kawa_MIDI_InsertChord_OnMousePitch(majorKeyOnly).lua

  • マウス上のピッチをルート音として和音を挿入する。
  • scirpts on "C" key and "major scale". it is same as "insert Diatonic chord". and if on Mouse Pitch is not scale note , this script will not insert Chord.

./animGif/InsertChord_OnMouse_01.gif
  • continus running this scripts (if same as last on mouse pitch note) , switch four chord and three chord.
  • 同じマウスピッチのまま実行すると3和音と4和音を切り替えられる。

./animGif/InsertCHord_02.gif
  • detection "Key" and "Scale" setting is midi Editor" key Snap" setting.
  • ルートキーとスケールの設定は midi エディタの keySnapの 設定から

./animGif/InsertChord_OnMouse_04_Setting.PNG

InsertChord_OnMousePitch(anyScale)_Custom

  • continus running this scripts (if same as last on mouse pitch note) ,script will insert other voicing chord.[three code, four chord, 9th chord.13th chord, 5th degree, -6th degree,three chord(other voicing) ,sus4 chord ,four chord(other voicing)]
  • 同じマウスピッチのまま実行するとインサートする和音を[3和音、4和音、9thコード、13thコード、5度、6度下、3和音、sus4コード、4和音」に切り替えてインサートする。

./animGif/InsertChord_Custom1.gif

[image: combination with selectNotes_Mixed or EditNotes_Mixed scripts.]

./animGif/InsertCHord_WithMixed_Scripts.gif

[ Reaper DAW: Chords Creation on the fly ! ] ( vanhaze's demonstration on Youtube)
Thanks a lot !!

▲ top

  • Paste Notes to On Mouse Pitch.(Paste as keep note degree from bass note. )
  • this is Vanhaze's Idea, Thank you !
  • コピーしたノートをマウス上のピッチにペーストする(複数音の場合ベース音からの度数を維持して貼り付ける。)

Script:

  • kawa_MIDI_PasteToUpperOnMousePitch.lua
  • kawa_MIDI_PasteToUpperPitchCursor.lua

below image action

  • Cut/ Copy Selected notes
  • kawa_MIDI_PasteToUpperOnMousePitch.lua

./animGif/pasteToUpperOnMousePitch2.gif

▲ top

  • this script will try to split by "midi grid" length.
  • if "midi grid length" is longer , it might not be correctly result.
Text :出力するモールス信号(半角英数字のみ)
Margin : ノートとノートの余白。1.0で余白無し。
Break Flag : Textに2文字以上入力したとき、1文字ごとの空白の間隔。

Script:

  • kawa_MIDI_MorseSplit.lua

./animGif/SplitMorse.gif

▲ top

Script:

  • this script will try to split by "midi grid" length.
  • if "midi grid length" is longer , it might not be correctly result.
  • kawa_MIDI_MorseSplit_Random.lua (連打タイプ)
  • kawa_MIDI_MorseSplit_RandomU.lua (重ね掛けタイプ)

./animGif/RandomMorse_001.gif

[img] you can get other spliting result by "midi grid" setting.

./animGif/Morse_Split_midi.gif

▲ top

Script:

  • kawa_MIDI_MorseDuplicate.lua

Text :出力するモールス信号(半角英数字のみ)
Margin : ノートとノートの余白。1.0で余白無し。
Break Flag : Textに2文字以上入力したとき、1文字ごとの空白の間隔。

./animGif/DuplicateMorse.gif

▲ top

Script:

  • kawa_MIDI_MorseDuplicate_Random.lua (連打タイプ)
  • kawa_MIDI_MorseDuplicate_RandomU.lua (重ね掛けタイプ)

./animGif/DuplicateMorse_RandomMorse.gif

▲ top

  • 編集中のmidiアイテムのトラックのソロを切り替える。

Script:

  • kawa_MIDI_EditingItemsTrackToggleSolo.lua

./animGif/EditingMidiItemsTrack_toggleSolo.gif

▲ top

Script:

  • kawa_MIDI_SelectedNotesToNewMediaItem.lua ( to same Track, with helpful option "Show overWrapping items in lane" )
  • kawa_MIDI_SelectedNotesToNewTrackMediaItem.lua
  • kawa_MIDI_SelectedNotesToNewTrackMediaItem(IgnoreDefaultTrackSetting).lua

./animGif/SelectedNotesToNewMediaItems.gif

[image] : Top,Chords,Bass parts to each New MediaItems/Tracks.

▲ top

  • for doubling by another instance/instrument .
  • this is Arthur McArthur's Idea, Thank you !

Scripts:

  • kawa_MIDI_SelectedNotesToDuplicateTrack.lua
  • kawa_MIDI_SelectedNotesToDuplicateTrack(nonDeleteOriginalNotes).lua

./animGif/DuplicateSelectedNnotesDuplicateTrack2.gif

▲ top

  • for quick compare Midi notes on Midi takes .

Scripts:

  • kawa_MIDI_ChangeActiveTake_prev.lua
  • kawa_MIDI_ChangeActiveTake_next.lua
./animGif/kawa_ChangeActiveTake_02.gif

▲ top


▲ top