contact mic triggering of samples

    Apr 16 2012 | 4:10 pm
    Hi guys
    ok im very new to max msp so please forgive, in fact I haven't even used it yet, but I am a quick learner.
    Now iv been told by a reliable source that the software might be able to do what I need for an audio installation I want to create. Basically I wanted to create a room with contact mics on the floor all taped down obviously, and as people walk around the room there footsteps would be amplified by loudspeakers, but, each corner would also have a different effect on the amplified footsteps, if that makes sense, so one corner there footsteps would go into a large hall verb, but as they walked to the other corner it would change to a plate, just for example.
    In the middle of the room might be a blend of all 4 effects. Does anyone know if this would be possible in max msp. I have a 8 channel focusrite sound card plus an octo pre with another 8 possible channels. I have 4 contacts at the moment but can buy more if needed. Does anyone have an idea of how hard this would be to implement. Would I need more microphones or could I perhaps with clever use of velocity triggering in max msp be very creative with just a few mics

    • Apr 16 2012 | 8:56 pm
      ok guys can i ask a simpler question, does anyone know a way that with the use of a few contact mics, i can use max msp to create an interactive environment. So turning the electrical signal from the mics into a signal that max can read that can trigger recordings etc. is max capable of that. could anyone point me to any material or tutorials where i could start my journey
    • Apr 16 2012 | 9:06 pm
      you could check out this by stretta, to get started
    • Apr 16 2012 | 9:12 pm
      you could also think in terms of the piezos being sensors, and interfacing via an arduino, you wouldn't really need an audio interface to just fire off samples.
    • Apr 16 2012 | 9:33 pm
      In applying fx to input signal the problem is not max (pretty straightforward) but hardware solution (amount and price of hardware grows exponentially with number of inputs). If this is the route you want to go consider hanging condensers or dynamics from the cieling
      To do your second idea, you would need something like a traditional drum trigger/drum sampler. Not having max on this system (and not knowing the relevant object off the top of my head)you would need to use an object that gates your audio, ie bangs if level is above specified value. An arduino may be the appropriate solution here; it will allow you to control max with midi rather than audio, which frees up the cycles you would normally use for audio input.
    • Apr 16 2012 | 10:30 pm
      The response by jamesson is right. Here are a couple of details to help you out:
      You can use microphones both for audio input and for threshhold triggering.
      Try this patch:
      In answer to your question, yes Max is the right way to go. It is flexible, fast and allows for plenty of experimentation. Have fun.
    • Apr 17 2012 | 12:04 pm
      hi guys
      right first off thanks for the wonderful responses. OK so I've been thinking about my installation today. So here is an explanation of what I want to achieve.
      - So basically its an empty minimal room
      - you walk around the room and your footsteps are amplified onto loudspeakers, but as you wander into each corner of the room your footsteps begin to enter a new reverb space, and as you get closer to the corner its get more reverberant or less reverberant as you leave the corner. Therefore the installation is dependant on the audience participation.
      So would it be possible in max to program a patch, where the contact mic's sensitivity is used to trigger the wet knob on a reverb plugin for example. So as your vibrations on the floor get louder each increment in loudness raises the wet knob on the reverb plugin.
      Does anyone here think this is going to be realistically achievable.
      @big_pause.Im not sure how or why an arduino would benefit me as im not sure what one is
      @Jamesson, yes i agree, although why would i need to hang mics from the ceiling, could you elaborate please
      Thanks guys for your input
    • Apr 17 2012 | 3:44 pm
      "as you get closer to the corner its get more reverberant or less reverberant as you leave the corner"
      On some level, this is achievable, but fraught with systemic problems which are not because of the programming.
      There will be an unknown number of people in the room at unknown locations. They will not only be creating a multitude of footsteps of various intensities (making it practically impossible to differentiate between near and far) but they will be unable to hear the relationship between their own position and the effects.
      Footsteps have extremely differing characteristics which depend on the shoe worn, the person in the shoe, that person's activity and the floor. Gleaning proximity from footstep intensity will not work unless all of the characteristics are completely controlled. Even the floor would have to be uniform.
      Reverb is not something we consciously consider very much; different levels of reverb can be hard identify. It would be worth a try, but I would start by doing that sort of experiment in my living room before deciding it is a good idea. Personally, I would be suprised if you get a good sounding footstep from a contact mic at three feet away in any normal kind of shoe.
      "hang mics from the ceiling"
      Unless they are hanging down to the floor, you would have no sense of proximity from what they pick up, and the sort of microphones which could do this effectively would pick up every little sound in the room.
      My reccomendation is to start with a contact microphone, a mixer and your home stereo, and walk around the room in some comfortable shoes. If you can get the sort of recognizable footstep sounds you want, then try the same with reverb and go from there. If you want the reverb to change with the distance of a person from the corner, then get an ultrasound distance sensor or something similar and find out how to get its data into a computer.
    • Apr 17 2012 | 5:11 pm
      well its a shame really, I understand your point totally, and it does seem that this is going to be to complex a beast to attack. Just for the record the installation is one person at a time. WOuld that help change things. I do understand your point about unknow locations however, but yet what i wanted to achieve was only 4 effects in the room(each corner), and anywhere else you walked would just result in a gradual loss in the previous effect, and a gradual rise to the new one. with the middle of the room perhaps being completley dry. (does that make sense).
      also are you saying that ultrasound distance sensor is going to be the best way to realise the reverb idea. Im still a tad confused.
      IM assuming your saying use contact mics to reamplify the footsteps in the room, but use the ultrasound distance sensor to take care of the desired reverb trick. is that right. if so would the 2 be able to tie together in a max msp patch.
    • Apr 17 2012 | 7:11 pm
      I'm not saying that your idea is impossible, but based on my own experience with a large number of installations, it is best to test the basic precepts first in the simplest way possible before planning the whole thing. In your case that would be
      A. can you pick up and amplify footsteps? and
      B. does applying reverb and other effects to the footstep sound have the sound and impact that you want it to?
      "IM assuming your saying use contact mics to reamplify the footsteps in the room, but use the ultrasound distance sensor to take care of the desired reverb trick."
      Yes, that is what I mean. There are various types of distance sensors, ultrasound is just one of them. (Most ultrasound sensors don't have the range that you want; I can't think of any sensors offhand which have that range except certain types of cameras or radar.) The best way to use them is with an arduino board, although there are cheaper ways. I have stopped using most sensors because I got heavily into motion tracking, but that is a whole other ballgame.
      I don't know how it would sound to try to pick up footsteps with a contact microphone. It might be great. Try it out.
      Using tap-differentiation on a uniform surface to establish distance (and ultimately position) is well documented on the web and goes beyond the scope of your project, unless you like electronics and are into that sort of thing. You won't be able to tell how far away a footstep is with vibrations through a normal floor based on intensity, although with the right setup you might get close by comparing the timing of 4 microphones in the corners and with easily recognizable taps (i.e. only one person and a load of filtering.)
      "if so would the 2 be able to tie together in a max msp patch."
      Yes. Max is the way to do it. Parts of such a project would be relatively easy, while the use of an arduino board for a novice would mean being presented with a substantial learning curve. For me, this is the sort of thing I love to tackle. It may be your cup of tea as well. Test those basic points first, and see if the rest of it makes sense for you.
    • Apr 17 2012 | 7:13 pm
      I must disagree re hanging mics from the ceiling. Depending on size of the room, you could fairly easily inspect signal levels of microphone to triangulate position of viewer. Now, granted, sneakers + someone walking quietly=problem, although you can compensate. Contact mics, on the other hand, would make position detection difficult without a ginormous array.
    • Apr 17 2012 | 7:26 pm
      I'm very willing to be wrong about this (and I wrote about it assuming that the room could be full of people.)
      I have used contact microphones on large windows, and four were all that were necessary.
      If you could use microphones in the room, you would have that uniformity lacking in the floor, but would be dealing with reflections and other noise. I'll regoogle the hanging mic idea to see what people have come up with.
    • Apr 17 2012 | 7:29 pm
      I did not think about windows - that is a good idea.
      Re reflections, all you would need to do to filter that is a gate.
    • Apr 17 2012 | 7:35 pm
      What about the amplified sound of footsteps in the room?
      I have tried a couple of positioning ideas which did not work because the audio signals I was getting were too muddy, but these were with contact mics on various surfaces other than glass.
    • Apr 17 2012 | 7:42 pm
      hi guys, im a bit lost here with what you mean regards using mics hanging from the ceiling. Are you saying that in this room i could dangle down say 16 mics almost to the floor, and participants walk between them, and each mic would be picking up the noise from you moving and when you move that triggers an a reverb effect for example. Obviously they would have to be placed quite far apart wouldnt they, so they only trigger when your really close to them. is this what your saying
      @lembert.dome wellive just looked up some motion sensors, a sharpe one i believe it is, and they say that it has upto 5 feet sensing ability. So could i put one of these in a corner, and when you walk into the corner the effect would intensify a foot at a time say. Would i be able to rig this motion sensor to max msp. The sharpe unit says it has an analogue output and i believe the website says that you can plug that into an spdif input. does this sound right you? then this goes directly into max perhaps?
      again it is a shame that the sensor wouldnt do 10 or 15 feet, becuase that would allow the user to hear the effect intensifying at a slower rate wouldnt it. In 5 feet I doubt you would hear the changing through the effect.
    • Apr 17 2012 | 8:13 pm
      @lembert do you not think it feasible to use an array of piezos as pressure sensors (that is essentially what they are), to work out position?
    • Apr 17 2012 | 8:18 pm
      Any sensor needs its output digitized for it to be useful for a computer.
      Sometimes the sensor output is voltage, sometimes it is resistance and sometimes it is digital. No sensors that I know of are meant to be plugged directly into a computer. They are commonly made to be plugged into a unit which can communicate with the computer, and the Arduino is a popular, cheap and reliable unit. It is not plug and play, however; the user must want to learn a fair amount to be able to use one. If you have done this sort of thing before, it can be done within an hour. If not, you could need up to weeks.
      As I wrote before, I am now concentrating on motion tracking by means of video. This has its own host of complications and limitations, but operates in the range of several meters rather than inches. The sensors I used in the past were all under two meters in range; most of them below one meter. That is great for certain applications, difficult for others. Video tracking can be done with inexpensive equipment, but eats up CPU power and means you have to be careful with lighting and positioning.
      If this is at all something you might want to get into, read this:
      It will be the cheapest and (debateable) easiest way to track people in a room.
      If I were doing what you propose, I would use video-tracking and put the camera on the ceiling if it is high enough. You will have to buy a powered usb extension cable (they are otherwise limited to two meters) and change the lense of the camera. Fry's electronics sells fisheye lenses which screw right into most webcams.
      Download the excellent cv.jit library and learn Max.
      Now, a word of caution: since you are not yet a Max programmer, let it be said that although you can do an enormous amount of things with Max, it is not plug-and-play. It is a programming language. The time you put into learning it will be directly proportional to what you get out of it. This is not something I would reccomend doing for a project next month. Get it, try it, learn, and then decide if you want to do that project. Have fun!
    • Apr 17 2012 | 8:26 pm
      yes, which is why I initially suggested the use of piezos and an arduino to begin with (multiplexed to account for a number of analog inputs, but thats an aside)
      and lets be honest, getting up and running on the arduino platform would not take long at all, theres tons of examples in the arduino playground, and it would be a great learning experience for interactive work of all kinds.
    • Apr 17 2012 | 8:30 pm
      Hi lembert yes i completely understand and thankyou for your continued help. So with the webcam i could put one up high in a corner pointing towards the middle of a room. The lens would be tracking the person, and as they walked towards the lens, that could be directly used to turn a reverb wet mix up for example and down as they walked away. This would be possible would it. Im assuming this could all be taken care of inside the computer, so just webcam and laptop for this rather than the arduino unit you mention. Also perhaps I could ask around on the forum for some help coding a patch. Do you think this approach would yield more realisitc and useful results. I like the fact that tracking can be several meters ( very appealing). How much would a camera and lens you mention + cable cost.. approx
    • Apr 17 2012 | 10:07 pm
      @big_pause: I fully agree with you that the Arduino is a wonderful tool. For some of us the use of an Arduino board would be second nature. For others it would be a daunting task, involving many steps which may all be new to them. I heartily encourage anyone who is interested in digitally-enhanced art installations to use such equipment and don't think that learning this is out of anyone's reach, but the learning curve will differ person by person. I just don't want to give someone the impression that it is like plugging in a joystick.
      You mentioned using piezos as pressure sensors: there have been various successful projects over the years. I remember one of them having a mesh of peizo-ceramic cables in a textile covering the floor. I looked into that sometime 12 years ago and found that it was too expensive for my purposes. I don't know what other approaches have been tried.
      @abc676: Any webcam would work, I used a Unibrain Fire-i for a while and had good results with an Eye-Toy, but you can use any webcam to start with. I don't know the prices, but these are off-the-shelf items. Look at the cv-jit library (look in this forum for it), its help files are sufficient to get started. I would mount the camera looking down from the cieling and use an 80-degree lense, but it depends on if the cieling is high enough.
      I am not saying that this is the way to go. I am just saying that it is the way I would do it. There are many sensor types and strategies which could be better for certain ends.
    • Apr 18 2012 | 10:28 am
      OK ive been thinking about this since last night. Ive found some wonderful articles on google about webcam to midi software and this does seem to be heading in a direction now that might be able to help me. Can you offer me any of your knowledge regarding this. Ive seen a few products online especially at that saying that you can get infrared sensors with up to 600cm range that can convert to midi cc. Also some guys have developed software that examine the blue green reg spectrum in front of the web cam and uses that data as midi cc. Do you think going down this route I am going to be able to turn this data to rotate a wet/dry knob on a reverb plugin. I really feel like this should be capable lembert. But as nothing like it has been attempted out there I cant read anyhting about its potential you see.
      Also lambert I checked your webcam out and its very impressive, but firewire isnt an option as my audio interface is firewire and therefore I only have spare usb ports. Also I need four so the price could soon mount up. Can i just ask lambert, with these modern webcam of which I never use if im honest, are they at a stage now where they can stream very well, or is it still very bitty and choppy. I have an 8 core pc to drive this system so do have plenty of power. Just wondering that surely the camera needs to stream in almost real time movement for it to be able to fluidly send cc data to a vst plugin?
    • Apr 18 2012 | 5:04 pm
      The ir sensor sold by eowave seems to be the Sharp GP2Y0A710K0F. I would have loved to have tried one out back when I was using such things, but this one came out later. It seems worth a shot. Sharp lists the range as being between 1 and 5.5 meters, and some posts by robotics users show ranges around 1 to 4.5 meters. This will be affected by the material the ir light is reflecting from, i.e. what your subject is wearing, including differences between the pants, shirt, belt, etc. The sensor uses triangulation rather than reflectivity, so it should work just fine.
      In using sensors of any type, there are a few basic principals which will determine how they best can be used. They include latency (the time it takes between a real-world change and when it gets reported to the computer), latency-jitter (the frequency at which measurements are sent), and resolution (the discreet steps of measurement that can be percieved by the sensor.) In the case of the Sharp GP2Y0A710K0F, Latency from the sensor (not including latency introduced by the Eowave Sensorbox) is over 16ms. This is pretty darn good and would not affect your installation, but if you would be using it as an ir theremin for hand motions, you might begin to see and hear the latency if the Eowave Sensorbox also introduces significant latency. As a rule of thumb, I find that anything under 40ms won't be noticed unless the sounds produced are percussive. The latency-jitter won't be a factor as far as I can make out, the datasheet doesn't list the frequency. The resolution is not influenced by this sensor, it is dependant on the bit-depth of the Eowave and how you use the data, such as MIDI.
      I write all of this just to give a taste of the nature of using sensors. On a simpler level, you can get good results even if you are as yet unaware of these considerations.
      As for the webcam: in my post, I was referring to the use of a single webcam, mounted on the ceiling and having the whole floor in view. This will only be viable if the ceiling is high enough.
      Yes, many inexpensive webcams are good enough, but I have not used cheap webcams (except for the one mounted in my MacBookPro) for the past 5+ years so I don't know their prices currently. Borrow one and try it out.
      What website describes the use of rgb analysis for a new type of distance measurement? That is not familiar to me.
      "But as nothing like it has been attempted out there I cant read anyhting about its potential"
      There has been a very large amount done in this direction, it might just be that you are not attuned to the types of articles which address these issues. MIDI control through sensors is a common practice and Max is one of the primary platforms used for it.
      "camera needs to stream in almost real time movement for it to be able to fluidly send cc data to a vst plugin"
      The camera also has latency, latency-jitter (framerate) and resolution. For a cheap webcam, this will be around 40ms latency, 33ms latency-jitter and 640x480 resolution. This means that every movement will be used by the computer 40ms after it happens, report movements every 33ms and only report movements which are greater than (the distance seen by the camera)/(640 in the x dimension). For your project, this is more than enough.
    • Apr 18 2012 | 6:48 pm
      Hi lembert as ever you are very helpful indeed.Thanks loads. So can I just run through a few of the things you said
      "This will be affected by the material the ir light is reflecting from, i.e. what your subject is wearing, including differences between the pants, shirt, belt, etc. The sensor uses triangulation rather than reflectivity, so it should work just fine".
      So does it matter what the people in the installation are wearing, ie reflections, or is it strictly down to triangulation as you mention just after. would lighting in the installation be a factor. should the room be dark or light.
      "not including latency introduced by the Eowave Sensorbox) is over 16ms"
      So this could theoretically double the latency, and then with the fact that the plugin has to process the audio and send that out over the loudspeakers, the overall latency could end up being unusable could it not.
      3. I think that to be honest lambert the webcam is becoming a much better alternative. can I point you to this guy here
      This guy seems to be almost doing what im trying to achieve. Ive never seen the software he is using anywhere, tried looking just now and no luck. But could we break down exactly what technology this guy is using, and perhaps how a max msp patch might be able to achieve an effect similar to this. Where he has different effects on the screen could I not have 1 big effect that is the reverb starting say on the left at 0 mix going right up to 127 at the extreme right. surely this is possible guys?
      4. With regards to amplifying the floor in my installation im having some issues. Someone has suggested that piezo mics may not be what I need. Someone on gearslutz has suggested I use a pzm mic. Can anyone clarify hear for me what the best mic would be for this situation. I simply want to rig a floor with as little equipment as possible in order to amplify footsteps onto a loudspeaker system without creating any feedback issues.
      Thanks guys
    • Apr 18 2012 | 7:10 pm
      1. Sharp says that the rangefinder would not be inaccurate due to the material off which it reflects. It does affect the maximum range.
      2. With what you are proposing, even a latency over 300ms would be fine. I doubt that you would have to worry about any Eowave latency issues unless you were trying to process fast drum motifs in real time.
      3.Yes, a max patch will do that. This is a part of practically all that I have done with Max for the past five years. The help files for jit.findbounds and cv.jit.blobs will do almost exactly what you see in that video, but with fewer options.
      4. I don't know about the mics. I have had great luck with piezo discs which cost 50 cents a piece, even without an attenuation circuit (don't do that; you could fry your preamps). I know that tap dancers sometimes use pzm mics. The nice thing about contact mics is that they are far less likely to have feedback. Instead of using them to pick up the actual footsteps, you could try to use them to trigger samples of better-sounding footsteps using that first patch I posted in this thread. Again: borrow and experiment.
    • Apr 18 2012 | 7:43 pm
      My friend you are just too kind. This is a great forum truly. Ok yes i understand now that rather than just reamplifying footsteps. I might aswell just trigger pre recorded ones in max. Great idea. Could be fun. Then using the came simply apply effects to those footsteps based on themposition of the participant in the room. Simple i think ive cracked it in My head now mate.
      this is totally new to me mate. Im actually just a run of the mill dance music producer but im starting to venture out and try new things in life. Why not right. Now on thing left reall to talk about lambert. In a room approx 30 feet by around 12 to 14 and a celilkn heigh of around 10 or 11 ft wht sort of amount of equipmnt would you expect for a project like this. Im thinking 8 or 16 piezos going into my focusrite saffire rig with octopre taking care of all the analogue ins. Then 1 webcam overlooking the whole room? Or 1 for each corner. I mean that guy was very successful with one. And then finally just a stereo louspeaker system although i suppose i could get technical and do it in 5.1 so that the sound i all around. Oh god buy then id need a surround reverb. Oh christthis is where things go to crap lol. Any opinions much welcome guys.
      Lamber thankyou your a legend
    • Apr 18 2012 | 7:48 pm
      Oh just one additional thought lambert abou latency. Well footsteps are a transient sort of sound arbt they. I mean surely you would notice latency on footateps. Surely. I di know that my soundcard can run at around 5ms lowest latency. Perhaps using routing tricks or with use of a hardware mixer and effects racks i could avoid latency all together. Arg but the webcam is gona bugger things up. Unless i could get max somehow to avoid audio all together an simply use max to convert webcam to midi out to the hardware reverb units. Possibly? But theb id beed a hardware sampler to trigger the sampled footsteps right. Oh go im in a right state of confusion now. Lambert help. lol
    • Apr 18 2012 | 9:25 pm
      Don't worry too much about the latency. Basically we are talking about two latency concerns here: the reaction of the effects and the latency of the footsteps. The first depends on the camera, which introduces some latency but that will not at all be noticeable when changing effects. The second is all in the audio and MIDI realm; that will all be fast enough.
      If you have a MIDI drum trigger module, stick some contact mics on a floor, plug them into the module, walk around and see if you get that to trigger drum sounds (you will have to fiddle with the adjustments.) That is one way to trigger the footsteps. You can also plug the mics directly into your audio card, and use the threshhold trigger I originally posted. That way you don't have to have any other equipment than the mics.
      As for the dimensions of the room:
      A 10ft ceiling is not high enough to see a 30ft floor. Using an 80 degree fisheye lens you can see 16 feet of the floor and using a 90 degree fisheye lens you can see 20 feet of the floor. There may be some tricks to use which can allow you to cover the whole distance (mirrors come to mind) but I would have to think them through. Still, placing a single webcam in the room and connecting a few piezo discs to your soundcard seems to me to be the best way of doing this.
      At this point, my main concern would be to see if I could get useable signals from the piezo disc/contact mics. If you can do it with a drum module, then that is a great way to go.
      By the way, there is another, non-Max way to do this, using an Arduino to MIDI or an Eowave SensorboxM (which can also simply deliver MIDI out). Depending on your budget and time restraints, you might want to look into that. This would mean that you would want four of those Sharp rangefinders, however many piezo-discs you might need, some time to configure the sensorboard and then the rest can be done in whatever sequencer program you prefer (Live, Cubase, Logic, Reason, etc.)
      Since I have Max, I would always use it first, even if I eventually hoped to use other equipment.
      I've been happy to help, both because this has reminded me of some things I haven't thought about for a while and also because there might be a few other people who see this thread and find it helpful. My free day is coming to a close, so I probably won't be as quick to respond in the next few days.
    • Apr 19 2012 | 5:14 pm
      Ok guys, little update
      well just seems like this installation is beyond my current technical ability really, so for now going to put it to one side which is a shame. in the end the hardest thing about it was the amplification of footsteps on to loudspeakers. Ive spoke to a few companies and suppliers of electronics and the consensus seems to be its complicated. Im gutted though cos I really thought id be able to achieve fairly simply. even managed to source 3 boundary mics from my university stores. oh well