README.md 2.25 KB
Newer Older
1
2
3
4
5
6
7

Ayyi Auditioner
===============

The Ayyi Auditioner is a service that is connected to Jack[1] and can
playback audio samples triggered via Alsa Midi and Dbus.

Ayyi's avatar
README    
Ayyi committed
8
## Why?
9

Ayyi's avatar
Ayyi committed
10
11
 - Ayyi Auditioner gives the user a dedicated channel that can be set up and
   optimised (eg, routing and fx) for the purpose of auditioning from multiple
12
13
14
15
16
17
18
19
   applications in a modular setup.

 - Free's developers from having to independently re-implement the same
   auditioning functionality, i.e. promotes code re-use and encourages
   best-of-breed. Allows audio applications to reduce runtime resources
   and concentrate on their core functionality.


Ayyi's avatar
README    
Ayyi committed
20
## Features
21
22
23
24

 - Resampling: the sample can be played at different pitches and is resampled
   to the jackd sample rate.

Ayyi's avatar
README    
Ayyi committed
25
 - Midi triggering. Once a directory has been selected via Dbus, the current
26
27
28
29
   sample can be played at different pitches across the keyboard. Samples in
   the current directory can be selected using Midi program change.


Ayyi's avatar
README    
Ayyi committed
30
## Usage
31

Ayyi's avatar
Ayyi committed
32
33
 - The auditioner service is intended to be used with a supporting application such
   as [Samplecat](ayyi.github.io/samplecat/).
34
35
36
37
38

 - An example command line client program is included. Running the 'audition'
   command with a filename argument will request the auditioner service to
   play the given file.

Ayyi's avatar
README    
Ayyi committed
39
40
41
 - Developers mostly need to use the Dbus Api. Essentially this consists of
   calling `auditioner.playback_start (sample_path)`

Ayyi's avatar
Ayyi committed
42
43
44
45
46
47
48
49
50

## Installation

 - Ayyi auditioner is developed on GNU/Linux. It may also work on other systems.

 - Dependencies include dbus-glib, ladspa, jack-audio-connection-kit, libsamplerate,
   alsa, ffmpeg, libsndfile. A list of packages for these dependencies can be
   found for some distributions in the Docker files in the test directory.

51
 - ``./autogen.sh && ./configure && make``  
Ayyi's avatar
Ayyi committed
52
53
   If installing from a tarball you can omit the autogen step.

54
 - To use the auditioner without installing, you can either launch the service
55
   manually or copy `auditioner.service` to `/usr/share/dbus-1/services/`
56
57


Ayyi's avatar
README    
Ayyi committed
58
## Limitations
59

Ayyi's avatar
Ayyi committed
60
 - Only mono and stereo are supported.
Ayyi's avatar
README    
Ayyi committed
61
62
63
64
65
 - Playback at different pitches is temporarily disabled.


Ayyi Auditioner uses code from the Sonic Visualizer and DSSI projects. Thanks
to Chris Cannam and others.
66
67
68


[1] [JACK Audio Connection Kit](http://www.jackaudio.org/)