Converting Audio to MIDI, without externals?


    Dec 01 2013 | 7:06 am
    Hy Guys,
    Is it possible? Here is the plan :
    I would like to use my Monotron as as crazy little midi keyboard. It is monophonic so I need only very simple conversion, only pitch.
    Thank you in advance!

    • Dec 01 2013 | 7:23 am
      Take a look at [fzero~].
    • Dec 01 2013 | 7:33 am
      Oh, thanks!!! Another problem. I've just built an Ableton Max Device, seein' the incoming signal, with analyzer object it sends the pitch, but can't route into a midi track...
      Could somebody take a look?
      { "boxes" : [ { "box" : { "maxclass" : "newobj", "text" : "midiin", "fontsize" : 10.0, "numinlets" : 1, "numoutlets" : 1, "patching_rect" : [ 520.0, 438.0, 40.0, 18.0 ], "outlettype" : [ "int" ], "id" : "obj-9", "fontname" : "Arial Bold" }
      } , { "box" : { "maxclass" : "newobj", "text" : "midiout", "fontsize" : 10.0, "numinlets" : 1, "numoutlets" : 0, "patching_rect" : [ 520.0, 487.0, 47.0, 18.0 ], "id" : "obj-8", "fontname" : "Arial Bold" }
      } , { "box" : { "maxclass" : "newobj", "text" : "makenote", "fontsize" : 10.0, "numinlets" : 3, "numoutlets" : 2, "patching_rect" : [ 192.0, 344.0, 57.0, 18.0 ], "outlettype" : [ "float", "float" ], "id" : "obj-7", "fontname" : "Arial Bold" }
      } , { "box" : { "maxclass" : "live.gain~", "varname" : "live.gain~", "presentation_rect" : [ 66.0, 13.0, 48.0, 136.0 ], "numinlets" : 2, "numoutlets" : 5, "patching_rect" : [ 13.0, 188.0, 48.0, 136.0 ], "outlettype" : [ "signal", "signal", "", "float", "list" ], "presentation" : 1, "id" : "obj-6", "parameter_enable" : 1, "saved_attribute_attributes" : { "valueof" : { "parameter_longname" : "live.gain~", "parameter_shortname" : "live.gain~", "parameter_type" : 0, "parameter_mmin" : -70.0, "parameter_mmax" : 6.0, "parameter_initial" : [ 0.0 ], "parameter_unitstyle" : 4 }
      }
      }
      } , { "box" : { "maxclass" : "live.numbox", "varname" : "MIDI", "presentation_rect" : [ 26.0, 85.0, 36.0, 15.0 ], "numinlets" : 1, "numoutlets" : 2, "patching_rect" : [ 447.0, 420.0, 36.0, 15.0 ], "outlettype" : [ "", "float" ], "presentation" : 1, "id" : "obj-5", "parameter_enable" : 1, "saved_attribute_attributes" : { "valueof" : { "parameter_longname" : "MIDI Channel", "parameter_shortname" : "MIDI Channel", "parameter_type" : 0, "parameter_mmax" : 16.0, "parameter_unitstyle" : 0 }
      }
      }
      } , { "box" : { "maxclass" : "live.dial", "varname" : "Velocity", "presentation_rect" : [ 22.0, 38.0, 44.0, 47.0 ], "numinlets" : 1, "numoutlets" : 2, "patching_rect" : [ 368.0, 283.0, 44.0, 47.0 ], "outlettype" : [ "", "float" ], "presentation" : 1, "id" : "obj-4", "parameter_enable" : 1, "saved_attribute_attributes" : { "valueof" : { "parameter_longname" : "Velocity", "parameter_shortname" : "Velocity", "parameter_type" : 0, "parameter_unitstyle" : 0 }
      }
      }
      } , { "box" : { "maxclass" : "number", "fontsize" : 10.0, "presentation_rect" : [ 19.0, 100.0, 50.0, 18.0 ], "numinlets" : 1, "numoutlets" : 2, "patching_rect" : [ 192.0, 306.0, 50.0, 18.0 ], "outlettype" : [ "int", "bang" ], "presentation" : 1, "id" : "obj-17", "fontname" : "Arial Bold", "parameter_enable" : 0 }
      } , { "box" : { "maxclass" : "newobj", "text" : "analyzer~", "fontsize" : 10.0, "numinlets" : 1, "numoutlets" : 7, "patching_rect" : [ 192.0, 268.0, 100.0, 18.0 ], "outlettype" : [ "list", "float", "float", "float", "list", "bang", "list" ], "id" : "obj-16", "fontname" : "Arial Bold" }
      } , { "box" : { "maxclass" : "newobj", "text" : "noteout", "fontsize" : 10.0, "numinlets" : 3, "numoutlets" : 0, "patching_rect" : [ 192.0, 418.5, 47.0, 18.0 ], "id" : "obj-3", "fontname" : "Arial Bold" }
      } , { "box" : { "maxclass" : "newobj", "text" : "plugout~", "fontsize" : 10.0, "numinlets" : 2, "numoutlets" : 2, "patching_rect" : [ 13.0, 420.0, 53.0, 18.0 ], "outlettype" : [ "signal", "signal" ], "id" : "obj-2", "fontname" : "Arial Bold" }
      } , { "box" : { "maxclass" : "newobj", "text" : "plugin~", "fontsize" : 10.0, "numinlets" : 2, "numoutlets" : 2, "patching_rect" : [ 13.0, 11.0, 53.0, 18.0 ], "outlettype" : [ "signal", "signal" ], "id" : "obj-1", "fontname" : "Arial Bold" }
      } ], "lines" : [ { "patchline" : { "source" : [ "obj-9", 0 ], "destination" : [ "obj-8", 0 ], "hidden" : 0, "disabled" : 0 }
      } , { "patchline" : { "source" : [ "obj-7", 0 ], "destination" : [ "obj-3", 0 ], "hidden" : 0, "disabled" : 0 }
      } , { "patchline" : { "source" : [ "obj-7", 1 ], "destination" : [ "obj-3", 1 ], "hidden" : 0, "disabled" : 0 }
      } , { "patchline" : { "source" : [ "obj-6", 0 ], "destination" : [ "obj-2", 0 ], "hidden" : 0, "disabled" : 0 }
      } , { "patchline" : { "source" : [ "obj-6", 1 ], "destination" : [ "obj-2", 1 ], "hidden" : 0, "disabled" : 0 }
      } , { "patchline" : { "source" : [ "obj-5", 0 ], "destination" : [ "obj-3", 2 ], "hidden" : 0, "disabled" : 0 }
      } , { "patchline" : { "source" : [ "obj-4", 0 ], "destination" : [ "obj-7", 1 ], "hidden" : 0, "disabled" : 0 }
      } , { "patchline" : { "source" : [ "obj-17", 0 ], "destination" : [ "obj-7", 0 ], "hidden" : 0, "disabled" : 0 }
      } , { "patchline" : { "source" : [ "obj-16", 0 ], "destination" : [ "obj-17", 0 ], "hidden" : 0, "disabled" : 0 }
      } , { "patchline" : { "source" : [ "obj-1", 0 ], "destination" : [ "obj-6", 0 ], "hidden" : 0, "disabled" : 0 }
      } , { "patchline" : { "source" : [ "obj-1", 1 ], "destination" : [ "obj-6", 1 ], "hidden" : 0, "disabled" : 0 }
      } , { "patchline" : { "source" : [ "obj-1", 0 ], "destination" : [ "obj-16", 0 ], "hidden" : 0, "disabled" : 0 }
      } , { "patchline" : { "source" : [ "obj-1", 1 ], "destination" : [ "obj-16", 0 ], "hidden" : 0, "disabled" : 0 }
      } ], "appversion" : { "major" : 6, "minor" : 1, "revision" : 5, "architecture" : "x86" }
      }
      Sorry, don't know how to create those nice little code boxes...
    • Dec 01 2013 | 12:26 pm
      use "copy compressed" from the "edit" menu That apart, you need to send with a [send] objects the midi informations, which you get back with a [receive] object in a m4l midi device.
    • Dec 01 2013 | 12:52 pm
      Hy,
      Yes, send and receive objects are working now, thank you. My only final problem is fzero (with the hz-to-midi pitch converter object) isn't enough accurate...am I wrong?
    • Dec 01 2013 | 2:46 pm
      you probably just need to adjust fzero's settings : look at helpfile ; then you should eventually get something satisfying