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