Bug 776 - API buffer size versus wav files
Summary: API buffer size versus wav files
Status: ASSIGNED
Alias: None
Product: BpmCount
Classification: Unclassified
Component: Packaging (show other bugs)
Version: 0.1
Hardware: PC Linux
: Future normal
Assignee: greg elliott
URL:
Depends on:
Blocks:
 
Reported: 2008-08-31 18:31 CEST by Werner Van Belle
Modified: 2008-08-31 20:38 CEST (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Comment 5 greg elliott 2008-08-31 20:38:24 CEST
(In reply to comment #4)
> Is this the imprecise/precies option ? If so, then I'm talking about different
> algorithsm, such as the Rayshooter, Autcorellator, FFT measurer etc. This is
> also related to bug 785
> 

ok, i'm unable to do this one.  
Comment 4 Werner Van Belle 2008-08-31 20:30:24 CEST
Is this the imprecise/precies option ? If so, then I'm talking about different algorithsm, such as the Rayshooter, Autcorellator, FFT measurer etc. This is also related to bug 785
Comment 3 greg elliott 2008-08-31 20:26:13 CEST
(In reply to comment #2)
> Hello,
> 
We should also add an option that allows the
> user to choose which algorithm is used to perform the analysis.


this is already in there.  see libbpm-example.  you specify to the init() method which algorithm to use.


Comment 2 Werner Van Belle 2008-08-31 20:12:48 CEST
Hello,

Now that most things are finally in the bugtracker, I can start answering things.
I believe that your suggestion is a good one. 

> float libbpm_getBpmFromBuffer(stereo_sample2 *userAudioBuffer, unsigned4
> userSampleRate, int userInputRate);
> float libbpm_getBpmFromFile(char *fileLocation);
> is that acceptable to you?

Of course that is a good plan. We should also add an option that allows the user to choose which algorithm is used to perform the analysis.

The userSampleRate is an option that might be nice in the future but converting the algorithm to work with any samplerate is not as easy as it appears. I will generate a new bug for the samplerate issue.
Comment 1 greg elliott 2008-08-31 20:07:55 CEST
(In reply to comment #0)
> > What I meant with fixed buffer size is that your demo program now shows
> > how to measure the tempo of a .wav file, we are in general interested in
> > measuring the tempo of pieces of information that are already in memory.
> > So the question then is whether we work with fixed length buffers or
> > not. This functionality is a critical part of the library it is not an
> > option or something like that. The essence of a library is to provide a
> > clear defined functionality that is as reusable as possible. Passing a
> > .wav file into the library is nice, but not the goal of the library.
> 
> there are two methods in the api, one for working with wav file, and one that
> takes a buffer.  both are important in my opinion.
> 
> 
> float libbpm_getBpmFromBuffer(stereo_sample2 *userAudioBuffer, unsigned4
> userSampleRate, int userInputRate);
> 
> float libbpm_getBpmFromFile(char *fileLocation);
> 
> is that acceptable to you?
> 

again, i don't get what the bug is.  what do you want me to do?
Description Werner Van Belle 2008-08-31 18:31:52 CEST
> What I meant with fixed buffer size is that your demo program now shows
> how to measure the tempo of a .wav file, we are in general interested in
> measuring the tempo of pieces of information that are already in memory.
> So the question then is whether we work with fixed length buffers or
> not. This functionality is a critical part of the library it is not an
> option or something like that. The essence of a library is to provide a
> clear defined functionality that is as reusable as possible. Passing a
> .wav file into the library is nice, but not the goal of the library.

there are two methods in the api, one for working with wav file, and one that takes a buffer.  both are important in my opinion.


float libbpm_getBpmFromBuffer(stereo_sample2 *userAudioBuffer, unsigned4 userSampleRate, int userInputRate);

float libbpm_getBpmFromFile(char *fileLocation);

is that acceptable to you?