Code Monkey home page Code Monkey logo

Comments (5)

psambit9791 avatar psambit9791 commented on July 3, 2024

The file you have attached is not accessible. Could you please attach it to a comment?

Few Questions :

  • What is the file size and how many channels does it have?
  • How many data points are there per channel?

from jdsp.

Yukuncn avatar Yukuncn commented on July 3, 2024

Oh,Sorry,I forgot to open file permissions;This is a new file link: https://drive.google.com/file/d/112almsqRELM5sE82I9QIfHjgazAOjLcT/view?usp=sharing
1.The data size is about 100kb and each file has only one channel;
2.reference.wav has 2205 points and singal.wav has about 80000 points

from jdsp.

psambit9791 avatar psambit9791 commented on July 3, 2024

I simulated this code for both Python (using Scipy & Numpy) and Java (using JDSP).

Two things need to be noted:

  1. Scipy imports all data as int16. This has to be converted to int64 for computations to remain consistent to JDSP. This can be done using the .astype(numpy.int64) function.

  2. On executing both, the execution time came up as this:

For Python:

Execution Time: **231 ms**
Output:
array([10797, 10799, 10807, ..., 87370, 87378, 87394])

For Java:

Execution Time: **777682 ms**
Output: 
[10797, 10799, 10807, 10813, 10821, 10829, ... 87335, 87352, 87361, 87370, 87378, 87394]

The outputs for both Python and Java are the same. So, there are some inefficiencies in the code which need to be addressed. The testing code is attached as a ZIP file with this comment.

issue_38_code.zip

from jdsp.

Yukuncn avatar Yukuncn commented on July 3, 2024

Thanks a lot,!I know the data type problem.Another problem is that it takes long time to findpeaks on android phone.And i hope you can optimize this problem.I use android studio tool and java for programming language. For time problem,I use a library called TarsosDSP which can be founded at https://github.com/JorenSix/TarsosDSP. It takes about 10-20 seconds to find all the peaks.I think JDSP is a good library and fixing this will make it better.The last i hope you can check the time of Peak Detection and peak filters.Have a nice day!

from jdsp.

psambit9791 avatar psambit9791 commented on July 3, 2024

@Yukuncn

With Commit c882796, the execution speed has been reduced to match Python execution speed.

Execution Time: **294 ms**
Output: 
[10797, 10799, 10807, 10813, 10821, 10829, ... 87335, 87352, 87361, 87370, 87378, 87394]

To achieve this, Peak properties are now computed only when the specific property is called / filtered with; and not as a part of the detectPeak() function.

Currently in dev branch.

from jdsp.

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.