An open API service indexing awesome lists of open source software.

https://github.com/arximboldi/psychosynth

GNU Psychosynth is a a synthesizer and modular audio framework inspired by the ideas of the Reactable.
https://github.com/arximboldi/psychosynth

3d audio framework gnu synthesizer

Last synced: 5 days ago
JSON representation

GNU Psychosynth is a a synthesizer and modular audio framework inspired by the ideas of the Reactable.

Awesome Lists containing this project

README

        

GNU Psychosynth
===============

[![GNU](http://www.gnu.org/graphics/gnubanner-2.png)](http://www.gnu.org)
[![GPL](https://psychosynth.com/images/gplv3.png)](http://gplv3.fsf.org/)

The Psychosynth project aims to create an interactive modular
soft-synth inspired by the ideas of the Reactable. We will try to
provide a clean object oriented API to allow the creation of new
innovative interfaces for the synthetizer and a 3D simulator of a
Reactable-alike device with support for collaborative music creation
over the internet.

**Official website**: http://psychosynth.com

![Screenshot](https://public.sinusoid.es/static/screens/psynth.png)

This package provides
---------------------

* **libpsynth**: This is a powerful modern C++ library for the
building of synthesis software. Type-safe audio buffer and I/O
abstractions, inspired by
[Boost.GIL](https://boost.org/libs/gil),
a generic system modular synthesis engine, classes for the
synchronization of synths over the network using OSC, a framework
for easy application creation, among other stug....

* **psynth3d**: An interactive synth with an look similar to the
Reactable's and a 3D interface which makes use of all the power of
libpsynth.

* **psynth**: A command line version of the synth that can be used
as OSC server or client with low resource usage.

Depdencies
----------

To try the software you will need these third party libraries and programs:

* GNU Autotools (only for the development version)
* Ogre (needed by the 3D interface)
* CEGUI (needed by the 3D interface)
* OIS (needed by the 3D interface)
* liblo (needed for the network support)
* libxml2 (needed for XML config support)
* Alsa (needed for ALSA sound output)
* Jack (needed for Jack sound ouput)
* libsndfile (needed for pcm file support)
* libvorbis (needed for OGG vorbis file support)
* SoundTouch (needed for sample stretching)
* Boost

In Debian and Ubuntu you can install all those dependencies with the
following command. Anyways, I suggest installing `liblo` from the
original sources because the version in the repositories is outdated
and contains a bug:

```
sudo apt install cmake libogre-1.9-dev libois-dev \
libcegui-mk2-dev libasound2-dev libjack-dev \
liblo-dev libsndfile-dev libxml2-dev \
libsoundtouch-dev libvorbis-dev libboost-dev
```

Installing
----------

This project uses the [CMake](http://cmake.org/) build system generator.
To compile from sources, do:

```
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
cmake --build .
```

You can then **install** the software by doing

```
sudo cmake --build . -t install
```

You may customize the installation folder by passing
`-DCMAKE_INSTALL_PREFIX=` to the `cmake ..`
command. There are other settings you can pass with
`-D=value`, you may list all of them with `cmake .. -LH`.
Also, there are other things you can do besides building or
installing, see `cmake --build -t help` to list all possible targets.

License
-------

> Copyright (C) 2007-2015 Juan Pedro Bolívar Puente
>
> This program is free software: you can redistribute it and/or
> modify it under the terms of the GNU General Public License as
> published by the Free Software Foundation, either version 3 of the
> License, or (at your option) any later version.
>
> This program is distributed in the hope that it will be useful,
> but WITHOUT ANY WARRANTY; without even the implied warranty of
> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> GNU General Public License for more details.
>
> You should have received a copy of the GNU General Public License
> along with this program. If not, see .