• Stars
    star
    437
  • Rank 99,659 (Top 2 %)
  • Language
    C++
  • License
    MIT License
  • Created over 14 years ago
  • Updated over 8 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Aquila is a digital signal processing library for C++11.

What is Aquila?

Aquila is an open source and cross-platform DSP (Digital Signal Processing) library for C++11.

Build Status Windows Build Status Coverage Status Coverity Scan Build Status

Example

#include "aquila/aquila.h"

int main()
{
    // input signal parameters
    const std::size_t SIZE = 64;
    const Aquila::FrequencyType sampleFreq = 2000, f1 = 125, f2 = 700;

    Aquila::SineGenerator sine1(sampleFreq);
    sine1.setAmplitude(32).setFrequency(f1).generate(SIZE);
    Aquila::SineGenerator sine2(sampleFreq);
    sine2.setAmplitude(8).setFrequency(f2).setPhase(0.75).generate(SIZE);
    auto sum = sine1 + sine2;

    Aquila::TextPlot plot("Input signal");
    plot.plot(sum);

    // calculate the FFT
    auto fft = Aquila::FftFactory::getFft(SIZE);
    Aquila::SpectrumType spectrum = fft->fft(sum.toArray());

    plot.setTitle("Spectrum");
    plot.plotSpectrum(spectrum);

    return 0;
}

For more usage examples see the examples directory or browse them online.

Features

  • various signal sources (generators, text/binary/WAVE files)
  • signal windowing and filtering
  • performing operations on a frame-by-frame basis
  • calculating energy, power, FFT and DCT of a signal
  • feature extraction, including MFCC and HFCC features, widely used in speech recognition
  • pattern matching with DTW (dynamic time warping) algorithm

Requirements

The following dependencies are required to build the library from source.

  • a modern C++11 compiler
  • CMake >= 2.8

Contributing

See CONTRIBUTING.md for some guidelines how to get involved.

License

The library is licensed under the MIT (X11) license. A copy of the license is distributed with the library in the LICENSE file.

Authors

Zbigniew Siciarz (zbigniew at siciarz dot net)

This library includes code from Takuya Ooura's mathematical software packages, which are available at http://www.kurims.kyoto-u.ac.jp/~ooura/.

More Repositories

1

24daysofrust

Code examples accompanying my "24 days of Rust" article series.
Rust
363
star
2

ml-coursera

My solutions for programming assignments from the Machine Learning course at coursera.org.
MATLAB
114
star
3

django-envelope

A contact form app for Django
Python
78
star
4

rust-cpuid

Rust bindings for libpcuid CPU detection and feature extraction library.
Rust
47
star
5

django-markitup

Markup handling (using Jay Salvat's MarkItUp! flexible universal markup editor) for Django
Python
47
star
6

rust-ffi-stringtools

A collection of examples how to use Rust libraries from other languages.
Makefile
40
star
7

vagrant-hbase

A Vagrantfile to get up and running with Hadoop and HBase development.
Shell
37
star
8

django-pgallery

Photo gallery app for PostgreSQL and Django.
Python
20
star
9

django-briefcase

Yet another document management app for Django.
Python
10
star
10

aquila-standalone-example

A standalone executable example for Aquila library.
C++
5
star
11

euler.rs

My solutions for Project Euler in Rust.
Rust
4
star
12

aquila-dsp.org

Source code of http://aquila-dsp.org/
HTML
4
star
13

dotfiles

My various configuration files.
Lua
3
star
14

qt-cmake-boilerplate

Project skeleton for Qt applications using CMake as build tool.
C++
3
star
15

alaw

A-law coder and decoder in Verilog
Verilog
3
star
16

caddy.vim

Vim syntax plugin for Caddy (https://caddyserver.com/) configuration file.
Vim Script
3
star
17

sfml-cmake-test

A simple program to test CMake cooperation with SFML.
C++
2
star
18

drilld

drilld - a PHP 5.3+ security framework
PHP
2
star
19

export

A Python package joke.
Python
2
star
20

skyrim-alchemy-toolbox

Elm web app to calculate Skyrim alchemy recipes. Work in progress.
Elm
2
star
21

jamchemy

Strawberry jam with some SQLAlchemy :)
Python
2
star
22

SimpleBird

[OLD & UNMAINTAINED] experiments with Qt, DSP and bird voice recognition
C++
2
star
23

pixeldabble

Dabbling with pixels.
Rust
2
star
24

django-handstand-zsiciarz

Personal starter for Django projects. Don't base your projects off of this or submit pull requests; rather, create django-handstand-yourusername and make a custom starter project for yourself.
Python
2
star
25

dspy

Digital Signal Processing in Python, that's it.
Jupyter Notebook
1
star
26

siciarz.net

http://siciarz.net
CSS
1
star
27

required

A bunch of useful components for Qt-based projects.
C++
1
star
28

pyaavso

A Python library for working with AAVSO data.
Python
1
star
29

pictor

Image processing library for PHP 5.3+.
PHP
1
star