Entries:
Comments:
Posts:

Loading User Information from Channel 9

Something went wrong getting user information from Channel 9

Latest Achievement:

Loading User Information from MSDN

Something went wrong getting user information from MSDN

Visual Studio Achievements

Latest Achievement:

Loading Visual Studio Achievements

Something went wrong getting the Visual Studio Achievements

Wiimote Kinecting Music with Holofunk

Today's project brings together two of the top motion controllers into one very cool music making package, the Wiimote and the Kinect [Insert "dogs and cats living together... mass hysteria..." quote here]

Holofunk Lives

... here it is: a Kinect-and-Wiimote-based live looping instrument, or soundspace, or synesthizer… not sure yet quite which.

...

So, Yes, Holofunk Is A Thing

Specifically, it is a thing right here: http://holofunk.codeplex.com — warts and all. You can download it and play with it if you like, and I quite encourage you to! (You do need Visual Studio 2010 — this is a hacker’s project right now.)

It came together really amazingly rapidly. XNA and C# were good rapid development choices, and the Kinect SDK and Wiimote libraries were both pretty much completely trouble-free.

But the single best technical choice was the BASS audio library. I am very grateful to everyone who steered me in that direction. I am using only the freeware version, but the questions I posted on their support forum got unbelievably prompt and complete responses from the two main developers. If it weren’t for their help, there’s no way I would have been done on time. I can’t recommend their project highly enough.

What It Is, And Isn’t

The open source site goes into much more detail, but basically, what you see above is what you currently get. Beardyman and I had about a million ideas for what could be next. Some of the ones I plan to experiment with over the next several months:

  • Pulling live video from the Kinect camera and animating it instead of just using colored circles. (Imagine Monkey Jazz, live.)
  • Extracting the frequency and using it to colorize a sound trail (so you can literally paint with the loops).
  • Adding sound effects.
  • Chopping up and sub-looping your loops (possibly integrated with the video and/or sound trail).
  • ALL OF THE ABOVE.

 

Project Information URL: http://robjsoftware.org/2011/09/21/holofunk-lives/, http://holofunk.codeplex.com/

Project Source URL: http://holofunk.codeplex.com/SourceControl/list/changesets

image

protected override void Initialize()
{
     base.Initialize();

     new Test(GraphicsDevice).RunAllTests();

     m_kinect = new HolofunKinect(GraphicsDevice, ViewportSize);

     m_wiimoteLib = new WiimoteLib();

     m_sceneGraph = new HolofunkSceneGraph(
         GraphicsDevice,
         ViewportSize,
         m_kinect.DepthTexture,
         m_holofunkContent);

     m_holofunkBass = new HolofunkBass(m_clock);
     m_holofunkBass.StartASIO();

     m_holofunkMachine = new HolofunkMachine(
         LoopieStateMachine.Instance, 
         new HolofunkState(m_sceneGraph, m_holofunkBass, m_kinect));

     // Listen to the Wiimote
     if (m_wiimoteLib != null) {
         WiimoteController c = m_wiimoteLib.Wiimotes[0];
         c.ButtonBChanged += new WiimoteController.ButtonEventHandler(ButtonBChanged);
         c.MinusChanged += new WiimoteController.ButtonEventHandler(MinusChanged);
         c.PlusChanged += new WiimoteController.ButtonEventHandler(PlusChanged);
         c.HomeChanged += new WiimoteController.ButtonEventHandler(HomeChanged);
     }            
}

Contact Information:

Follow the Discussion

Remove this comment

Remove this thread

close

Comments Closed

Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums,
or Contact Us and let us know.