Collaborative Roadmap

From Psychosynth

Contents

What is this?

The collaborative roadmap allows you to vote which features you want to see implemented sooner. We use the Flattr micro-donation system such that the developer implementing that feature gets some aid from the people benefiting from his work. You can learn more about Flattr in this video:

The initial setup of this roadmap is defined by our team preferences. However, as different features are voted we will move them up in the list. Some tasks are specially difficult, require extra hardware (money) or are not very important for our development team, and thus they will need more votes to move upwards. Remember that this software is developed by precarious volunteers, so all your help is very welcome. You can also make an extra donation via Paypal using the button on the right. Include a comment in it mentioning one of the tasks below if you want that money to be used for that purpose.

You can follow the state of the tasks in the Savannah task tracker. If you want something not in this list to be implemented you can also use Savannah or our user mailing list.

Update: Flattr is changing towards a different model which makes it unusable for building a collaborative roadmap. This website is left here to inform about ideas on how the project could evolve, but does not allow people to vote anymore. I'm sorry for that.

I want to contribute with code

If you are a software developer you are welcome to pick up any of the tasks below. We will send you all the money sent to that feature via Flatter once you submit the patch. If the task is accomplished by several people, we can discuss how to share the money on the development mailing list or IRC. Before you start programmin that task remember to announce it on the developers mailing list so we can aid you and there are no clashes because of several people implementing the same thing in parallel.

Roadmap

Hierarchical patches

Hierarchical patches would allow to have a notion of sub-table. This is, a module in an upper level can be zoomed such that it has another synthesis network inside. This can be done recursively. The configuration of each of these pre-packed submodules should be storable such that they can be reused in later sessions. Status and discussion page

Polyphonic patches

Polyphonic patches in combination with the previous feature — and specially interesting in combination with the MIDI feature below — would allow to have parts of the synthesis graph that can process different notes at the same time, for example, in response to simultaneously pressed keyboard keys. Status and discussion page

Plug-in system

A plug-in system would allow third party developers to deploy their own synthesis modules independently. This plug-in system should support also the LADSPA and LV2 standards, thus being able to use the vast variety of DSP modules based on those standards that can be found on the internet and are distributed along with popular GNU/Linux systems. Status and discussion page.

Audio input

Audio input is essential to have real interaction with analog instruments. It would allow to plug in any analog signal from the soundcard or even any Jackd enabled software, so you can process and add effects to your own voice or traditional instruments from within the Psychosynth environment. Status and discussion page.

BPM Synchronization

Currently Psychosynth has no notion of the beats-per-minute of the playing music and no way to synchronize the different manipulation and effects. This feature would allow to set the BPM's of the music — maybe even different BPM's for different part of the performance surface — and synchronize effects — like the frequency paramter of an LFO — and auto-quantize events — like waiting to play a loop until the next beat. Status and discussion page

MIDI Support

MIDI is the standard for communicating among electronic music devices. Supporting MIDI would open the doors controlling Psychosynth with keyboards and a the huge range of MIDI controller hardware available on the market. Status and discussion page.

Multi-touch user interface

While the current user interface of Psychosynth is visually appealing and an interesting experiment, experience has revealed that 3D does not give much usability boost apart from the zooming ability. Moreover, the CEGUI library have proven a to be bug-full and a rewrite of the UI using maybe Qt would boost the development speed. New multi-touch devices are becoming very common and we even have a the Indamixx tablet which works with Free Software and is specially targeted at music production. This task specially needs economic aid because our team does not have any multi-touch hardware at the moment. Status and discussion page.

Tangible user interface

Using the Reactivision software we could develop an special user interface based on the TUIO protocol that would allow users to easily build a home-made Reactable with a webcam. Status and discussion page.

MacOSX port

Like it or not, Apple MacOSX is the system of choice of many musicians out there. Even though we would like them to go ahead and try a Free Operating system we could implement a CoreAudio based output system and deploy MacOSX binaries of Psychosynth such that the software is easily available to all those musicians. Our current team does not have any Apple machine at the moment, so do not expect us to pick this task without economic aid. Status and discussion page.

Windows Port

Also, most people out there are sadly using Microsoft Windows. Even though we would like them to go ahead and try a Free Operating system we could implement an ASIO based output system and deploy Windows binaries of Psychosynth such that the software is easily available to all those musicians. Porting Unix applications to Windows is painful, specially for a Free Software developer, so do not expect us to pick this task without economic aid. Status and discussion page.

VST plugins

Even though our above proposed plug-in system is based on LADSPA and LV2, most DSP modules out there are based on the VST standard. Sadly, it is subject to patent issues and it is also a bit painful to get to work under GNU/Linux systems. Still, if many people Flattr it, we are still open to pushing it upwards in our roadmap. Status and discussion page