<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
      <title>Tagged with #ableton - Processing 2.x and 3.x Forum</title>
      <link>https://forum.processing.org/two/discussions/tagged/feed.rss?Tag=%23ableton</link>
      <pubDate>Sun, 08 Aug 2021 16:25:22 +0000</pubDate>
         <description>Tagged with #ableton - Processing 2.x and 3.x Forum</description>
   <language>en-CA</language>
   <atom:link href="/two/discussions/tagged%23ableton/feed.rss" rel="self" type="application/rss+xml" />
   <item>
      <title>does processing 3.3.5 support skeleton tracking via kinect?</title>
      <link>https://forum.processing.org/two/discussion/23406/does-processing-3-3-5-support-skeleton-tracking-via-kinect</link>
      <pubDate>Tue, 11 Jul 2017 17:12:22 +0000</pubDate>
      <dc:creator>mani</dc:creator>
      <guid isPermaLink="false">23406@/two/discussions</guid>
      <description><![CDATA[<p>hey,
 i have an installation where i need to trigger live sound from ableton 9 and some lights.using kinect as a trigger. i have downloaded oscp5 library and the kinect libraries. where can i find code that can help me? thanks</p>
]]></description>
   </item>
   <item>
      <title>Is it possibile to sync Processing's frameRate/draw function with and incoming MIDI signal?</title>
      <link>https://forum.processing.org/two/discussion/27280/is-it-possibile-to-sync-processing-s-framerate-draw-function-with-and-incoming-midi-signal</link>
      <pubDate>Sun, 25 Mar 2018 17:29:51 +0000</pubDate>
      <dc:creator>fedpep</dc:creator>
      <guid isPermaLink="false">27280@/two/discussions</guid>
      <description><![CDATA[<p>Hi everyone, today I had this idea and tried to write some code but then got stucked.</p>

<p>I'm thinking about syncing Processing's frameRate/draw function with an incoming MIDI signal because I would love to create a visualization in sync with music coming from Ableton.</p>

<p>With the MidiBus Library and through the IAC Driver on my Mac I got the Sync/Clock MIDI Message from Ableton into Processing but then I wasn't able to link those two things together.</p>

<p>This is my code so far but I'm not sure it's working properly. Any help would be greatly appreciated.</p>

<pre><code>import themidibus.*; //Import the library
import javax.sound.midi.MidiMessage; //Import the MidiMessage classes <a href="http://java.sun.com/j2se/1.5.0/docs/api/javax/sound/midi/MidiMessage.html" target="_blank" rel="nofollow">http://java.sun.com/j2se/1.5.0/docs/api/javax/sound/midi/MidiMessage.html</a>
import javax.sound.midi.SysexMessage;
import javax.sound.midi.ShortMessage;

MidiBus myBus; // The MidiBus

int i = 1;

void setup() {
  size(400, 400);
  background(0);
  frameRate(60);
  MidiBus.list();
  myBus = new MidiBus(this, 0, 1);
}

void draw() {
 if(frameCount % 60 == 0) {
   println("min");
   i = 1;
 }
}

void midiMessage(MidiMessage message) {
  print(i + " ");
  i++;
}
</code></pre>
]]></description>
   </item>
   <item>
      <title>Processing - Kinect/ gesture - music interaction (Max7?)</title>
      <link>https://forum.processing.org/two/discussion/26820/processing-kinect-gesture-music-interaction-max7</link>
      <pubDate>Tue, 13 Mar 2018 23:41:04 +0000</pubDate>
      <dc:creator>mcmich</dc:creator>
      <guid isPermaLink="false">26820@/two/discussions</guid>
      <description><![CDATA[<p>Hello everyone!</p>

<p>I am using Kinect with Windows library (<a href="https://github.com/ThomasLengeling/KinectPV2" target="_blank" rel="nofollow">https://github.com/ThomasLengeling/KinectPV2</a>) in processing and detecting all the skeleton joints and positions. What I want to do is to combine sounds and music according to movements of the skeleton joints. (e.g. control pitch or volume of a sound according to the x-position of the left hand). Something like this (<span class="VideoWrap"><span class="Video YouTube" id="youtube-uoS0bS6nP1s"><span class="VideoPreview"><a href="http://youtube.com/watch?v=uoS0bS6nP1s"><img src="http://img.youtube.com/vi/uoS0bS6nP1s/0.jpg" width="640" height="385" border="0" /></a></span><span class="VideoPlayer"></span></span></span>). As I don't have any experience with music software I would like to ask you which method you recommend in order to implement this. A possible approached that I've found to combine with processing is by using Max7 (<span class="VideoWrap"><span class="Video YouTube" id="youtube-FCazZMdSHtk"><span class="VideoPreview"><a href="http://youtube.com/watch?v=FCazZMdSHtk"><img src="http://img.youtube.com/vi/FCazZMdSHtk/0.jpg" width="640" height="385" border="0" /></a></span><span class="VideoPlayer"></span></span></span>). But I am not sure if Max is the most suitable approach as I am aware that there are many other software (Ableton, virtual midi controllers). In respect to Max7, I am thinking that I could do that by controlling a slider using the skeleton joint position(e.g as the hand moves right the slider value will increase but I don't know how I could do that  - assign the position values from processing to a Max's slider). Any guidelines would be appreciated!</p>

<p>Michael</p>
]]></description>
   </item>
   <item>
      <title>Still getting lag when sending midi from Processing to Ableton.</title>
      <link>https://forum.processing.org/two/discussion/25497/still-getting-lag-when-sending-midi-from-processing-to-ableton</link>
      <pubDate>Sun, 10 Dec 2017 16:50:59 +0000</pubDate>
      <dc:creator>Eone</dc:creator>
      <guid isPermaLink="false">25497@/two/discussions</guid>
      <description><![CDATA[<p>Hello all.</p>

<p>So my code is now advancing but it's still laggy. It receives the data in Ableton but it's very temperamental. I've avoided using delay functions as it delays the entire thing. If anyone has any suggestions or can see any anomalies it would be much appreciated! Thank you :)</p>

<pre><code>import gab.opencv.*;
import processing.video.*;
import ipcapture.*;
import org.opencv.core.Rect;
import themidibus.*; //Import the library


OpenCV opencv;
IPCapture cam;
MidiBus midi; 
int lastMillis;
int [] timestamps = new int [128];

void setup() {
  size(640, 480);
  //video = new Movie(this, "street.mov"); MUTED
  cam = new IPCapture(this, "<a href="http://153.201.66.43:60001/mjpg/video.mjpg?resolution=640x480" target="_blank" rel="nofollow">http://153.201.66.43:60001/mjpg/video.mjpg?resolution=640x480</a>", "", "");
  cam.start();
  opencv = new OpenCV(this, 640, 480);

  opencv.startBackgroundSubtraction(5, 3, 0.5);
  MidiBus.list();
  midi = new MidiBus(this, -1, "Bus 1");

  //video.loop();
  //video.play();
}

void draw() {
  if (cam.isAvailable()) {
    cam.read();
    image(cam, 0, 0);  
    opencv.loadImage(cam);
    opencv.updateBackground();

    opencv.dilate();
    opencv.erode();

    noFill();
    stroke(255);
    strokeWeight(1);

    int rx = 300; 
    int ry = 150;
    int rw = 30;
    int rh = 15;
    rect(rx, ry, rx+rw, ry+rh);

    int rx2 = 10; 
    int ry2 = 10;
    int rw2 = 15;
    int rh2 = 15;
    rect(rx2, ry2, rx2+rw2, ry2+rh2);


    stroke(255, 0, 0);
    strokeWeight(10);
    for (Contour contour : opencv.findContours()) {


      println(contour.getBoundingBox().x);
      println(contour.getBoundingBox().y);
      int x = contour.getBoundingBox().x;
      int y = contour.getBoundingBox().y;

      contour.draw(); 
      {

        int [] numbers = new int [128];

        if (( x &gt; rx &amp;&amp; x &lt; rx + rw) &amp;&amp; (y &gt; ry &amp;&amp; y &lt; ry + rh))

          for (int i = -1; i &lt; timestamps.length; i++)


            midi.sendNoteOn(0, 62, 127);

        timestamps[62] = millis();


        if (millis()&gt;lastMillis+40)
          midi.sendNoteOff(0, 62, 127);

        println(timestamps);
      }
    }
  }
}
</code></pre>
]]></description>
   </item>
   <item>
      <title>MIdi signal from Processing to Ableton is very glitchy, any ideas on how to help this issue?</title>
      <link>https://forum.processing.org/two/discussion/25402/midi-signal-from-processing-to-ableton-is-very-glitchy-any-ideas-on-how-to-help-this-issue</link>
      <pubDate>Tue, 05 Dec 2017 23:22:54 +0000</pubDate>
      <dc:creator>Eone</dc:creator>
      <guid isPermaLink="false">25402@/two/discussions</guid>
      <description><![CDATA[<p>Hey all.</p>

<p>Finally cracked my new project of triggering midi in Ableton via webcam movement but the midi signal is very glitchy and intermittent, despite my console telling me is it sending out signals. I feel it might be an issue with buffer size as when I'm sending a small amount of data, it works okay. Anything bigger and it glitches.</p>

<p>If you need a screen recording of what is happening, let me know. Otherwise I've posted the code underneath. Thanks!</p>

<pre><code>import gab.opencv.*;
import processing.video.*;
import ipcapture.*;
import org.opencv.core.Rect;
import themidibus.*; //Import the library

OpenCV opencv;
IPCapture cam;
MidiBus midi; 


void setup() {
  size(640, 480);
  //video = new Movie(this, "street.mov"); MUTED
  cam = new IPCapture(this, "http://" + "100.38.83.153:8081/mjpg/video.mjpg?resolution=640x480", "", "");
  cam.start();
  opencv = new OpenCV(this, 640, 480);

  opencv.startBackgroundSubtraction(5, 3, 0.5);
  MidiBus.list();
  midi = new MidiBus(this, -1, "IAC Bus 1");

  //video.loop();
  //video.play();
}

void draw() {
  if (cam.isAvailable()) {
    cam.read();
    image(cam, 0, 0);  
    opencv.loadImage(cam);
    opencv.updateBackground();

    opencv.dilate();
    opencv.erode();

    noFill();
    stroke(255, 0, 0);
    strokeWeight(5);
    for (Contour contour : opencv.findContours()) {


      println(contour.getBoundingBox().x);
      println(contour.getBoundingBox().y);
      int x = contour.getBoundingBox().x;
      int y = contour.getBoundingBox().y;

      contour.draw();

      if ((x &lt; 700) &amp;&amp; (x &gt; 650)) 
        println("x1");
      midi.sendNoteOn(0, 60, 127);
      midi.sendNoteOff(0, 60, 127);

      if ((x &lt; 649) &amp;&amp; (x &gt; 600)) 
        println("x2");
      midi.sendNoteOn(0, 61, 127);
      midi.sendNoteOff(0, 61, 127);


      if ((x &lt; 599) &amp;&amp; (x &gt; 550)) 
        println("x3");
      midi.sendNoteOn(0, 62, 127);
      midi.sendNoteOff(0, 62, 127);

      if ((x &lt; 549) &amp;&amp; (x &gt; 500)) 
        println("x4");
      midi.sendNoteOn(0, 63, 127);
      midi.sendNoteOff(0, 63, 127);


      if ((x &lt; 499) &amp;&amp; (x &gt; 450)) 
        println("x5");
      midi.sendNoteOn(0, 64, 127);
      midi.sendNoteOff(0, 64, 127);

      if ((x &lt; 449) &amp;&amp; (x &gt; 400)) 
        println("x6");
      midi.sendNoteOn(0, 65, 127);
      midi.sendNoteOff(0, 65, 127);

      if ((x &lt; 399) &amp;&amp; (x &gt; 350)) 
        println("x7");
      midi.sendNoteOn(0, 66, 127);
      midi.sendNoteOff(0, 66, 127);


      if ((x &lt; 349) &amp;&amp; (x &gt; 300)) 
        println("x8");
      midi.sendNoteOn(0, 67, 127);
      midi.sendNoteOff(0, 67, 127);

      if ((x &lt; 299) &amp;&amp; (x &gt; 250)) 
        println("x9");
      midi.sendNoteOn(0, 68, 127);
      midi.sendNoteOff(0, 68, 127);

      if ((x &lt; 249) &amp;&amp; (x &gt; 200)) 
        println("x10");
      midi.sendNoteOn(0, 69, 127);
      midi.sendNoteOff(0, 69, 127);


      if ((x &lt; 199) &amp;&amp; (x &gt; 150)) 
        println("x11");
      midi.sendNoteOn(0, 69, 127);
      midi.sendNoteOff(0, 69, 127);

      if ((x &lt; 149) &amp;&amp; (x &gt; 100)) 
        println("x12");
      midi.sendNoteOn(0, 69, 127);
      midi.sendNoteOff(0, 69, 127);

      if ((x &lt; 99) &amp;&amp; (x &gt; 50)) 
        println("X13");
      midi.sendNoteOn(0, 69, 127);
      midi.sendNoteOff(0, 69, 127);

      if ((x &lt; 49) &amp;&amp; (x &gt; 1)) 
        println("x14");
      midi.sendNoteOn(0, 69, 127);
      midi.sendNoteOff(0, 69, 127);


      if ((y &lt; 700) &amp;&amp; (y &gt; 650)) 
        println("y1");
      midi.sendNoteOn(1, 60, 127);
      midi.sendNoteOff(1, 60, 127);

      if ((y &lt; 649) &amp;&amp; (y &gt; 600)) 
        println("x2");
      midi.sendNoteOn(1, 61, 127);
      midi.sendNoteOff(1, 61, 127);


      if ((y &lt; 599) &amp;&amp; (y &gt; 550)) 
        println("y");
      midi.sendNoteOn(1, 62, 127);
      midi.sendNoteOff(1, 62, 127);

      if ((y &lt; 549) &amp;&amp; (y &gt; 500)) 
        println("x4");
      midi.sendNoteOn(1, 63, 127);
      midi.sendNoteOff(1, 63, 127);


      if ((y &lt; 499) &amp;&amp; (y &gt; 450)) 
        println("y5");
      midi.sendNoteOn(1, 64, 127);
      midi.sendNoteOff(1, 64, 127);

      if ((y &lt; 449) &amp;&amp; (y &gt; 400)) 
        println("y6");
      midi.sendNoteOn(1, 65, 127);
      midi.sendNoteOff(1, 65, 127);

      if ((y &lt; 399) &amp;&amp; (y &gt; 350)) 
        println("y7");
      midi.sendNoteOn(1, 66, 127);
      midi.sendNoteOff(1, 66, 127);


      if ((y &lt; 349) &amp;&amp; (y &gt; 300))
        println("y8");
      midi.sendNoteOn(1, 67, 127);
      midi.sendNoteOff(1, 67, 127);

      if ((y &lt; 299) &amp;&amp; (y &gt; 250)) 
        println("y9");
      midi.sendNoteOn(1, 68, 127);
      midi.sendNoteOff(1, 68, 127);

      if ((y &lt; 249) &amp;&amp; (y &gt; 200)) 
        println("y10");
      midi.sendNoteOn(1, 69, 127);
      midi.sendNoteOff(1, 69, 127);


      if ((y &lt; 199) &amp;&amp; (y &gt; 150)) 
        println("y11");
      midi.sendNoteOn(1, 69, 127);
      midi.sendNoteOff(1, 69, 127);

      if ((y &lt; 149) &amp;&amp; (y &gt; 100)) 
        println("y12");
      midi.sendNoteOn(1, 69, 127);
      midi.sendNoteOff(1, 69, 127);

      if ((y &lt; 99) &amp;&amp; (y &gt; 50)) 
        println("y13");
      midi.sendNoteOn(1, 69, 127);
      midi.sendNoteOff(1, 69, 127);

      if ((y &lt; 49) &amp;&amp; (y &gt; 1)) 
        println("y14");
      midi.sendNoteOn(1, 69, 127);
      midi.sendNoteOff(1, 69, 127);
    }



    // void movieEvent(Movie m) {
    //  m.read();
  }
}
</code></pre>

<p>EDIT. Sorry, being stupid and can't get the code quoted properly!
Edit 2, Got it ;)</p>
]]></description>
   </item>
   <item>
      <title>Wondering if Processing is suitable for a few ideas I've had.</title>
      <link>https://forum.processing.org/two/discussion/24078/wondering-if-processing-is-suitable-for-a-few-ideas-i-ve-had</link>
      <pubDate>Sat, 09 Sep 2017 17:34:52 +0000</pubDate>
      <dc:creator>NoAddedSugar</dc:creator>
      <guid isPermaLink="false">24078@/two/discussions</guid>
      <description><![CDATA[<p>Good afternoon all - hope everybody is doing well.</p>

<p>A quick run down - I took a module in Processing at uni years ago and thoroughly enjoyed my time with it. I haven't done any sort of programming since but really want to get back into creative coding.</p>

<p>Essentially, the ultimate goal is to create live abstract visualisations of audio (the audio being part pre-programmed and part live) and project it onto myself whilst 'gigging'. Alongside learning Processing, I'll be learning Ableton as I'm bored of Cubase and from what I've heard Ableton is a lot more flexible.</p>

<p>So I guess the main quiestion is this... Is it possible/relatively painless to route multiple tracks of audio from Ableton into Processing and then use data from those tracks to trigger visuals? I'm guessing I'd have to get some sort of virtual I/O box and send the audio to both the speakers and this virtual box, which Processing would pick up/analyse from there? I know it's possible to do this with MIDI data so I assume it should be the same for audio?</p>

<p>Also to note, I'm aware that as I'll be learning Ableton I could probably just use MaxMSP/Jitter and make life easier for myself. The aim though is to teach myself to code - I don't mind jumping through a few hoops to get it up and running, as long as my CPU dosen't explode under the load...</p>

<p>Many thanks all anyway, have a good evening!</p>
]]></description>
   </item>
   <item>
      <title>Text controlled MIDI through Ableton</title>
      <link>https://forum.processing.org/two/discussion/22078/text-controlled-midi-through-ableton</link>
      <pubDate>Wed, 19 Apr 2017 10:04:38 +0000</pubDate>
      <dc:creator>jj98</dc:creator>
      <guid isPermaLink="false">22078@/two/discussions</guid>
      <description><![CDATA[<p>Hello, 
I have made an alphabet by drawing it into the Ableton MIDI keyboard. I have a sequence of MIDI notes for each letter in the alphabet. I want to make a code which will let the user type in a sentence, a MIDI sequence will then be created combining each sequence corresponding to each letter in the sentence and playing it all in a row. 
I have never worked with MIDI on processing, I was wondering if this is possible? And could you present me with some general guidelines on which direction to take with this?</p>
]]></description>
   </item>
   <item>
      <title>Arduino -&gt; Live / Live -&gt; Processing</title>
      <link>https://forum.processing.org/two/discussion/21827/arduino-live-live-processing</link>
      <pubDate>Wed, 05 Apr 2017 14:50:44 +0000</pubDate>
      <dc:creator>jameswest</dc:creator>
      <guid isPermaLink="false">21827@/two/discussions</guid>
      <description><![CDATA[<p>Hi I was hoping to set up a scenario where I have an ardiuno talking to live then live to processing.</p>

<p>At the moment the arduino talks to processing via serial sending messages like so &lt;Param1=Param2=&gt; etc etc where &lt; and &gt; are start and end chars.</p>

<p>I was hoping to use the new ableton live connection kit to get the arduino to send some POT values to ableton. I was also hoping the arduino could send ableton the other messages like &lt;Param1=Param2=&gt; etc so that ableton could almost act like a broker.</p>

<p>I.e it could take the pot values to influence some tracks and use the param1 param2 values as well but forward on any messages that aren't the pot values.. i.e. the messages contained in the greater than less than chars..</p>

<p>I was thinking of using the connection kit + firmata and then somehow maybe creating a custom max patch with some regex to identify any messages in the format &lt; .. . . .  &gt;  and then maybe forward them on to processing via osc?</p>

<p>Has anyone done anything similar and had ableton as the message broker generating arbitrary messages out via osc?</p>

<p>Thanks :)</p>
]]></description>
   </item>
   <item>
      <title>Projecting FullScreen With Processing? // Present Mode</title>
      <link>https://forum.processing.org/two/discussion/16275/projecting-fullscreen-with-processing-present-mode</link>
      <pubDate>Tue, 26 Apr 2016 20:43:54 +0000</pubDate>
      <dc:creator>CelesteAria</dc:creator>
      <guid isPermaLink="false">16275@/two/discussions</guid>
      <description><![CDATA[<p>I am interfacing processing with Ableton and I need to be able to see the Ableton window while I am running and projecting the processing sketch. Is there any way to make the sketch project to a full screen size while I can still see my other application windows?</p>
]]></description>
   </item>
   </channel>
</rss>