Summary: I'm interested in capturing audio through a microphone and, in real time, determining which frequency range (from a set range of frequencies) has the maximum level. This would be used to determine which note is loudest out three notes.
More info: Hello! I was hoping to get some direction for a project I'm working on. I'm also searching the mailing list archives, but I apologize in advance if I ask questions that have been answered elsewhere. If you think my question has already been answered, I would appreciate any advice on how to better search the archives to find what I'm looking for.
I am creating a staged adaptation of a 'Choose Your Own Adventure' novel. For more information, check out the Wikipedia article at http://en.wikipedia.org/wiki/Choose_your_own_adventure The important thing to know is there will be a branching storyline, decided by audience voting.
For the voting, I plan for everyone in the audience to have a small xylophone with 3. Each note will correspond to a voting choice presented by the cast. I'm going to have microphones positioned around the theatre to capture the xylophones and pipe them to a computer. What I'd then like to do through PD is determine which note was 'loudest,' meaning the most people cast it for their vote.
The voting choices will be displayed by a projector connected to the computer running PD. Thus, I'm interested in either piping the level information to another program (PowerPoint or something else) to display which vote won. I'd also be interested in doing this directly through PD, if it's possible.
I'm working my way through the PD tutorials included in the program itself, but would appreciate any advice or suggestions on keywords I can use to search the archives.
Please let me know if there is any information I can add to make things more clear. Thanks in advance for all your help. -Jared
without having read your mail completely, i'd suggest having a look at the [fiddle~] external, that ships with pd.
roman
On Tue, 2007-03-27 at 23:20 -0500, Jared wrote:
Summary: I'm interested in capturing audio through a microphone and, in real time, determining which frequency range (from a set range of frequencies) has the maximum level. This would be used to determine which note is loudest out three notes.
More info: Hello! I was hoping to get some direction for a project I'm working on. I'm also searching the mailing list archives, but I apologize in advance if I ask questions that have been answered elsewhere. If you think my question has already been answered, I would appreciate any advice on how to better search the archives to find what I'm looking for.
I am creating a staged adaptation of a 'Choose Your Own Adventure' novel. For more information, check out the Wikipedia article at http://en.wikipedia.org/wiki/Choose_your_own_adventure The important thing to know is there will be a branching storyline, decided by audience voting.
For the voting, I plan for everyone in the audience to have a small xylophone with 3. Each note will correspond to a voting choice presented by the cast. I'm going to have microphones positioned around the theatre to capture the xylophones and pipe them to a computer. What I'd then like to do through PD is determine which note was 'loudest,' meaning the most people cast it for their vote.
The voting choices will be displayed by a projector connected to the computer running PD. Thus, I'm interested in either piping the level information to another program (PowerPoint or something else) to display which vote won. I'd also be interested in doing this directly through PD, if it's possible.
I'm working my way through the PD tutorials included in the program itself, but would appreciate any advice or suggestions on keywords I can use to search the archives.
Please let me know if there is any information I can add to make things more clear. Thanks in advance for all your help. -Jared
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
___________________________________________________________ Der frühe Vogel fängt den Wurm. Hier gelangen Sie zum neuen Yahoo! Mail: http://mail.yahoo.de
What about filterbank in "unauthorized" ?
wouldnt that be an approach as well ?
Am 28.03.2007 um 10:23 schrieb Roman Haefeli:
without having read your mail completely, i'd suggest having a look at the [fiddle~] external, that ships with pd.
roman
On Tue, 2007-03-27 at 23:20 -0500, Jared wrote:
Summary: I'm interested in capturing audio through a microphone
and, in real time, determining which frequency range (from a set range of frequencies) has the maximum level. This would be used to determine which note is loudest out three notes.More info: Hello! I was hoping to get some direction for a project
I'm working on. I'm also searching the mailing list archives, but I apologize in advance if I ask questions that have been answered elsewhere. If you think my question has already been answered, I
would appreciate any advice on how to better search the archives to find
what I'm looking for.I am creating a staged adaptation of a 'Choose Your Own Adventure' novel. For more information, check out the Wikipedia article at http://en.wikipedia.org/wiki/Choose_your_own_adventure The important thing to know is there will be a branching storyline, decided by audience voting.
For the voting, I plan for everyone in the audience to have a small xylophone with 3. Each note will correspond to a voting choice
presented by the cast. I'm going to have microphones positioned around the
theatre to capture the xylophones and pipe them to a computer. What I'd then like to do through PD is determine which note was 'loudest,'
meaning the most people cast it for their vote.The voting choices will be displayed by a projector connected to the computer running PD. Thus, I'm interested in either piping the level information to another program (PowerPoint or something else) to
display which vote won. I'd also be interested in doing this directly through PD, if it's possible.I'm working my way through the PD tutorials included in the program itself, but would appreciate any advice or suggestions on keywords
I can use to search the archives.Please let me know if there is any information I can add to make
things more clear. Thanks in advance for all your help. -Jared
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/ listinfo/pd-list
___________________________________________________________ Der frühe Vogel fängt den Wurm. Hier gelangen Sie zum neuen Yahoo!
Mail: http://mail.yahoo.de
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/ listinfo/pd-list
Hi Jared,
On Tue, 2007-03-27 at 23:20 -0500, Jared wrote:
Summary: I'm interested in capturing audio through a microphone and, in real time, determining which frequency range (from a set range of frequencies) has the maximum level. This would be used to determine which note is loudest out three notes.
[snip]
For the voting, I plan for everyone in the audience to have a small xylophone with 3. Each note will correspond to a voting choice presented by the cast. I'm going to have microphones positioned around the theatre to capture the xylophones and pipe them to a computer. What I'd then like to do through PD is determine which note was 'loudest,' meaning the most people cast it for their vote.
You could try using a multiband filter and some envelope followers, but I don't think you will be able to measure the voting very accurately using this technique.
To get slightly better results, you might want to take into account the effect of frequency on perceptual loudness (cf. Zwicker et al). You should also take into account whether or not the various votes are synchronised in time by taking measurements over some time frame, and averaging the results.
There are also other issues to consider such as the fact that not all of the voters will strike the xylophone equally hard, the resonance/absorption qualities of the room, and establishing the correct relative contribution from each microphone.
Basically, this is a difficult problem to solve, but if all you need is a 'rough idea' of how many votes have been cast, you might be OK.
Jamie
filtering in general may not be the best approach because some of your partials from one xylophone note will overlap with other note's partials. They are inharmonic complex tones, which are not so easy to predict.... you'll probably have to measure the frequencies of each note of your xylophone to know exactly what the spectrum is like.
In terms of averaging like Jamie suggested... suppose you want to compute the expectation of the power spectral density. You would take the fft of the auto-covariance of your recieved signal, divided by the number of blocks in your time frame. (dividing by a number of blocks will not in general be necessary, when all you need to do is find a peak, with pique~ as before) This will give you a very clear/accurate peak, without much jitter/noise to clean up.
Chuck
Airhorns.
-Chuckk
On 3/28/07, Charles Henry czhenry@gmail.com wrote:
filtering in general may not be the best approach because some of your partials from one xylophone note will overlap with other note's partials. They are inharmonic complex tones, which are not so easy to predict.... you'll probably have to measure the frequencies of each note of your xylophone to know exactly what the spectrum is like.
In terms of averaging like Jamie suggested... suppose you want to compute the expectation of the power spectral density. You would take the fft of the auto-covariance of your recieved signal, divided by the number of blocks in your time frame. (dividing by a number of blocks will not in general be necessary, when all you need to do is find a peak, with pique~ as before) This will give you a very clear/accurate peak, without much jitter/noise to clean up.
Chuck
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
I think this just reinforces what everyone is saying about the errors. Either you make it into a crazy competition to vote by banging your note the loudest and the mostest, or you accept a margin of error. As Jamie says the intensity and frequencies are all going to vary and interact.
attached patch intented to investigate that, it makes little clusters of 10 votes (idealised sinewave "xylophone") separated in time by a value between 0 and 100ms at one of 3 frequencies chosen at random. What you wont get in reality is the notes being exactly the same frequency, there should be a fair degree of variance. When I used a focused noise source to approximate the xylophones inharmonic spectrum I couldn't see any correlation above chance. YMMV, especially if you tweak the windows/blocks .
I got better initial results with the filter bank approach I think.
On Wed, 28 Mar 2007 09:16:23 -0500 "Charles Henry" czhenry@gmail.com wrote:
filtering in general may not be the best approach because some of your partials from one xylophone note will overlap with other note's partials. They are inharmonic complex tones, which are not so easy to predict.... you'll probably have to measure the frequencies of each note of your xylophone to know exactly what the spectrum is like.
In terms of averaging like Jamie suggested... suppose you want to compute the expectation of the power spectral density. You would take the fft of the auto-covariance of your recieved signal, divided by the number of blocks in your time frame. (dividing by a number of blocks will not in general be necessary, when all you need to do is find a peak, with pique~ as before) This will give you a very clear/accurate peak, without much jitter/noise to clean up.
Chuck
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
fft~ + pique /doc/4.fft.examples sinedecomposer.pd
might give you some ideas
On Tue, 27 Mar 2007 23:20:31 -0500 Jared linux@fridaythang.com wrote:
Summary: I'm interested in capturing audio through a microphone and, in real time, determining which frequency range (from a set range of frequencies) has the maximum level. This would be used to determine which note is loudest out three notes.
More info: Hello! I was hoping to get some direction for a project I'm working on. I'm also searching the mailing list archives, but I apologize in advance if I ask questions that have been answered elsewhere. If you think my question has already been answered, I would appreciate any advice on how to better search the archives to find what I'm looking for.
I am creating a staged adaptation of a 'Choose Your Own Adventure' novel. For more information, check out the Wikipedia article at http://en.wikipedia.org/wiki/Choose_your_own_adventure The important thing to know is there will be a branching storyline, decided by audience voting.
For the voting, I plan for everyone in the audience to have a small xylophone with 3. Each note will correspond to a voting choice presented by the cast. I'm going to have microphones positioned around the theatre to capture the xylophones and pipe them to a computer. What I'd then like to do through PD is determine which note was 'loudest,' meaning the most people cast it for their vote.
The voting choices will be displayed by a projector connected to the computer running PD. Thus, I'm interested in either piping the level information to another program (PowerPoint or something else) to display which vote won. I'd also be interested in doing this directly through PD, if it's possible.
I'm working my way through the PD tutorials included in the program itself, but would appreciate any advice or suggestions on keywords I can use to search the archives.
Please let me know if there is any information I can add to make things more clear. Thanks in advance for all your help. -Jared
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list