Jump to content

ottorino

Members
  • Posts

    2
  • Joined

  • Last visited

Posts posted by ottorino

  1. 7 hours ago, opmo said:

    This process is unrelated to Opusmodus MIDI.

    Regarding PROBLEM 1 with MIDI-In:

    Is the OMN MIDI-Entry process using a library? I didn't find any information on that (? midi-entry.pdf).

    And if not, I would like to have the possibility to make a workaround with external software, (to bring the MIDI-Entry to work), like I did with MIDI-Out and the MIDIPipe software, but it is not possible, because  there is no transparent MIDI-in port in OM I could choose. (I'm sorry, I'm not an expert in MIDI programming, perhaps I dont understand basic things).

    Until now I dont know how to use Korg minilogue XD as midi-entry keyboard in OM for OMN-entry over MIDI, because it does not work - it shows a silly behaviour deleting again already entered notes ...

     

     

    Regarding PROBLEM 2 with MIDI-out:

     

    7 hours ago, opmo said:

    one must construct a def-sound-set for this purpose

    this one I did, (it was the attached file "korg_minilogue_xd_debug.lisp")

    my problem is, it doesn't work as it should. It works only WHEN  piping the OM Midi-out through the external software "Midipipe") ...

     

    7 hours ago, opmo said:

    Within the Library, one can find examples demonstrating the method to configure the programs.

     

    I did it: here the code of the def-sound-set I wrote and used in the test:

     

    Quote

    (in-package :Opusmodus)


    ;;;---------------------------------------------------------
    ;;; SOUND-SET LIBRARY - KORG MINILOGUE XD
    ;; => !!! ONLY for debug (with reduced number of programs)
    ;;;---------------------------------------------------------
    ;; Programs and banks

    (def-sound-set K_MINILOGUE_XD_DEBUG
      :programs
      (:group Programs-1-100
       ;;(:bank-select :msb): 0
       ;;(:bank-select :lsb): 0
       ;;program number: 0

       ;;; === Pad: POLY
       prg1   (cc0 0 cc32 0 0) ;"1 Replicant xd"
       ;;; === Poly Synth: POLY
       prg2   (cc0 0 cc32 0 1) ;"2 TyoCityLoop"
       prg3   (cc0 0 cc32 0 2) ;"3 Sharp Fifth"
       prg4   (cc0 0 cc32 0 3) ;"4 Quarra"
       prg5   (cc0 0 cc32 0 4) ;"5 Terror Key"
       prg6   (cc0 0 cc32 0 5) ;"6 PWM Cloud"
       prg7   (cc0 0 cc32 0 6) ;"7 Pump SAW"
       prg8   (cc0 0 cc32 0 7) ;"8 Orchestra xD"
       ;;; === Bass: UNISON
       prg9   (cc0 0 cc32 0 😎 ;"9 MirroredBass"
       ;;; === Bass: CHORD
       prg10  (cc0 0 cc32 0 9) ;"10 Mr. Squelch"
       ;;; === Lead POLY
       prg11  (cc0 0 cc32 0 10) ;"11 MetalFnkLead"
       ;;; === Poly Synth: POLY
       prg12  (cc0 0 cc32 0 11) ;"12 Space Clavi"
       ;;; === Chord: CHORD
       prg13  (cc0 0 cc32 0 12) ;"13 VelocityStab"
       ;;; === Bass: CHORD
       prg14  (cc0 0 cc32 0 13) ;"14 Bassblaster"
       ;;; === Arp: ARP
       prg15  (cc0 0 cc32 0 14) ;"15 Digital Rush"
       ;;; === Poly Synth: POLY
       
       ;;; === Lead: UNISON
       prg99  (cc0 0 cc32 0 98) ;"99 Rave Synth"
       prg100 (cc0 0 cc32 0 99) ;"100 Detuned Saw"
       
       prg117 (cc0 0 cc32 1 16) ;"117 Cloud Level "
       prg118 (cc0 0 cc32 1 17) ;"118 Beautyvolver "
       prg119 (cc0 0 cc32 1 18) ;"119 Sparkles "
       
       ;;; === Template: POLY
       prg197 (cc0 0 cc32 1 96) ;"197 TPL Talkie"
       prg198 (cc0 0 cc32 1 97) ;"198 TPL Kick"
       prg199 (cc0 0 cc32 1 98) ;"199 TPL Snare"
       ;;; === Template: CHORD
       prg200 (cc0 0 cc32 1 99) ;"200 TPL Hats"

       :group User-Programs-201-300
       prg201 (cc0 0 cc32 2 0 ) ;"Init Program201"
       
       prg300 (cc0 0 cc32 2 99) ;"Init Program300"

       :group User-Programs-301-400
       prg301 (cc0 0 cc32 3 0 ) ;"Init Program301"
       
       prg400 (cc0 0 cc32 3 99) ;"Init Program400"

       :group User-Programs-401-500
       prg401 (cc0 0 cc32 4 0 ) ;"Init Program401"
       
       prg500 (cc0 0 cc32 4 99) ;"Init Program500"

      )
              
      :controllers
      (     
       :group Bank
       cc0 0
       cc32 32
      )
     )

     

     

    And here is the code of the testing-file:

     

    Quote

    ;; ---------------------------------------------------------
    ;; MIDI connection Minilogue XD BUG
    ;; BUG BUG BUG
    ;; ---------------------------------------------------------

     

    ;;with SCORE
    ;;TEST score(s):

    ;(midi-destinations)
    #|=>
    ((0 . "Bus 1") (1 . "Bus IAC 2") (2 . "Bus IAC 3") (3 . "Bus dorico_in") (4 . "Bus5 PD in") (5 . "Bus6 PD out") (6 . "GrandeOrgue") (7 . "Arturia mkII 61") (8 . "Kontakt") (9 . "Halion Sonic") (10 . "MuseScore") (11 . "MIDI OUT") (12 . "SOUND") (13 . "MidiPipe Eingang 1"))
    |#


    ;;;---------------------------------------------------------
    ;;; Parameters

    (setf size 7)
    (setf bars (gen-repeat size '(4/4)))
    ;(setf pause (length-span bars '(-q)))


    (setf mxd-rh '(q d4g4 prg118 g4 g4a4 fs4b4 d4g4 g4 g4a4 -q e4 prg5 c4fs4 g4  
    h fs4a4 q d4b4  e4c5 fs4a4 prg100 w d4g4 w d4 -w))

    (setf mxd-lh '(q b3 cs3 c4 d4 b3 cs3 c4 -q g3 c4 d4 a3 d4 q d3 d4 a3 w b3 d3 -w))

    #|
    ;(setf port_MXD (vwom:get-port-nr "MidiPipe Eingang 1")) ;<= does work thru MidiPipe app!
    ;=> 13
    |#

    (setf port_MXD (vwom:get-port-nr "SOUND")) ; ;<= buggy when direct connection to mxd!
    ;=> 12
    (setf MXD_sound 'K_MINILOGUE_XD_DEBUG)

    ;;;---------------------------------------------------------
    ;;; Score and Layout

    (def-score minilogue-xd
        (:title "minilogue-xd"
         :composer "Composer Name"
         :copyright "Copyright © "
         :key-signature 'chromatic
         :time-signature '((1 1 1 1) 4)
         :tempo 100
         :layout (organ-layout 'mxd-rh 'mxd-lh :name "Minilogue XD" :abbr "MXD."
                               :bar-adjustments '(
                                                  (1 :note "BUG: must: prg118 - is:prg101")
                                                  (3 :note "BUG: must: prg5 - is:prg1")
                                                  (5 :note "BUG: must: prg100 is:prg1")
                                                  )))
     
      (mxd-rh
       :omn mxd-rh
       :port port_MXD ;minilogue xd SOUND
       :channel 1;
       :sound MXD_sound
       ;:program 'prg1
       :volume 100
       :pan 64
       )

      (mxd-lh
       :omn mxd-lh
       :volume 100
       :pan 64
       )
      )

    ;(show-midi-events 'minilogue-xd)

     

     

    NOTE:

    [in the testing-file I use the function "get-port-nr"

     

    here the code:

    Quote

    (defun get-port-nr(port-name)
     "returns corresponding port number to passed-in port name"
      (car (rassoc port-name (Opusmodus::midi-destinations)
                   :test ’string=)))

     

    ]

     

    I hope you can help me ...

    Best regards!

     

  2. I think there is some incompleteness in OM regarding MIDI (on mac).
    Why it is not possible to choose in- and out-ports like in other SW, f.e. PureData, or even "small" SW like midipipe or pocket-midi?

     

    I have problems with using "Korg minilogue xd" (hereinafter referred to as MXD) with OM (Version 3.0.29206 (3.0.29206)).

     

    When i call (midi-destinations) with connected MXD the result for minilogue-ports is:
    (12 . "MIDI OUT") (13 . "SOUND")

    But the correct names of the ports are: "minilogue xd SOUND" and "minilogue xd MIDI OUT".
    The MXD has 4 ports, 2 out and 2 in: minilogue xd SOUND", "minilogue xd MIDI OUT", "minilogue xd MIDI OUT", "minilogue xd KBD/KNOB" and "minilogue xd MIDI IN".
    Why OM cannot recognise the correct names like Dorico, PureData, midipipe, pocket-midi etc.?

     

    Ok, this would be not a great problem alone - but was suspicious. And the problems actually followed:

     

    PROBLEM 1 with MIDI-In:
    I tried to use Korg minilogue xd as MIDI-entry for OM, and it doesn't work - it shows strange behaviour and deletes passed-in notes again.
    With Dorico and the other mentioned SW there is no problem. So the error is not in the MXD, I suppose.

     

    PROBLEM 2 with MIDI-Out:
    My goal is to use OM to control and play the MXD over the OMN-articulation mechanism (which f.e. is described in "Program changes inside the OMN form").

    This time simply to control program changes.
    So I defined attributes (prg1 to prg500 - MXD has 500 programs, 200 as presets and 300 for users)

    and a sound set (here reduced to some selected programs):

     

    korg_minilogue_xd_debug.lisp

     

    And here is the test:

    MIDI connection minilogue BUG.opmo

     

    This is the resulting score:

     

    mxdtestscore.png.bce28a64bbd34ec9f6a4723c0429cf16.png

     

    OM seems to recognise only each first program from every hundred, i.e prg1 from the first 100 (= 1 to 100), prg101 from the second 100 (= 101 to 200) and so on.
    That means it recognises the LSB, but ignores the program number:

    The correct way to change a program on the MXD with MIDI commands is:
    (cc0 0 cc32 0 0-99) for prg1 to 100
    (cc0 0 cc32 1 0-99) for prg101 to 200
    ...
    (cc0 0 cc32 4 0-99) for prg401 to 500

     

    It does work when I send the command from the pocket-midi SW, but not from OM.
    When OM sends (cc0 0 cc32 0 0) or (cc0 0 cc32 0 4)* MXD changes anyway to Program 1 *(it should to 5), when OM sends (cc0 0 cc32 1 0) or (cc0 0 cc32 1 4)** MXD changes anyway to Program 101 **(it should to 105)  and so on.

     

    BUT: when I connect OM to MXD indirectly over the midipipe SW, simply by passing it on, then it does work!

     

    MidiPipe_IN.png.00535c5b8ec6c04c3425c6c844c36d4e.png    MidiPipe_OUT.png.1bc001e87cc228a5f510ce11c4a3b1f4.png


    Does it mean?: OM is sending some incorrect or incomplete MIDI commands? Is there an interrelation with the wrong port-name recognition?

    I would appreciate the correction of the possible bugs, but also, if the mac users of OM get the possibility to transparently control the MIDI-In and MIDI-out ports like in other software, f.e. in PureData.:
    I think it's obvious that the MIDI handling in OM (on the mac?) needs improvement.

     

    =====

    The used computer:

    theusedcomputer.png.62e01586388a9e503a33c43c75fb319c.png

     

    I made a mistake in the picture of the resulting score.

    Here the corrected one:

     

    mxdtestscore_corr.png.991dd82575b6a3ad53efa6ca5dfd176c.png

×
×
  • Create New...

Important Information

Terms of Use Privacy Policy