[Clam-devel] Aubio Processing Unit

Alex Norman alex at neisis.net
Sat Jun 23 14:15:40 PDT 2007


Hi all, I figured I'd share my first processing unit.  It uses aubio [so you
must have aubio installed to use it] and gives both "beat" and "onset"
control outputs.

currently the outputs indicate the number of beats/onsets found in an audio
block, but maybe that should be changed in the future to just send a trigger to
indicate a beat??

I've also attached a simple example that shows how it works, it creates tones
when beats and onsets are found.. it isn't perfect as I couldn't figure out a
good way to envelope the sounds, but it works.

Aubio isn't perfect either, but it does work relatively well for some music.
If you want to do off line beat analysis "BeatRoot" has been the best that I've
used so far.

-Alex
-------------- next part --------------
A non-text attachment was scrubbed...
Name: aubio.clamnetwork.pos
Type: application/octet-stream
Size: 322 bytes
Desc: not available
URL: <http://lists.clam-project.org/pipermail/clam-devel-clam-project.org/attachments/20070623/c4da73b5/attachment-0004.obj>
-------------- next part --------------
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<network id="Unnamed">

  <processing id="AubioTempoTracker_0" type="AubioTempoTracker">
    <BufferSize>512</BufferSize>
    <HopSize>256</HopSize>
  </processing>

  <processing id="AudioSink_Beats" type="AudioSink"/>

  <processing id="AudioSink_Onsets" type="AudioSink"/>

  <processing id="AudioSource_0" type="AudioSource"/>

  <processing id="SimpleOscillator_0" type="SimpleOscillator">
    <Frequency>440</Frequency>
    <Amplitude>0</Amplitude>
    <Phase>0</Phase>
    <SamplingRate>44100</SamplingRate>
  </processing>

  <processing id="SimpleOscillator_1" type="SimpleOscillator">
    <Frequency>880</Frequency>
    <Amplitude>0</Amplitude>
    <Phase>0</Phase>
    <SamplingRate>44100</SamplingRate>
  </processing>

  <port_connection>
    <out>AudioSource_0.AudioOut</out>
    <in>AubioTempoTracker_0.Audio Input</in>
  </port_connection>

  <port_connection>
    <out>SimpleOscillator_0.Audio Output</out>
    <in>AudioSink_Beats.AudioIn</in>
  </port_connection>

  <port_connection>
    <out>SimpleOscillator_1.Audio Output</out>
    <in>AudioSink_Onsets.AudioIn</in>
  </port_connection>

  <control_connection>
    <out>AubioTempoTracker_0.Beat Indication</out>
    <in>SimpleOscillator_0.Amplitude</in>
  </control_connection>

  <control_connection>
    <out>AubioTempoTracker_0.Onset Indication</out>
    <in>SimpleOscillator_1.Amplitude</in>
  </control_connection>

</network>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: AubioTempoTracker.cxx
Type: text/x-c++src
Size: 2601 bytes
Desc: not available
URL: <http://lists.clam-project.org/pipermail/clam-devel-clam-project.org/attachments/20070623/c4da73b5/attachment-0004.cxx>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: AubioTempoTracker.hxx
Type: text/x-c++hdr
Size: 1539 bytes
Desc: not available
URL: <http://lists.clam-project.org/pipermail/clam-devel-clam-project.org/attachments/20070623/c4da73b5/attachment-0004.hxx>


More information about the clam-devel mailing list