GithubHelp home page GithubHelp logo

mfcc.jl's People

Contributors

davidavdav avatar femtocleaner[bot] avatar hagi123456 avatar ilkerkesen avatar jamesdanged avatar maetshju avatar rob-luke avatar tkelman avatar wheeheee avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

mfcc.jl's Issues

Missing levinson when modelorder=1

When I run MFCC like this:
mfcc(sig, MP3PARAMS.rate / float(DOWN_RATIO), modelorder=1)

an error is reported:
ERROR: levinson not defined
in dolpc at ${HOME}\.julia\v0.3\MFCC\src\rasta.jl:174
in mfcc at ${HOME}\.julia\v0.3\MFCC\src\mfccs.jl:29

My Pkg.status():
8 required packages:
- DataFrames 0.6.9
- HDF5 0.5.5
- IJulia 1.0.3
- MFCC 0.0.2
- PyPlot 2.1.0
- SPTK 0.0.1
- WORLD 0.1.3
- WinRPM 0.1.12

When modelorder=0 it runs fine.

Fix deprecated usage of functions in feacalc

Right now feacalc throws an error, which I traced to

  • 2 instances of sum omitting the dims keyword argument
  • one is in sad, the other is basically a copy of it, maybe sad can be called instead?
  • Plus the log10 looks like it is supposed to be broadcasted
  • Float64 should replace float64
  • Indexing in sad looks old and doesn't work now but I still get BoundsErrors even after updating that.
  • The readall in soxread should also be changed, and maybe also use an open do block?

ERROR: UndefVarError: iceil not defined

julia> x = randn(100000);

julia> audspec(x)
ERROR: UndefVarError: iceil not defined
Stacktrace:
 [1] audspec(::Array{Float64,1}, ::Float64) at /home/fredrikb/.julia/packages/MFCC/hoHtE/src/rasta.jl:30 (repeats 2 times)
 [2] top-level scope at REPL[16]:1

Changed meaning of .+= in Julia 0.5

Your code uses x .+= y, so you should know that in Julia 0.5 this has changed meaning to be equivalent to broadcast!(identity, x, x .+ y), so that it mutates the x array (see JuliaLang/julia#17510 … in Julia 0.6 the whole operation will occur in-place without temporaries). So .+ should only be used if the left-hand side is a mutable array, and you don't mind mutating it.

At first glance, this looks like it is okay for you, because you use it in y .+= dither * nwin / (sumabs2(window) * sr / 2), where y seems like an array that you won't mind mutating. But if it were a problem you could always change it to +=.

Negative `lifterexp` for `lifter`

Shouldn't the case for the negative lifterexp passed to the lifter have the sign of the lifterexp being negated?
liftw = [1, (1 + lift/2*sin([1:ncep-1]π/lift))]
compared to https://github.com/jameslyons/python_speech_features/blob/master/features/base.py

Question: Can you combine VAD & MFFC into a functional block to reduce load?

Hi just a noob and niether C or Julia savvy but have a vague understanding of what happens with both VAD & MFFC processes.

https://github.com/linto-ai/gpu-ne10-mfcc I noticed they had dropped to use of a python routine in https://github.com/linto-ai/pyrtstools and dunno why but was searching for alternatives.

With VoiceAI it seems common to have a VAD preprocessor that feeds MFCC output as 2 seperate functions and as a noob was just curious if these could be combined with so much similar functionality.
Isn't VAD just creating an overall bin average of what a MFFC would output so the 2 can be combined?

They opted for https://github.com/MycroftAI/sonopy/blob/master/sonopy.py and https://github.com/wiseman/py-webrtcvad and not sure what was wrong with the neon optimised version they had.

PS about all I know about Julia is that it could become a replacement for Python... eventually :)
Its supposed to be fast in the respect to the above what sort of speed increases and load reduction are likely.

Its only curiosity as the repos posted I am not a contributor but as above wondered with the simularity why they are not combined?

Its only curiosity, so can not presure for an answer, but just wondering how it would also relate in performce to native Neon code as in.
https://projectne10.github.io/Ne10/doc/group__groupDSPs.html

Dependency hell for CUDA.jl

v0.3.1 is only compatible with v2.6.3 of CUDA.jl (currently on v3.5.0). This breaks audio processing projects that want to use it with the latest version of Flux (which uses the latest CUDA.jl).

Release new version

The current version of this package, which works with Julia 1.0 and 1.1, is currently not tagged or registered, so it's not possible to install it via Pkg.

Can you tag v0.3.2?

So that I can do (I can install master):

(@v1.8) pkg> add --preserve=all [email protected]
   Resolving package versions...
ERROR: Unsatisfiable requirements detected for package MFCC [ca7b5df7]:
 MFCC [ca7b5df7] log:
 ├─possible versions are: 0.3.1 or uninstalled
 └─restricted to versions 0.3.2 by an explicit requirement — no versions left

I'm though not sure why this happened:

(@v1.8) pkg> add --preserve=all MFCC
 SpecialFunctions [276daf66] log:
 ├─possible versions are: 0.7.0-2.1.7 or uninstalled
 ├─restricted to versions 2.1.7 by an explicit requirement, leaving only versions 2.1.7
 └─restricted by compatibility requirements with MFCC [ca7b5df7] to versions: 0.7.0-0.10.3 — no versions left
   └─MFCC [ca7b5df7] log:
     ├─possible versions are: 0.3.1 or uninstalled
     └─restricted to versions * by an explicit requirement, leaving only versions 0.3.1

`mfcc` returns NaNs when signal contains zeros

I suppose this behaviour should be avoided:

julia> using MFCC

julia> X, = mfcc(zeros(1000));

julia> any(isnan.(X))
true

Adding a small constant fixes the problem:

julia> X, = mfcc(zeros(1000).+eps());

julia> any(isnan.(X))
false

not sure this is the common practice though...

TagBot trigger issue

This issue is used to trigger TagBot; feel free to unsubscribe.

If you haven't already, you should update your TagBot.yml to include issue comment triggers.
Please see this post on Discourse for instructions and more details.

If you'd like for me to do this for you, comment TagBot fix on this issue.
I'll open a PR within a few hours, please be patient!

Info about upcoming removal of packages in the General registry

As described in https://discourse.julialang.org/t/ann-plans-for-removing-packages-that-do-not-yet-support-1-0-from-the-general-registry/ we are planning on removing packages that do not support 1.0 from the General registry. This package has been detected to not support 1.0 and is thus slated to be removed. The removal of packages from the registry will happen approximately a month after this issue is open.

To transition to the new Pkg system using Project.toml, see https://github.com/JuliaRegistries/Registrator.jl#transitioning-from-require-to-projecttoml.
To then tag a new version of the package, see https://github.com/JuliaRegistries/Registrator.jl#via-the-github-app.

If you believe this package has erroneously been detected as not supporting 1.0 or have any other questions, don't hesitate to discuss it here or in the thread linked at the top of this post.

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.