Author Archives: kdarr@andrew.cmu.edu

Project 2 – Kevin Darr

For this project, I used spectral analysis along with machine learning to create a system for chord recognition. The system works by writing FFT frequency bin amplitudes into a matrix, then taking “snapshots” of the matrix and outputting the snapshot as a list, then sending these lists to the ml.svm object for categorization. While the system could easily work with any audio source, for this demonstration I made a simple polyphonic synth using sawtooth oscillators and a MIDI controller to play chords for the system to analyze. The challenge with this project was devising a system for processing the data from the FFT matrix and molding it into a form that is usable by the SVM but still contains enough data to identify specific chord spectra. The algorithm is powerful enough to recognize, for example, the difference between a C major chord and a C minor chord, if given enough training data.

In this demonstration I show how to train the SVM and how to map new chords. At the end I show that the system is not aware that a chord played an octave higher is not recognized. This can be fixed easily by simply mapping one chord played in several octaves (for example play C major chords with roots C3, C4, and C5 as state 1, D3 D4 D5 state 2, etc.)

Continue reading

Project 1 – Kevin Darr

I decided to make use of the MIDI Fighter 3D midi controller with built in accelerometer to control the lighting system in the Media Lab. The Fighter is being utilized as a drum machine which has kick, snare, hi-hats, crash, and a series of bass notes. The accelerometer channels control the lights as well as some digital effects on the drum machine, including distortion and reverb. When sent MIDI notes on the correct channel, the MIDI Fighter lights up on the appropriate button with color dependent on the velocity of the note. I used Ableton Live to send these MIDI messages, as well as play the samples for the drum machine. To get control and MIDI messages into Max, I used ctlin and notein objects. When tilted left or right, the MIDI Fighter as well as the overhead lights turn red based on how far the device is tilted. The same is true for forwards and backwards, but blue instead of red. The snare drum triggers a flash from the UV LEDs, and the bass notes trigger a green flash.

 

I had trouble screen capturing audio and video at the same time, so here is a short audio example of a drumbeat I played on the MIDI Fighter.

 

And here is a video of what the patch looks like, with added pwindows to imagine howthe lights in the media lab would react.

Continue reading

Assignment 4 – Kevin Darr

For this assignment, I created my take on a spectrum visualizer using jit.poke~. The visualizer works by doing spectral analysis on a number of different audio samples and writes the data into either the red, green, or blue channel of a matrix corresponding to the frequency bins. The result is the visualization of 3 audio signals simultaneously. I added a rudimentary spectral degrader to demonstrate how different effects are displayed on the visualizer. The audio used in the examples are short loops that I wrote. (My favorite is the 8-bit lead synth on the blue channel due to the pitch bending.)

 

Continue reading

Project 1 Proposal – Kevin Darr

I would like to make a project involving the use of a MIDI Fighter 3D to control lights in the media lab as well trigger samples. This project is inspired by the work of Shawn Wasabi, an electronic artist and performer known for his work with MIDI Fighter controllers. Here is a link to one of his works using the MIDI Fighter 64.

 

Assignment 3 – Kevin Darr

I decided to write a short drum+synth loop in Ableton Live to use as the original audio to be convolved. Here is the loop (2 iterations).

To get my impulse responses, I traveled into Schenley Park. This impulse was recorded on the trail underneath Panther Hollow Road.

Here is what the original sounds like under the bridge:

 

The next impulse was recorded near Panther Hollow Lake. Notice the background insect/bird noises.

Here is the original played next to the lake:

 

For this “impulse” I recorded the sound of the stream that flows into the lake.

The convolution (my favorite of all the convolutions):

 

Finally I attempted to convolve the original with the sound of wind, but I didn’t feel like finding a good sample. So instead I put the original recording as the IR and convolved them. Here is the audio:

 

(Shout out to my trusty assistant Ben for being the balloon popper.)

Assignment 2 – Kevin Darr

As in the in class demonstration of timeshifting with video using jitter, I created a simple video delay without feedback using a webcam. However, each color in ARGB has its own delay controls, creating an effect where each layer of color echoes differently. I was unsatisfied with how “regular” the echoes appeared, so I added the ability to dynamically change the delay time of each channel independently by using the microphone. As the received amplitude increases, so does the delay time. These abrupt changes to the delay time create some stuttering to the echoes, which allow the user to create trippy music videos on the fly.

Here is a video of me messing with the patch while Bassnectar serenades me.

<pre><code> ———-begin_max5_patcher———- 3609.3oc2c01baaiD9yI+J3noep0wGdGf2L2M89czoSGZYZGlpW7IQkl1N89 sejXAkkcjnVSrfjo4CxhRLZw99hmE.7Oe+6Vb21uTteQ1+L6mxd269y2+t24 +n1O3cgqe2h0EeY4ph89aawlxea6ceZwMvWUW9kZ+GuZaw8qK2uOSwXce4SE 0K+X0lG+kckKqAZvM42xtIS29hy+pPbKK6mC+O1dndUYc8u+TIb6KVb7q1bX c0lluzOJ3gObe8uuxeqKV77sA+Hu39pt2eSMC7OvMtEse3e89229xMww16xV Vr957qxw7+gMXNlECGaFBGub650kap+JVt3v8Uay1t4er8gG5gyyAN2xTs+g qAVmcBq+ztx8MDnntZ6lSG5mUSe5Mep7Ubq9lLoz4ok8qnw0DWryHtz7gHtJ +i6KV9+5Qf3zx1wpQ6EHJc2quM4g.k7vvt.MFh7PMHGlUketb05x5xc8JTBZ NmvakH7WYT84fT0XSl.aHg1auxUfYq5V8QhrtX2uVtKDk7Cllu9CJWyKRSyK BUyKbQyKMW0N3QKqOmqpxt3kD8v9R+W6HzC9tUGJydnZSwpr6KWU768nezbu BgYSoSrRpa0.7FGjle9bAIdwJEkA8dbWY4FjxLowmhC3iDKybdq0bZB7ojTJ x1UdORAlvajosihQlOBiyQi.SLnRINr9txc8HOrZ+viagZkvTzvMMd0Eadbn AFK1U3CU+KkaJtCDCLThSkp80yLDWVroguZFRkuk50DmQHKyWPcrOnDlGJVV usW8fC3Nn3sTYXJrg.ERBckkZ5i9gUp0T3WqTynGAoFD+iyLzH0TTG.DqLSC VZ5QwRyGcImHQ1fxY7vpsM+z8MuIcNT7p4Bg.a94pV27Szx021MvZDEceH63 GNCBV1I3s4WHZ4Ca2stveylXhTxSitfKX+8SWv0IUWHxShtvw8CXo3uQphKV CAQZBaRJRqwq.RvY0y9pztrwNckoI3oQLqgwNO2M+EyWL9NchYdNgnW9CMwC j8I7UNOiAyLCfpoeYeS.rh5K.goHBbQ3pwjsYBfsESNaKFQ11J..JUSNWOnP IWEqQK.+tK7GnTa4PYvXZAAmQnZcU0lxdYaAfnowixB.NU+508UOtoX0WGFc PJ3yEDiYRhB1AvTZEpoVAynLbUw881WAKTLnIDj19Vzug2Em.3rZXJCbUmcW 1CHRSwY9fVR90EAdC6anw.3L7ugxrzeeSbaLbuF.N2WCxjD315RhacGCp0Sr asaD8pOpUcyGuZmaLcpCEgMebpGV6QFnSMS.cCQM0N0pzjqtS8BfJMgN05wz otyllOebpMioScXJF4yEWZoa7bosA7hfUkwD5QKsoY5UftUlOwNz4iXo2.KO mbmUIAENiJ.Z97ECNNzS+KBlb8tpkaWscGb2rasNkjqto4cMdjrbW66XBoVj eSKz4naJ1YAoiztuFvz+pKiBX0B.sQNsq2tPGDkjzAQtj796eMIEWnjO2FE. .e5EUfAYnu9FZZ2JyQee8ulzxoyeVoaUoTX4xu.MFjrRSc27uljxvNolVSZM qbWfFCRRIocIQu8vl5las215DlXiLrJgmjEFMiM57c2D5fVpOM7cd9Xy1VIX nxESHWSYs9epp91CadpX4u1qx1v8wCrPJ.Dy2o428WVWzTqxWZqfB+UQVHo9 LhK6XKtBK6QUH742VRKyXKsjvjnUvrn+FSZoSyZEPZN1cqY9zTt7RE30ySgw 4Vitc1IxbCy5mmhsYVJJdzySwnIs6xMoU5COaKnaf+HUWW47hM5AY8nfkFSu N1SFwZ19MaiM.ctMQKSml4R+sA+SYiIqdH66p3Y+6+UFKq9iMSkp8pxU6KyZ FDh1qvHxX.tfNNNYF8XFYkI0lfa4ybaBJaAvGxjLLBEEGKF3oINnl94.zKhK vxJBRPqrSwD.rFR6zQUVEBFlC6+ULv82pmuoO0cLt3Vh6xS+7tLL4dvFmguO Oog4Gz7cu6PccSMf8M8NXABJflc.q5Hg5prI8qKAJgw3OVksq7QDrsTXPum1 ubZqHVFYtDUJSv5kmqNAhsYXZK2.6L+98EOV9U58FZ8zgZXVeYeGlBWjPCMC sAXHAyiH+kyRIyWs49xqw0G6Y.rMXLSBWmOlmcEBF+j3aSygWQtjXfU.K78k 0smTIYprkerXW6AO.KyJXHB6oXA720uUDWnOwVdZ51atT+bKFl2vnbwM1xWA iRKtIZY6+78703LBa7c5cLQPgEL4z1IEAEQhPPoi8fNiLemsXh1nS4B42Fru bt.fRPhwclIF+DgJkVDg008L1hvNdvmzIS.H9mLzSD4iJ5INnAhvBfeZ.OYX 6s7ABdRfec54.zIR4HBchCfELzn7IG4jgc.2bUjSrgX0gtVNY.mnbiIvIAtV xlXbSzo4TKJX5F1O7yWXSzxoA1jPpqf5eZPMQ6FYTSbZwIL8z.ZhdLAMIb.c DBsMMXlXXyDLS5h3ENkllCPlXnFOoqrLcTgiGDoLTDulDIfJliIHJiAvYxak bWt83AWY69QGJn8ziqzys4I7aWD3j+D5KnTOtQFH8TkntZ8U.3.1eLvD4vra QfMHSRpAfS79yFAeykmTrmX7K1aXmpDdW7eqIS21equSvRXMbnyCGQV.Bcsa gSrE2QxRCOrv4AYr1A0anO0o55PJKHN9X4WdZW1O5esZyOw94u+V4Oz7Fdya rHjnpvRHgQTpiH7YxYi3DAEvhlgylGsP2QIP26wrjwkv9jzB65DwWw+ChyNy levklE+TP+ImyKEUQumfqCwJQLdsCw.XDIBoSmptgXRyoKWG2wkyareG1iVf qx9ZN+aC1WMWZFRPhENynmvlgXDozhHr64mwVD7wqYHcxDtdRaFh1NpMCQEf VwMcMCQOlqjz.+BEBM0MCQmf5.68ICP.lT3onSdxpBTyGQLBCbUvBdRfHTml EwQfy3tYddaUZVQvA1GVPBSXasnLfr2EsbWSMI8VNdmlGNeIsVb4htITERug qzHkDpyHIzi3T1UPTp.xESeuaUIwFWBOWuDZ0DajOpK58NtNOeZ6cqLMy2JX 5xMt4cuakhoo2scyGET+SSuakrQt2spfYNvzSSuaEi4CqwvVpODZaZJLSXns .6dY37vylQfekIq5ZgdlzP5PX7PSGmEMjVHFZaod3o8Odn28gGz.nPQoLDcX 85b3Ca2T+PwxWDHu8y1W8Gvy1.wswrklVbxO4llLG9u4+rqpXEgVP+2lLR61 lIx9whk0UetLieUgX3UtNptWFy90McMuraNapSd9WxY4ibuKgCVN4kGDWG5M JyOtb018k8E5D1bLvFgK+sjofhGyqFq+XT0dApOD.AHsvpmJ6aJDPl0fryN1 xNvRK+RmV9CoxLhyt83th6tp+ZNZ7OScFrW.cl+W2uFfd0SUbOiz94uTlre6 gcK6FogCmraxdlatubec0liJ7e53dPpI7P1OeV4NZJ4PPIikBJYQPItDto3o jDCkjwRIynwSsTRfgRhXojdz3IMXVccJEssmBAO0YfFGkjHnjiSAOwvvSBJ3 ILFDbNATxggTuRYtt59m1VsodeWlM8oO924scAt6xXGcXhU5TTHGrwKGjgih 7DHGvD0ylSgb.SrHklJJwwPIUrTRgxchDyHAFC1WJi2t69R+FFmOBjVddRyh iz72fySbThgMXerTx6McMySWNUT5p7Dq+PvJerFQ3oecHzi+xXGcXBAaeouL QVznHc6ilxDXRasXT+l9UJArMfUEUmNxeYrJEKVkROiNK7Tj.lLZWxK+kwN5 PkshhZ+rXxVYoHviESNDKE0nawTOqUPEktlMtkjfonxMQhEAlTQVFETh8F3o K3CFdZqICqnttBH4DDg.Sny9FaBeM8hNT9BuOxQkASpttv9wSINFJE6rBMXx RooHFjAiRU1agBFGnJgVPoEriWE6XyfEUqnojdzrgTuA4cbTBSL+NnuhiRBD 9EFxnzUsHHwu.SLeCEYLMXh4qETDUASxkTLMRT3qxSQI2ZLIGdkmxqBu4fm7 ER3LgvlyNdUjpCsK5wVtTjnwFlzBFJJiSiw3PSA3PZLA408VbkxxfmRd7SR0 wInzJMFfqjhdGagoDFNZkjN3Iob7og03f5hhXgZL4rTjPIwav4KNJgI9thhp XzwVeNmAMiW7bA54hnseTXhAqoHVhxgMUZzTxNVPZqvDeTjmBrxPQZtHIItU n5Y.EPkpvDdS06LfBAaCOwPj1muhhw10RKHnXdIJTQdMTQINFJEa8tJLyKQS hMDlrIuJ5zqKyLbf5.OxvBkx4uJ1wFl7ORRzrXlvIAzQhILuzREk3XnTr1pR K1hSIOLuD2R5IIsDQhJ6FEYrkXB6n6elfvtkfaDvQ5IT8uI9JjjRr43u7XC. gi287L94qhcrgJzFEPtHw.4hjhRxkr2fU24k2g49IkpSR46uJ1wVrEwq76q5 iaawv6ibTIPsTFoHjqvEstQAh.50MBLQJET3KHLXSZGahGAlr1BJ75DnJlkh 4AJv3DoonrYAlni4TLOPAG6hINZJwdCRuKAjPtBZum3jzQBB.Sfip0XNJpXf ip+S4THx45wZ1WbTYYgEtFOZZgU9EMkD4nwnLdZYQuRZimVXHEI5JTlfjLop iqJx9wdMmDRgp5UIIjBU4qNRHEJb4RQm7vSZN0SUjyv0FQRhGyv43YSwbhQR blJIJXFC6hcJ5PNXhBjDdDSkT5quPlNt2NkGupeaAXGkU7zSetb29.87ixEq K9D7.9xdi+xpMvkR+k6J+bU286OZXVTra4GqpKWVeXGrE29R6pdv+ecaCg2b nJHlZn7e89+u0XG6V ———–end_max5_patcher———– </code></pre>

Assignment 1 – Kevin Darr

For this assignment I took inspiration from the example of I am sitting in a room by Alvin Lucier by iteratively re-recording audio. The readymade system I used was Ableton Live. I took a default drum loop, recorded the audio using my computer speakers and a condenser mic, then applied a built-in audio effect called Redux which is essentially a bitcrusher/downsampler. I did this 11 times (including the original loop). It became somewhat painful to listen to since certain high frequencies were being amplified each pass.

An interesting and unintended side effect of the setup I used was the latency of the system. Each recorded section is exactly 3 measures at 70 BPM, but as you can hear the recordings become increasingly late and eventually cut off the end of the original loop.

Here is a link to the piece.

WARNING: As you can see in the Soundcloud waveform view, it gets very loud at the end. Please avoid damaging your ears/audio equipment.