Git Product home page Git Product logo

ada-synth-lib's Introduction

Ada synth lib

Ada synth lib is a very simple synthethizer library with a mostly recreative purpose. The design goal is to make a library from which you can make synthesis musical instruments that can run on bareboard devices such as the STM32F4 board or the Rpi.

Here is a small demo of the library (youtube video)

Setup

You'll need AdaCore's latest GPL release, that you can get through Adacore libre site, or you can use the FSF compiler available on most Linux distributions. It has been tested to work with Debian Stable and Ubuntu 15.04, with the ada_synth_lib_soundio.gpr project. The regular project file uses Runtime attribute, which is not yet supported by the gprbuild FSF version.

Preparing for the soundio build

You need to checkout the ada-soundio repo at the root of ada-synth-lib:

git clone https://github.com/raph-amiard/ada-soundio/

This repo contains a script that will build libsoundio and ada-soundio at the same time, that you can use if you have bash.

cd ada-soundio && ./build.script && cd -

Build

For native:

$ gprbuild -p ada_synth_lib.gpr

For native with libsoundio support:

$ gprbuild -p ada_synth_lib_soundio.gpr

For bareboard/sfp:

$ gprbuild -p -f -Xtarget=bareboard

If you want to build the examples, run

$ gprbuild -p examples/asl_examples.gpr

Producing sound from the examples will require you to have some command line program that you can pipe sound into and that will play it on your speakers. Here is how you'd do it with aplay:

$ examples/obj/audio | aplay -f S16_LE -c1 -r44100

ada-synth-lib's People

Contributors

lambourg avatar pmderodat avatar raph-amiard 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

ada-synth-lib's Issues

Examples do not build?

$ gprbuild -p examples/asl_examples.gpr
gcc -c simple_sine.adb
simple_sine.adb:2:06: file "write_to_stdout.ads" not found
gprbuild: *** compilation phase failed

Where is write_to_stdout.ads?

License?

Hi! I have a question. What license is this library released under? I wish to integrate this into one of my FLOSS projects.

Thanks.

MIDI support

Opening this issue to support MIDI input (being able to take in MIDI)

Cleanup the project structure

There are a few smells in the project structure:

  1. Projects are duplicating flags instead of inheriting them
  2. Some functionality could be shared better, and options are not exactly the same everywhere

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.