<?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 #midi - Processing 2.x and 3.x Forum</title>
      <link>https://forum.processing.org/two/discussions/tagged/feed.rss?Tag=%23midi</link>
      <pubDate>Sun, 08 Aug 2021 21:09:26 +0000</pubDate>
         <description>Tagged with #midi - Processing 2.x and 3.x Forum</description>
   <language>en-CA</language>
   <atom:link href="/two/discussions/tagged%23midi/feed.rss" rel="self" type="application/rss+xml" />
   <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>rwmidi - SysEx message not being sent</title>
      <link>https://forum.processing.org/two/discussion/26319/rwmidi-sysex-message-not-being-sent</link>
      <pubDate>Mon, 12 Feb 2018 16:14:14 +0000</pubDate>
      <dc:creator>Grumpy_Mike</dc:creator>
      <guid isPermaLink="false">26319@/two/discussions</guid>
      <description><![CDATA[<p>I am using rwmidi in Processing 3.3.5 on a Mac 10.13.3. I can send a note on message and see it on the MIDI monitor and it returns a 1. However, when sending the SysEx message, while it still returns a 1, no message shows up in the MIDI monitor nor the device I am trying to communicate with ( An Arduino Micro ), this is the function I send on a mouse press:-</p>

<pre><code>void mousePressed() {
  println(mouseX,mouseY);
  int ret = output.sendNoteOn(0, 3, 3);
  println("returned from send note", ret);
  ret = output.sendSysex(new byte[] {(byte)0xF0, 1, 2, 3, 4, (byte)0xF7});
  println("returned from sysEx ", ret);
}
</code></pre>

<p>Anyone know what I am doing wrong?</p>
]]></description>
   </item>
   <item>
      <title>How to change oscillator type for p5.PolySynth?</title>
      <link>https://forum.processing.org/two/discussion/25505/how-to-change-oscillator-type-for-p5-polysynth</link>
      <pubDate>Mon, 11 Dec 2017 03:46:26 +0000</pubDate>
      <dc:creator>ploxyzero</dc:creator>
      <guid isPermaLink="false">25505@/two/discussions</guid>
      <description><![CDATA[<p>Currently working on a synthesizer to use with my midi keyboard for a class project, but can't figure out how to change the oscillator type for <a rel="nofollow" href="https://p5js.org/reference/#/p5.PolySynth">p5.PolySynth</a>. Could anyone help me out? Thanks!</p>
]]></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>expecting TRIPLE_DOT, found 'char'</title>
      <link>https://forum.processing.org/two/discussion/21637/expecting-triple-dot-found-char</link>
      <pubDate>Mon, 27 Mar 2017 13:54:34 +0000</pubDate>
      <dc:creator>NazC</dc:creator>
      <guid isPermaLink="false">21637@/two/discussions</guid>
      <description><![CDATA[<p>Hello. I am a processing noob and wanted to try out the Serial to MIDI processing sketch to work with my Arduino Uno. On running the code below, a TRIPLE_DOT error is generated at this line :</p>

<p><code>void MIDI_TX(unsigned char MESSAGE, unsigned char PITCH, unsigned char VELOCITY)</code></p>

<p>I've looked up all similar TRIPLE_DOT errors online but cannot seem to figure out what exactly might be going wrong with the code. 
Any advice would be much appreciated!</p>

<pre><code>// BY: MARK DEMERS | May 2009
// DESCRIPTION: Demo sketch to play notes from middle C in the 4th octave up to B in the 5th octave and then back down.
// HOOK-UP:
// 1. Plug USB cable from Arduino into your computer.
// USAGE:
// 1. Install and Set-up Serial MIDI Converter from SpikenzieLabs
// 2. Open, compile, and upload this sketch into your Arduino.
// 3. Run Serial MIDI Converter in the background.
// 4. Launch your music software such as Garage Band or Ableton Live, choose a software instrument and listen to the music.

int note = 0;     

void setup() 
{
  Serial.begin(57600);                                       // Default speed of the Serial to MIDI Converter serial port
}

void loop() 
{

  for(int note=60; note&lt;=83; note++)                        // Going Up
  {
    MIDI_TX(144,note,127);                                  // NOTE ON
    delay(100);

    MIDI_TX(128,note,127);                                  // NOTE OFF
    delay(100);
  }

  for(int note=82; note&gt;=61; note--)                       // Coming Down
  {
    MIDI_TX(144,note,127);                                  // NOTE ON
    delay(250);

    MIDI_TX(128,note,127);                                  // NOTE OFF
    delay(250);
  }

}


void MIDI_TX(unsigned char MESSAGE, unsigned char PITCH, unsigned char VELOCITY) 
{
  Serial.print(MESSAGE);
  Serial.print(PITCH);
  Serial.print(VELOCITY);
}
</code></pre>
]]></description>
   </item>
   <item>
      <title>Traktor to Processing</title>
      <link>https://forum.processing.org/two/discussion/19510/traktor-to-processing</link>
      <pubDate>Sun, 04 Dec 2016 19:41:54 +0000</pubDate>
      <dc:creator>sindiploma</dc:creator>
      <guid isPermaLink="false">19510@/two/discussions</guid>
      <description><![CDATA[<p>What's the best way to retrieve Traktor data for use in a Processing sketch? Any suggestions besides promidi (which seems to be incompatible with the latest processing version) would be appreciated.. I don't know where to start :D</p>
]]></description>
   </item>
   <item>
      <title>How to play a midi sound from soundcipher i.e a string sound and prolong this sound</title>
      <link>https://forum.processing.org/two/discussion/19853/how-to-play-a-midi-sound-from-soundcipher-i-e-a-string-sound-and-prolong-this-sound</link>
      <pubDate>Tue, 20 Dec 2016 18:48:22 +0000</pubDate>
      <dc:creator>thiagomarcondes</dc:creator>
      <guid isPermaLink="false">19853@/two/discussions</guid>
      <description><![CDATA[<p>Hello there!
I have a question: when i play a string sound pressing a key using soundcipher the sound has a lenght and after a while it starts to glitching. how can i play longer notes , string sound notes, and have them stop when i just release the sound key, but keeping the quality of the string sound without glitches?</p>
]]></description>
   </item>
   <item>
      <title>Music, Lights and Processing</title>
      <link>https://forum.processing.org/two/discussion/18445/music-lights-and-processing</link>
      <pubDate>Fri, 07 Oct 2016 17:36:02 +0000</pubDate>
      <dc:creator>Matt94liv</dc:creator>
      <guid isPermaLink="false">18445@/two/discussions</guid>
      <description><![CDATA[<p>Hi everyone.</p>

<p>I want to be able to connect my midi Keyboard up to the computer and then output the audio to light up LEDs. I am wondering if anybody has done this or how to go about it? Ideally I would love to be able to manipulate the code so that whichever keys i am playing i can control the output effects (colour, fade, etc).</p>

<p>I know I will need to use an arduino as well but I am just not sure how to do all this. Any help would be greatly appreciated.</p>

<p>Thanks</p>
]]></description>
   </item>
   <item>
      <title>Create TAP TEMPO / METRONOME</title>
      <link>https://forum.processing.org/two/discussion/14502/create-tap-tempo-metronome</link>
      <pubDate>Sun, 17 Jan 2016 00:37:45 +0000</pubDate>
      <dc:creator>fiskolini</dc:creator>
      <guid isPermaLink="false">14502@/two/discussions</guid>
      <description><![CDATA[<p>Hello.</p>

<p>I have a few months of experience with Processing, but I guess that this is an algorithm related question.</p>

<p>So, I have a processing project that plays sounds when the user press some PAD on MIDI or even KEYBOARD and I want to try to play a beap continuously according to BPM.</p>

<p>What I have tried:</p>

<p><code>import processing.sound.*;
SoundFile beap;
int bpm = 95;
int secs = 1;
void setup() {
  frameRate(60);
  fullScreen();
  beap = new SoundFile(this, "sounds/bip.mp3");
}
void draw(){
  secs++;
  beap.play();
}</code></p>

<p>But, this of course plays beap continuously.
Anybody can help me?</p>

<p><strong>NOTE:</strong> changing <code>frameRate();</code> does not help because it'll mess with rendering graphics.</p>

<p>Thanks</p>
]]></description>
   </item>
   <item>
      <title>Piano Using Processing</title>
      <link>https://forum.processing.org/two/discussion/15121/piano-using-processing</link>
      <pubDate>Thu, 25 Feb 2016 18:25:34 +0000</pubDate>
      <dc:creator>ahlecksah</dc:creator>
      <guid isPermaLink="false">15121@/two/discussions</guid>
      <description><![CDATA[<p>Hi! I need help writing this code on Processing for a functioning piano. 
This is the instructions I was given. (It's due March 1st) Please help! I am genuinely lost
(<a href="https://forum.processing.org/two/uploads/imageupload/130/GWX4ZGA7D0Z7.png" target="_blank" rel="nofollow">https://forum.processing.org/two/uploads/imageupload/130/GWX4ZGA7D0Z7.png</a> "Screen Shot 2016-02-25 at 10.30.14 AM")
<img src="https://forum.processing.org/two/uploads/imageupload/387/ZFESDFRKK6FA.png" alt="Screen Shot 2016-02-25 at 10.30.21 AM" title="Screen Shot 2016-02-25 at 10.30.21 AM" /></p>
]]></description>
   </item>
   <item>
      <title>Is it possible to trigger a function with a .mid file?</title>
      <link>https://forum.processing.org/two/discussion/14996/is-it-possible-to-trigger-a-function-with-a-mid-file</link>
      <pubDate>Thu, 18 Feb 2016 19:03:25 +0000</pubDate>
      <dc:creator>ekinkes</dc:creator>
      <guid isPermaLink="false">14996@/two/discussions</guid>
      <description><![CDATA[<p>Hello, I'm discovering audio on Processing and have a question about MIDI and .mid files.
I want to map notes to functions, such as;</p>

<p>when the .mid file plays C1 note, draw the function sample1.</p>

<p>when the .mid file plays C2 note, draw the function sample2.</p>

<p>Is it possible?</p>
]]></description>
   </item>
   <item>
      <title>midi in problems</title>
      <link>https://forum.processing.org/two/discussion/14976/midi-in-problems</link>
      <pubDate>Wed, 17 Feb 2016 20:55:38 +0000</pubDate>
      <dc:creator>szebenyi</dc:creator>
      <guid isPermaLink="false">14976@/two/discussions</guid>
      <description><![CDATA[<p>Hi, I want to visualize some music, coming in to processing from ableton.
The idea is: I would like to make circles for each note received, using pitch for it's x value from the point of origin, and velocity for it's radius, then rotate the whole thing around to form a circle.</p>

<p>The whole thing works cool, but:</p>

<p>-somehow other circles start to appear for some reason that I don't want.</p>

<p>-it would be nice to avoid the delay as like this some notes are missed, but without it nothing appears.</p>

<p>-can't export pdf because of unknown exception. (image works) (???)</p>

<p>here is the code and image</p>

<p>thanks for your help!</p>

<pre><code>import themidibus.*;
import processing.pdf.*;

boolean record=false;

MidiBus myBus; // The MidiBus

void setup() {
  size(800, 800);
  background(255);

  MidiBus.list();
  myBus = new MidiBus(this, 1, 0);

}
float x;
float y;
float t;
float time;

void draw() {
  if (record) {
    save("pic.tif");
    record = false;
  }
  t = millis()/10000.0f;
  delay(10);

}
void noteOn(int channel, int pitch, int velocity) {
  // Receive a noteOn
  float velo = map (velocity, 0, 127, 1, 20);
  translate(400, 400);
  rotate(t);
  translate(10,0);
  fill(255,0);
  ellipse(50+(pitch*3), 0, velo, velo);
  println(t);
}

void noteOff(int channel, int pitch, int velocity) {
  // Receive a noteOff
}

void controllerChange(int channel, int number, int value) {
  // Receive a controllerChange
}

void delay(int time) {
  int current = millis();
  while (millis () &lt; current+time) Thread.yield();
}

void keyPressed() {
  if (key == 'q') {
    record=true;
  }
}
</code></pre>

<p>(<img src="http://i.imgur.com/UIYfuza.png" alt="" /></p>
]]></description>
   </item>
   <item>
      <title>select musical notes within scales</title>
      <link>https://forum.processing.org/two/discussion/13597/select-musical-notes-within-scales</link>
      <pubDate>Sun, 22 Nov 2015 12:20:38 +0000</pubDate>
      <dc:creator>Andreas_Ref</dc:creator>
      <guid isPermaLink="false">13597@/two/discussions</guid>
      <description><![CDATA[<p>Hi
I am building a musical instrument in Processing which sends note information to Ableton. I would like to enable the user to switch between different scales (C-major, D-minor etc), so that the user always plays notes within that scale. Does anybody know about a smarter way of doing this than to hardcode all the different notes and scales in arrays? Or has anybody done something similar and want to share their code?</p>

<p>Cheers
Andreas</p>
]]></description>
   </item>
   <item>
      <title>Minim FFT question</title>
      <link>https://forum.processing.org/two/discussion/4689/minim-fft-question</link>
      <pubDate>Fri, 25 Apr 2014 15:29:37 +0000</pubDate>
      <dc:creator>zoom</dc:creator>
      <guid isPermaLink="false">4689@/two/discussions</guid>
      <description><![CDATA[<p>Hey there,</p>

<p>I've been fooling around minim library to do some sound analysis.</p>

<p>What I want to achieve is performing FFT but do this for certain frequency ranges which are as follows;</p>

<p>20hz - 80hz = ........ Low Bass<br />
80hz - 320hz = ...... Midbass<br />
320hz - 1280hz = ... Midrange<br />
1280hz - 5120hz = .. High Midrange/Low Treble<br />
5120hz - 20840hz = . High Treble</p>

<p>For each range I need to get a magnitude so that I can send them to arduino.</p>

<p>Is this something possible to achieve.</p>

<p>Also I need to use the soundcard output of the computer as input data rather than using the built-in microphone with AudioInput function. However, couldn't find any way to do so. I reckon this is something feasible since I read the following comment lines under getLineIn function;</p>

<p>//it's feasible that the user may have the actual audio output of the computer as the active audio input</p>

<p>I do really appreciate if someone help me to sort those things.</p>

<p>Thank you.</p>
]]></description>
   </item>
   <item>
      <title>Sound in Processing</title>
      <link>https://forum.processing.org/two/discussion/14806/sound-in-processing</link>
      <pubDate>Sun, 07 Feb 2016 17:24:51 +0000</pubDate>
      <dc:creator>agustinr</dc:creator>
      <guid isPermaLink="false">14806@/two/discussions</guid>
      <description><![CDATA[<p>Hello, sorry for my bad English , I'm from Argentina . I am in a project where I use the minim processing library. In the code I use midi.setMidiNoteIn (); to generate musical notes. The problem is that the sound sounds "ugly" or " cut " . They have any suggestions on how to improve it? Greetings and thanks</p>
]]></description>
   </item>
   <item>
      <title>Arrays and Rows/Colums</title>
      <link>https://forum.processing.org/two/discussion/14614/arrays-and-rows-colums</link>
      <pubDate>Mon, 25 Jan 2016 17:14:01 +0000</pubDate>
      <dc:creator>Jonasan</dc:creator>
      <guid isPermaLink="false">14614@/two/discussions</guid>
      <description><![CDATA[<p>Hello,</p>

<p>For my project (<a href="https://forum.processing.org/two/discussion/comment/60203" target="_blank" rel="nofollow">https://forum.processing.org/two/discussion/comment/60203</a>) I have 4 x 4 objects. I use an array to define the 16 objects, but somehow it seems easier if I could use indexes that refer to the row and colum each object is in.</p>

<p>Someting like this:
object11, object12, object13, object14
object21, object22, object23, ...</p>

<p>Is this easy doable? If yes, how?</p>

<p>Thank you ;-)</p>
]]></description>
   </item>
   <item>
      <title>Audio library for beginners?</title>
      <link>https://forum.processing.org/two/discussion/14022/audio-library-for-beginners</link>
      <pubDate>Wed, 16 Dec 2015 16:14:07 +0000</pubDate>
      <dc:creator>juanigp</dc:creator>
      <guid isPermaLink="false">14022@/two/discussions</guid>
      <description><![CDATA[<p>Hi people, I want to make a program for a project in my uni, like a simple synth. First of all, I want to make it synthetize notes with different wave forms. Once that is achieved (I think it will be the easiest part), I'll try to make it compatible to a midi keyboard, add filters and envelopes, and more complex stuff. My professor recommended Processing (Actually, it was a Delphi course, but for the final project we are not tied to Pascal). I've been searching and there are some powerful libraries like minim, beads, sonia, jsyn, but I dont know exactly what are the pros and cons of each one.
So, what library would you suggest me?</p>
]]></description>
   </item>
   <item>
      <title>I need microtonal notes with a decent sound</title>
      <link>https://forum.processing.org/two/discussion/13300/i-need-microtonal-notes-with-a-decent-sound</link>
      <pubDate>Tue, 27 Oct 2015 12:57:50 +0000</pubDate>
      <dc:creator>ruski15</dc:creator>
      <guid isPermaLink="false">13300@/two/discussions</guid>
      <description><![CDATA[<p>Hi,</p>

<p>I am a musician, not a programmer, and I've been developing in Processing a code to test the ear capabilities of my students. The think is that I want microtonal distances (3Hz) so when I designed it with a SineWave it worked perfectly, but I want to improve the sound. Midi has 127 notes separated by a half-step, but not smaller. I want to move all my codes to p5.js., and before starting I wanted to ask, do you think I can get this result?</p>
]]></description>
   </item>
   <item>
      <title>Any MIDI library compatible with Processing 3?</title>
      <link>https://forum.processing.org/two/discussion/11410/any-midi-library-compatible-with-processing-3</link>
      <pubDate>Tue, 23 Jun 2015 07:37:44 +0000</pubDate>
      <dc:creator>cdaein</dc:creator>
      <guid isPermaLink="false">11410@/two/discussions</guid>
      <description><![CDATA[<p>I am trying to use a physical MIDI controller to control my Processing v3 sketch.
I've tried 2 libraries - proMIDI and The Minibus, but neither works with Processing v3.
They both say they are incompatible.</p>

<p>What I need to do is to turn the knobs on my controller to change a few variables in P5 sketch.</p>

<p>Does anyone know any compatible libraries or how to execute my idea?</p>
]]></description>
   </item>
   <item>
      <title>Generative music composition using Cellular Automata (Game Of Life)</title>
      <link>https://forum.processing.org/two/discussion/10215/generative-music-composition-using-cellular-automata-game-of-life</link>
      <pubDate>Mon, 06 Apr 2015 22:42:06 +0000</pubDate>
      <dc:creator>HenrySmith</dc:creator>
      <guid isPermaLink="false">10215@/two/discussions</guid>
      <description><![CDATA[<p>Hi there!</p>

<p>I bummed into a interesting article about how to create a generative music composition from 2D Cellular Automata. The following is the link of the mentioned article: <a rel="nofollow" href="http://cmr.soc.plymouth.ac.uk/publications/CapturingTheAesthetic.pdf">cmr.soc.plymouth.ac.uk/publications/CapturingTheAesthetic.pdf</a></p>

<p>This idea is to perform the mapping from a Game Of Life generation based on a polar co-ordinate system with the origin at the grid center. This approach is illustrated below:</p>

<p><img src="http://forum.processing.org/two/uploads/imageupload/821/F200F4XZ7FOO.JPG" alt="mapping" title="mapping" /></p>

<p>I am trying to implement this idea in processing. The authors provided a brilliant algorithm how this can be achieved:</p>

<p><img src="http://forum.processing.org/two/uploads/imageupload/349/G05M6ENBRXPW.JPG" alt="Capture" title="Capture" /></p>

<p>I was doing quite well until I got stuck in point 3 (the highlighted part). Can anyone suggest how it is possible to iterate from the center of the grid to the boarder for every value of tita? (in order to examine the state of each cell along the line which is by an angle tita from the centre).</p>

<p>This is what I've got so far:</p>

<p><img src="http://forum.processing.org/two/uploads/imageupload/674/55CH126KSG5A.png" alt="circle" title="circle" /></p>

<p>The red line represents the the iterations of tita around the boarder. A new generation is created with each revolution.</p>

<p>Any tips of how step 3 (of the algorithm above) can be implemented will be greatly appreciated! :)</p>
]]></description>
   </item>
   <item>
      <title>Polyphonic Synthesizer via MIDI Bus</title>
      <link>https://forum.processing.org/two/discussion/9820/polyphonic-synthesizer-via-midi-bus</link>
      <pubDate>Wed, 11 Mar 2015 17:38:42 +0000</pubDate>
      <dc:creator>johays66</dc:creator>
      <guid isPermaLink="false">9820@/two/discussions</guid>
      <description><![CDATA[<p>Hey! So I have been trying to code a polyphonic synthesizer that is controlled by a MIDI keyboard using themidibus library and beads. I found this code that supposedly calls  new Waveplayer files every time a note is played so that multiple sounds are outputted, but whenever I try to run this code, I get the error:</p>

<p>"AudioContext : no AudioIO specified, using default =&gt; beads.JavaSoundAudioIO.
JavaSoundAudioIO: Chosen mixer is Default Audio Device. "</p>

<p>It might be for something dumb, since I sort of don't know what I'm doing, but I'm fairly lost and am just wonder if anyone knows a way to make a polyphonic synthesizer thats controlled by a MIDI controller, before I invest a lot of time into trying to do this.</p>

<pre><code>// MIDI_SYNTH_01.pde
// this example builds a simple midi synthesizer
// for each incoming midi note, we create a new set of beads 
// (encapsulated by a class)
// these beads are stored in a vector
// and destroyed when we get a corresponding note-off message
// Import the MidiBus library
import themidibus.*;
// import the beads library
import beads.*;
// our parent MidiBus object
MidiBus busA;
AudioContext ac;
Gain MasterGain;
ArrayList synthNotes = null;
void setup()
{
 size(600, 400);
 background(0);
 // the MidiBus constructor takes four arguments
 // 1 - the calling program (this)
 // 2 - the input device
 // 3 - the output device
 // 4 - the bus name
 // in this case, we just use the defaults
 busA = new MidiBus(this, 0, 0, "busA");
 synthNotes = new ArrayList();
 ac = new AudioContext();
 MasterGain = new Gain(ac, 1, 0.5);
 ac.out.addInput(MasterGain);
 ac.start();

 background(0);
 text("This program will not do anything if you do not have a MIDI device", 100, 100);
 text("connected to your computer.", 100, 112);
 text("This program plays sine waves in response to Note-On messages.", 100, 124);
}
void draw()
{
 for( int i = 0; i &lt; synthNotes.size(); i++ )
 {
 SimpleSynth s = (SimpleSynth)synthNotes.get(i);
 // if this bead has been killed
 if( s.g.isDeleted() )
 {
 // destroy the synth (set things to null so that memory 
 // cleanup can occur)
 s.destroy();
 // then remove the parent synth
 synthNotes.remove(s);
 }
 }
}
// respond to MIDI note-on messages
void noteOn(int channel, int pitch, int velocity, String bus_name) {
 background(50);
 stroke(255); fill(255);
 text("Note On:", 100, 100);
 text("Channel:" + channel, 100, 120);
 text("Pitch:" + pitch, 100, 140);
 text("Velocity:" + velocity, 100, 160);
 text("Recieved on Bus:" + bus_name, 100, 180);

 synthNotes.add(new SimpleSynth(pitch));
}
// respond to MIDI note-off messages
void noteOff(int channel, int pitch, int velocity, String bus_name){
 background(0);
 stroke(255); fill(255);
 text("Note Off:", 100, 100);
 text("Channel:" + channel, 100, 120);
 text("Pitch:" + pitch, 100, 140);
 text("Velocity:" + velocity, 100, 160);
 text("Recieved on Bus:" + bus_name, 100, 180);

 for( int i = 0; i &lt; synthNotes.size(); i++ )
 {
 SimpleSynth s = (SimpleSynth)synthNotes.get(i);
 if( s.pitch == pitch )
 {
 s.kill();
 synthNotes.remove(s);
 break;
 }
 }
}




// this is our simple synthesizer object
class SimpleSynth
{
 public WavePlayer wp = null;
 public Envelope e = null;
 public Gain g = null;
 public int pitch = -1;

 // the constructor for our sine wave synthesizer
 SimpleSynth(int midiPitch)
 {
 pitch = midiPitch;
 // set up the new WavePlayer, convert the MidiPitch to a 
 // frequency
 wp = new WavePlayer(ac, 
 440.0 * pow(2, ((float)midiPitch - 
 59.0)/12.0), 
 Buffer.SINE);
 e = new Envelope(ac, 0.0);

g = new Gain(ac, 1, e);
 g.addInput(wp);
 MasterGain.addInput(g);
 e.addSegment(0.5, 300);
 }
 // when this note is killed, ramp the amplitude down to 0 
 // over 300ms
 public void kill()
 {
 e.addSegment(0.0, 300, new KillTrigger(g));
 }
 // destroy the component beads so that they can be cleaned 
 // up by the java virtual machine
 public void destroy()
 {
 wp.kill();
 e.kill();
 g.kill();
 wp = null;
 e = null;
 g = null;
 }
}
</code></pre>
]]></description>
   </item>
   <item>
      <title>The MidiBus is not finding available virtual MIDI devices</title>
      <link>https://forum.processing.org/two/discussion/7420/the-midibus-is-not-finding-available-virtual-midi-devices</link>
      <pubDate>Thu, 02 Oct 2014 12:27:47 +0000</pubDate>
      <dc:creator>Neurogami</dc:creator>
      <guid isPermaLink="false">7420@/two/discussions</guid>
      <description><![CDATA[<p>I've a sketch that listens for MIDI messages and displays animated GIFs based on notes and velocity.  The MIDI is driven by a program called Renoise.  Since this is app-to-app communication (i.e. there is no actual MIDI keyboard here) I needed to use some internal MIDI routing.  On WIndows I use LoopBe and it works fine.</p>

<p>On Ubuntu I'm using virmidi to create virtual MIDI ports.  When I run my sketch, which used The MidiBus library, it does not detect any of these virtual devices. (Renoise, OTOH, sees these virtual devices just fine.)</p>

<p>I thought this might just be a Java thing but I have other Java code running on the same machine that does find and interact with these virtual devices (and can receive the MIDI messages sent by Renoise over a virtual MIDI device).</p>

<p>In digging though some code I learned that an available virtual MIDI input device can be detected by checking getMaxTransmitters.  For real devices this should return a positive value.  Available virtual devices return -1.</p>

<p>When the MidiBus code runs all the virtual input devices have getMaxTransmitters == 0.  In the other Java code (a JRuby program that uses the same underlying Java system libs as MidiBus) these devices have getMaxTransmitters == -1.</p>

<p>Has anyone else run into this?  It may well be some quirk of my setup, so I'm curious to hear from anyone else who has virtual MIDI devices on Ubuntu with the MidiBus library.</p>
]]></description>
   </item>
   <item>
      <title>AudioPlayer instead of AudioOUtput with Minim-Library and multiple mixer?</title>
      <link>https://forum.processing.org/two/discussion/3694/audioplayer-instead-of-audiooutput-with-minim-library-and-multiple-mixer</link>
      <pubDate>Fri, 14 Mar 2014 10:34:39 +0000</pubDate>
      <dc:creator>Picaroon</dc:creator>
      <guid isPermaLink="false">3694@/two/discussions</guid>
      <description><![CDATA[<p>Hi All,</p>

<p>I'm trying to use multiple mixer with the Minim library. Basically, I'm using several USB-Sound Cards in order to get multiple Audio Outputs - I have several mp3's played at the same time, and each mp3 is supposed to go to another speaker.</p>

<p>That's what I have so far (based on the setOutputMixer-Example) and that works fine:</p>

<pre><code>import ddf.minim.*;
import ddf.minim.signals.*;
import controlP5.*;
import javax.sound.sampled.*;
AudioPlayer player;
Minim minim;
Minim minim2;
AudioOutput out;
AudioOutput out2;

Mixer.Info[] mixerInfo;
SineWave sine;
SineWave sine2;

void setup()
{
  size(512, 275);

  minim = new Minim(this);
  minim2 = new Minim(this);

  mixerInfo = AudioSystem.getMixerInfo();

  for(int i = 0; i &lt; mixerInfo.length; i++)
  {println(i + " = " + mixerInfo[i].getName());} 

  sine = new SineWave(220, 0.3, 44100);
  sine2 = new SineWave(20, 1.5, 40100);
 }

void draw()
{
  Mixer mixer = AudioSystem.getMixer(mixerInfo[2]);
  minim.setOutputMixer(mixer);
  out = minim.getLineOut(Minim.STEREO);  
  out.addSignal(sine);

  Mixer mixer2 = AudioSystem.getMixer(mixerInfo[1]);
  minim2.setOutputMixer(mixer2);
  out2 = minim2.getLineOut(Minim.STEREO);  
  out2.addSignal(sine2);
 }
</code></pre>

<p>Now the question: Instead of the sine, I want to play mp3's, but I can't manage to add the mp3's to the different mixers (Sorry, I'm kind of a beginner...)</p>

<p>Anyone knows how to do that?</p>

<p>Thanks!
Rebecca</p>
]]></description>
   </item>
   <item>
      <title>TheMidiBus issue: noteOn disabling</title>
      <link>https://forum.processing.org/two/discussion/3700/themidibus-issue-noteon-disabling</link>
      <pubDate>Fri, 14 Mar 2014 14:02:46 +0000</pubDate>
      <dc:creator>silantprocessor</dc:creator>
      <guid isPermaLink="false">3700@/two/discussions</guid>
      <description><![CDATA[<p>Hello everyone,</p>

<p>I am using TheMidiBus on an installation. Running Processing 2.1.1 on OS X 10.8.5.</p>

<p>Processing does not quit, but TheMidiBus is:</p>

<pre><code>The MidiBus Warning: Disabling noteOn(int channel, int pitch, int velocity) because an unkown exception was thrown and caught
java.lang.reflect.InvocationTargetException
    at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at themidibus.MidiBus.notifyParent(Unknown Source)
    at themidibus.MidiBus$MReceiver.send(Unknown Source)
    at com.sun.media.sound.AbstractMidiDevice$TransmitterList.sendMessage(AbstractMidiDevice.java:679)
    at com.sun.media.sound.MidiInDevice.callbackShortMessage(MidiInDevice.java:172)
    at com.sun.media.sound.MidiInDevice.nGetMessages(Native Method)
    at com.sun.media.sound.MidiInDevice.run(MidiInDevice.java:140)
    at java.lang.Thread.run(Thread.java:744)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 2000
    at PASSAGES.noteOn(PASSAGES.java:177)
    ... 10 more
</code></pre>

<p>Thank anyone in advance for their insights.</p>
]]></description>
   </item>
   <item>
      <title>Making a live Equalizer Level graphic for a MIDI Controller - Novation Launchpad</title>
      <link>https://forum.processing.org/two/discussion/4211/making-a-live-equalizer-level-graphic-for-a-midi-controller-novation-launchpad</link>
      <pubDate>Mon, 07 Apr 2014 22:44:32 +0000</pubDate>
      <dc:creator>eanrox4eva</dc:creator>
      <guid isPermaLink="false">4211@/two/discussions</guid>
      <description><![CDATA[<p>Sorry if this is the wrong Category, I'm new here. I want to make my midi controller visually show live equalizer bars going across just like this video: 
<a href="http://createdigitalmusic.com/2011/09/random-fun-novation-launchpad-as-live-eq-display-built-in-processing/" target="_blank" rel="nofollow">http://createdigitalmusic.com/2011/09/random-fun-novation-launchpad-as-live-eq-display-built-in-processing/</a></p>

<p>However, I don't want to completely learn how to code using Processing just to do one thing. I have looked around the internet and not found anything relevant. If anyone could send me a link or show me the process of what I need to do, it would be a great help. Any help is appreciated! Thanks ahead of time!</p>
]]></description>
   </item>
   <item>
      <title>Problems with MIDIBus Libary</title>
      <link>https://forum.processing.org/two/discussion/3450/problems-with-midibus-libary</link>
      <pubDate>Tue, 04 Mar 2014 17:19:09 +0000</pubDate>
      <dc:creator>Elokuu</dc:creator>
      <guid isPermaLink="false">3450@/two/discussions</guid>
      <description><![CDATA[<p>Hey there,</p>

<p>I'm trying to use the MIDIBus library, but already when using the "Basic" example it gives me an error:</p>

<p><em>The MidiBus Warning: No available input MIDI devices named: "Java Sound Synthesizer" were found</em></p>

<p><em>Available MIDI Devices:
----------Input----------
[0] "Real Time Sequencer"
----------Output----------
[0] "Gervill"
[1] "Real Time Sequencer"</em></p>

<p>I would like to use Processing to create some MIDI data and send it via some virtual port to some soft synth. Does somebody has an idea how I could do this?</p>

<p>I'm running Ubuntu 12.04 (64Bit) and Processing 2.1</p>

<p>Thanks</p>
]]></description>
   </item>
   <item>
      <title>send midi cc via processing (promidi library?)</title>
      <link>https://forum.processing.org/two/discussion/2906/send-midi-cc-via-processing-promidi-library</link>
      <pubDate>Fri, 07 Feb 2014 05:02:07 +0000</pubDate>
      <dc:creator>Satori</dc:creator>
      <guid isPermaLink="false">2906@/two/discussions</guid>
      <description><![CDATA[<p>Hi folks,</p>

<p>is it possible to send midi cc commands with processing and the promidi library? 
I can still send midi notes out of it but i want also open a reverb bus in my daw.</p>
]]></description>
   </item>
   <item>
      <title>Stimula, interactive plant</title>
      <link>https://forum.processing.org/two/discussion/2618/stimula-interactive-plant</link>
      <pubDate>Fri, 24 Jan 2014 05:37:51 +0000</pubDate>
      <dc:creator>alexr4</dc:creator>
      <guid isPermaLink="false">2618@/two/discussions</guid>
      <description><![CDATA[<p>Hi everyone,</p>

<p>We have just release our last interactive project, Stimula, and want to share it with you.</p>

<p>It’s a real time interpretation of information generated by a plant while reacting to human and environmental stimuli. 
The piece which combines generative, sound and interactive design brings to the light the fact that the plant is a living organism. In this setup, the plant is no longer considered as a simple decoration object.</p>

<p>I hope you will enjoy it.</p>

<p><div class="VideoWrap"><div class="Video Vimeo"><object width="640" height="385"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=84847448&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=84847448&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="640" height="385"></embed></object></div></div>﻿</p>

<p><img src="http://forum.processing.org/two/uploads/imageupload/485/VIUHOF6D8T42.jpg" alt="12100356593_eb6cafa3f3_z" title="12100356593_eb6cafa3f3_z" /></p>
]]></description>
   </item>
   </channel>
</rss>