GithubHelp home page GithubHelp logo

Comments (7)

hughrawlinson avatar hughrawlinson commented on June 23, 2024

I confused myself, was mixing up the barkBands field that stores the bark bands with the number of bark bands that should be computed.

from meyda.

hughrawlinson avatar hughrawlinson commented on June 23, 2024

I'm still confused lol

There's numberOfMFCCCoefficents, which is the number of mfcc coefficients that should be calculated.
There's melBands, which is the number of mel bands calculated. It's unclear to me if it's useful for this to be separate from numberOfMFCCCoefficients.
There's barkScale, which is unrelated to either of these two, and is related to loudness.
There is no barkBands.
#971 adds numberOfBarkBands to let the user specify how many bark bands to use.

So the question stands: why would we set numberOfMFCCCoefficients and melBands separately?

I'm mainly asking this so I can document it, I'm sure there's a reason.

from meyda.

jamesb93 avatar jamesb93 commented on June 23, 2024

I'm no expert but if you need 40 MFCC coefficients you need to start with at least 40 bark or melbands. MFCC is effectively a form of dimension reduction and the amount of information you start with before the liftering etc. will effect the result.

from meyda.

hughrawlinson avatar hughrawlinson commented on June 23, 2024

Yes, that’s true - but I think right now all we use it for is the mfcc feature so I’m not sure why we would ever need to calculate more mel bands than we would then need to use in that mfcc calculation.

from meyda.

jamesb93 avatar jamesb93 commented on June 23, 2024

Because it changes the MFCC result.

For example, doing some rudimentary tests in Max:

image

For a given a spectral frame the values are different, albeit slightly. I think it would be sensible to set a high default (40 bands) and to then have it adjustable. I know in my use case where I use Meyda for pedagogical purposes not having the technology assume what I want is useful and sensible defaults make it approachable for those who may be still learning.

from meyda.

jamesb93 avatar jamesb93 commented on June 23, 2024

Because it changes the MFCC result.

For example, doing some rudimentary tests in Max:

image

For a given a spectral frame the values are different, albeit slightly. I think it would be sensible to set a high default (40 bands) and to then have it adjustable. I know in my use case where I use Meyda for pedagogical purposes not having the technology assume what I want is useful and sensible defaults make it approachable for those who may be still learning.

To clarify: the MFCC on the left is using 40 melbands and the one on the right is doing 20 melbands before producing 13 MFCC coefficients in either case.

from meyda.

hughrawlinson avatar hughrawlinson commented on June 23, 2024

Aha! Thanks, that fully clarified it :)

from meyda.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.