Re: [PD] Real-time frequency filtering and analysis

2007-03-28 Thread 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


Re: [PD] Real-time frequency filtering and analysis

2007-03-28 Thread Luigi Rensinghoff
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


___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Real-time frequency filtering and analysis

2007-03-28 Thread padawan12

fft~ + pique 
/doc/4.fft.examples sinedecomposer.pd

might give you some ideas

On Tue, 27 Mar 2007 23:20:31 -0500
Jared [EMAIL PROTECTED] 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

___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Real-time frequency filtering and analysis

2007-03-28 Thread Jamie Bullock

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



___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Real-time frequency filtering and analysis

2007-03-28 Thread Charles Henry
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


Re: [PD] Real-time frequency filtering and analysis

2007-03-28 Thread Chuckk Hubbard
Airhorns.

-Chuckk

On 3/28/07, Charles Henry [EMAIL PROTECTED] 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



-- 
http://www.badmuthahubbard.com

___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Real-time frequency filtering and analysis

2007-03-28 Thread Jaime Oliver
you could also check sigmund~ it will give you a list of frequencies
and amplitudes in order of amplitude.

J


 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 [EMAIL PROTECTED] 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
 -- next part --
 A non-text attachment was scrubbed...
 Name: fftbincount-harness-pings.pd
 Type: application/octet-stream
 Size: 39247 bytes
 Desc: not available
 Url : 
 http://lists.puredata.info/pipermail/pd-list/attachments/20070329/f2b9456a/attachment.obj
 -- next part --
 A non-text attachment was scrubbed...
 Name: fbank-harness-pings.pd
 Type: application/octet-stream
 Size: 36448 bytes
 Desc: not available
 Url : 
 http://lists.puredata.info/pipermail/pd-list/attachments/20070329/f2b9456a/attachment-0001.obj

 --

 ___
 PD-list mailing list
 PD-list@iem.at
 to manage your subscription (including un-subscription) see
 http://lists.puredata.info/listinfo/pd-list


 End of PD-list Digest, Vol 24, Issue 133
 


___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list