Giter Club home page Giter Club logo

dsp's Introduction

dsp's People

Contributors

mewmew avatar scott-cotton avatar wsc1 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

dsp's Issues

Resampling inconvenient

The current resampling implementation is inconvenient because it only works for mono-channel and requires the user to use float time indices (monotonically)

Resampler should

  • accept setting the sample rate
  • implement sound.Source (multi-channel)

dsp/convol/cmplx: expects import "zikichombo.org/dsp/cmplx"

What is the intended import path of the cmplx package, and what is the intended location for it in the git repository? Currently, these to seem to be in disagreement with one another.

u@x61s ~/g/s/z/dsp> go get zikichombo.org/dsp/...
can't load package: package zikichombo.org/dsp/convol/cmplx: code in directory /home/u/goget/src/zikichombo.org/dsp/convol/cmplx expects import "zikichombo.org/dsp/cmplx"

stft analysis

This issue is a todo to add STFT analysis support together with a few basic feature extractors such as
spectral flux and mfcc

this todo does not include synthesis, which will come later.

dsp/fft: test failed; FAIL: TestDilate

u@x61s ~/g/s/z/d/fft> go test -count=1 zikichombo.org/dsp/fft
s=100Hz n=100 f=1Hz b=1 [1Hz, 2Hz)
s=100Hz n=100 f=2Hz b=2 [2Hz, 3Hz)
s=100Hz n=100 f=25Hz b=25 [25Hz, 26Hz)
s=1Hz n=1000 f=666.666666000miHz b=667 [667.000miHz, 668.000miHz)
s=100Hz n=100 f=25.999Hz b=26 [26Hz, 27Hz)
s=44.100kHz n=1000 f=440Hz b=10 [441Hz, 485.100Hz)
--- FAIL: TestDilate (0.01s)
	dilate_test.go:71: bin 128 (0.000000+0.000000i) v (-0.000000-32.000000i)
	dilate_test.go:71: bin 320 (-0.000000-32.000000i) v (-0.000000+0.000000i)
	dilate_test.go:71: bin 384 (0.000000+0.000000i) v (-0.000000-32.000000i)
	dilate_test.go:71: bin 640 (-0.000000-0.000000i) v (-0.000000-32.000000i)
	dilate_test.go:71: bin 960 (-0.000000-32.000000i) v (-0.000000+0.000000i)
	dilate_test.go:71: bin 1600 (-0.000000-32.000000i) v (0.000000+0.000000i)
peak at 102.255100: |45.20| <0.00>
peak at 127.994207: |22.39| <0.00>
peak at 170.866090: |9.75| <0.00>
FAIL
FAIL	zikichombo.org/dsp/fft	0.233s

Clean up docs + examples

Much of the documentation in dsp is sloppy or non existent

This issue is to clean up docs, add some examples. It however largely depends on #1.

module/project level dependencies

The module project-level dependencies firmly place dsp as needing sound. This is only for the frequency type and fft frequency-bin functions. The rest is just math with floats at this point.

It may make the module/project level dependencies cleaner to have the "pure" math independent of the frequency type. Then resampling could go in sound, which seems more appropriate because it is so fundamental an idea.

dsp: cannot parse import comment

Hi!

I tried to go-get the dsp package today, and was greeted with the following error. Not sure exactly why. Do the vanity import path have to be a line-comment rather than a multi-line comment, or is it related to vgo, i.e. module support?

Cheers
/u

u@x61s ~> go get zikichombo.org/dsp/...
package zikichombo.org/dsp: /home/u/goget/src/zikichombo.org/dsp/doc.go:1: cannot parse import comment
package zikichombo.org/dsp/convol/cmplx: code in directory /home/u/goget/src/zikichombo.org/dsp/convol/cmplx expects import "zikichombo.org/dsp/cmplx"
u@x61s ~> go version
go version go1.10.3 linux/amd64
u@x61s ~> cat /home/u/goget/src/zikichombo.org/dsp/doc.go
// Copyright 2018 The ZikiChomgo Authors. All rights reserved.  Use of this source
// code is governed by a license that can be found in the License file.

// Package dsp is an umbrella for audio dsp
package dsp /* import zikichombo.org/dsp */

HalfComplex Spectra incomplete

The half complex interface and the spectrum interface are confounding.

This is a result of adding the Real-only fft, which is really nice both interface and performance-wise (thanks @mattetti for the pointer) but which introduces questions about the spectrum interface because that is for full complex ffts.

This relationship needs to be hashed out, cleaned up, implemented, and tested.

dct plot signs

dct spectrum plots are absolute value, they should be signed.

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.