hardware and software for electronic music 
Wed, May 03, 2017, 09:49

Ground/It's All Relative

First, thanks Randy for making so much good information freely available!

I'm close to completing a 8x8 DIY soundplane (ignoring the countless suggestions to start with a 1x1 or 1x2) but have a few questions. I saw a similar question asked about 8 years ago, but I still have questions regarding electrical connections. If connecting to a balanced interface input/output, I get that I connect the positive conductor to the carrier strips, but what do I do with the remaining two (negative/shield) conductors? Are they both grounded to the ground strips, as close to the carriers as possible? Do you suggest soldering to make the connection? Do I need to make any electrical connection to the aluminum foil ground layers or are those just for electromagnetic shielding? I knew I should have paid more attention in my electromagnetism course :)

As a side note, I have the max/msp/jitter objects running on windows... I'd be happy to share these as soon as I can verify they work properly!

Thu, May 04, 2017, 10:05

At some point I had a diagram with shielding between each column / row carrier. I have since determined that this isn't really needed because the capacitance between two thin plates side-by-side is very small.

I would start with carriers connected to outputs and pickups connected to inputs. The rest really depends on your audio interface. You can start with only the + connection to pickup or carrier. My guess is, you will want to connect the - connections of pickups and carriers together.

I look forward to seeing your project!

Sat, Jun 24, 2017, 16:23

I've been busy in the past few months, but have managed to verify the Max objects on Windows! Things seem to be working well. Randy, do you have any of the patches from your demo video that you'd be willing to share, or recommendations on how to get touches out of this patch and start making sounds?

I've shared the code changes I made here: https://github.com/brianleu/ml_k1_sources. Randy, if you have any issues regarding attribution/licensing feel free to let me know. I haven't verified that things still compile/work on OS X, but might bust out the mac mini some time to double check.

Does anyone have recommendations for what route I should take trying to get an embedded version of the software up and running? Has anyone started anything using Bela? Would code from the Max patches be a good place to start, or would the madronalib repo be a better bet?

Sun, Jun 25, 2017, 12:03

yes, Ive been running some of the soundplane code on bela.

basically Ive take a subset of madronalib and soundplanelib, and put it in the project I'm working on (called MEC).

you can find it here,
http://github.com/TheTechnobear/MEC

its under mec-api/devices/soundplanelite

Ive found Bela is not really quite powerful enough to run the full touch tracker... its close, but not quite there. it is however ok for the raw data.

However, Randy is working on a new version of the touch tracker code, which I believe he previously said should take less cpu, so once that is ready I will move over to this newer code.

note: this is with a soundplane model A, ive no idea how compatible/or not, this is with the DIY version.

Tue, Jun 27, 2017, 08:00

The Soundplane Max objects are free for any use. Use / share away.

I hope to be done with a new version of the touch detector soon. I would recommend this for a new 8x8 project. Meanwhile you could do as thetechnobear has done. Or, another quick way for you to use your sensor would be to write a simple single-touch detector. Single touch is easy to do very well and I'm happy to give more pointers on that.

Wed, Jun 28, 2017, 08:41

So it sounds like soundplanelib/madronalib provide either touches or raw pressure values? Either way, for the DIY project I'd have the additional load of generating sinusoids and doing FFTs, so I guess I'd be out of cpu on Bela. An Analog Devices rep told me they're working on a beaglebone-like eval board for one of their Griffin SoCs (SHARC + A5) with a multichannel i/o daughter board to be released around October... trying not to get my hopes too high, but it sounds promising for something like this.

As a side note thetechnobear, I used the object you made wrapping MI Clouds + your object to forward USB MIDI host to DIN out running side by side on axoloti for a gig last week. They worked great, thanks! :)

Thu, Jun 29, 2017, 08:02

There is a low level SoundplaneDriver in the SoundplaneLib project that gets the raw pressure values. Then TouchTracker.cpp in the Soundplane project is the touch tracker. Madronalib is a collection of audio DSP code that I use in all my projects.