Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

A cross-platform DSP library written in C++ 11/14. This library harnesses the power of C++ templates to implement a complete set of DSP algorithms.

License

NotificationsYou must be signed in to change notification settings

mohabouje/eDSP

Repository files navigation

releasesissueslicenseGitHub contributorsBuild StatuscodecovCodacy Badge

GitHub forksGitHub starsGitHub watchers

eDSP (easy Digital Signal Processing) is a digital signal processing framework written in modern C++ that implements some of the common functions and algorithms frequently used in digital signal processing, audio engineering & telecommunications systems.

It aims to provide efficient and streamlined base calculations while at the same time having a straightforward and easy-to-use interface similar to another numeric language likeMATLAB. The library integrates a C++ and Python interfaces and supports Windows, Linux, Mac OS, iOS and Android.

Yet another DSP framework?

Got it! Excellent question! There are plenty of established DSP frameworks for C++. You may be wondering, What's the point of implementing other DSP framework? What doeseDSP bring to the party that differentiates it from these?

eDSP is a modern framework written for modern C++ developers. It is an alternative for those who want a powerful template DSP library that keeps a simple STL-like API.eDSP is a framework that:

  • Is implemented as aHeaders only library, just copy and use.
  • IsTemplate library: supports single and double floating point, and fixed-point operations.
  • Integrates aneasy to use interface,STL-like API.
  • Providesfast implementations: check the availablebenchmarks.
  • Aims to becross-platform
  • Supports modernC++11/14/17 features
  • Implements a simple interface compatible with C
  • Integrates bind for different languages:Python, Go and JavaScript

What platforms are supported?

eDSP relies in a modern C++ compiler and some standardthird-party dependencies. The idea is to build a framework compatible with most of the modern platforms with the minimum modifications.

Those are the supported platforms:

  • Linux, FreeBSD, OpenBSD, Solaris, AIX
  • Windows (msvc 2013+, cygwin)
  • macOS (clang 3.5+), iOS
  • Android

Features

eDSP is organized in different modules. Each module integrates different related features. This is the list of the available modules:

  • Audio Coder: encoder/decoder for different audio formats.
  • Digital filters: Biquad, FIR, IIR, moving average, moving median etc.
  • Spectral analysis: Fourier transform, Hilbert transform, Hartley transform, cepstrum, periodogram etc.
  • Oscillators: sinusoidal, square, triangular and sawtooth signals.
  • Random: binary sequence, uniform distribution, Bernoulli, Weibull, Student, Fisher etc.
  • Math: extra functionalities not available in the C++ standard.
  • Noising: white noise, brown noise, pink noise, Perlin noise etc.
  • Algorithms: clipper, amplifier, lineal-space, logarithmic-space , padder, normalizer etc.
  • Quantizer: u-law, A-law etc.
  • Statistics: moment, median, skewness, kurtosis etc.
  • Windowing: Bartlett, Hamming, Kaiser, Welch, Blackman etc.
  • Modulation: AM, FM, M-PSK, OFDM etc.
  • MIR: feature engineering for MIR (Music Information Retrieval) applications.
  • Equalization: LMS, RLS etc.

Note:eDSP is a framework under construction. Some features are scheduled for future development.

Please check the officialdocs or the list ofavailable features to find a detailed information of each module.

Quick start

Documentation

Check thewiki for more information. The latest development documentation is availableonline.

TODO

  • Test the different features [WIP]
  • Benchmark the library [WIP]
  • Write Documentation [WIP]
  • Python Wrapper
  • Open-Frameworks Wrapper
  • Compile time optimizations: constexpr & traits
  • Modern C++: const method, noexcept construction, contract, assertions...

Check theKanban of this project to get more information about the current state.

License

GPLv3

This program is licensed under GNU General Public License, Version 3.

Copyright (c) 2018,Mohammed Boujemaoui Boulaghmoudi, All rights reserved.

Distributed under theGPLv3 license.

Donation

This project is developed byMohammed Boujemaoui on his free time to provide afully integrated DSP framework for signal processing, speech processing or music information retrieval.

If you feel this project is useful to you and want to support it and it'sfuture development please consider donating money.

|Paypal | |

About

A cross-platform DSP library written in C++ 11/14. This library harnesses the power of C++ templates to implement a complete set of DSP algorithms.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

    Packages

    No packages published

    Contributors4

    •  
    •  
    •  
    •  

    [8]ページ先頭

    ©2009-2026 Movatter.jp