Shell. version alpha 0.1-- 23-9-03 -- www.ixi-software.net

For the latest versions of Shell go to www.ixi-software.net and check the Software / Download section

 

Shell is composed by two pieces of software. An interface and a sound engine created using Pure Data (Pure Data by Miller Puckette and others, http://www.crca.ucsd.edu/~msp/software.html ). It also uses some externals for Pure Data (arraycopy, arraysize, flashserver and zexy. By different authors).

The interface is connected to the sound engine allowing to control transformations applied to different samples by manipulating the shape and location of different polygons in the interface.

Shell was originally created to be used as a performance tool possibly with an acoustic instrument (like drums). The sound from the instrument or sound source fills the buffers creating up to 8 simultaneous loops. Each buffer playes authomaticly after it has been filled. When all the buffers are full it starts again filling them from the first one. This keeps over and over again unless you stop the sampling function. The length of this buffers can be set (in compasses) from the control bar at the top (sequence bar). The BPM can be set at the top right corner.

Shell can be also used as a sample player and sounds can imported directly from the hard drive into he buffers.

The different edit areas can be hidden as desired by user.

-- Folder structure --
- Main folder called Shell that contains the main files for the application to work.
- subfolder called "PD" that contains the Pure Data application for the sound engine.
- subfolder "shell" that contains the files for the sound engine run by PD.
- subfolder "files" where the sessions saved by the user are stored.
- subfolder called "docs" containing this documentation.


-- Feature Description --

Saving Shell Sessions:
You can save sessions with the menu "File/Save session" or "File/Save session as". This command creates inside the "FILES" folder (!) a folder with the name you choose and places inside that folder a file called "the_name_you_choose.shl" (notice the .shl extension) plus a folder called "Sounds" where it exports all the sounds and samples created and used by the buffers during by all Presets saved within the current session, (read "Saving Presets" to know more about Presets in Shell).

Saving Presets :
The Presets system allows to save configurations that can be quickly loaded later. This means that if you save a preset at any point, the location, shapes and all general parameters that are at that moment get stored together with the sounds that the shapes control. You can save many presets within the same Shell session, allowing you to prepare different steps or stages of a performance.

Connection
CNTR + R - Force to reconnect to Pure Data

Shapes
Right click to get contextual menu
Click and drag to make selections.
SHIFT + click and drag to add new selection to the previous one.
Control + A to select all polygons
R and drag - Record shape path or movement of shape
H + drag - limits movement to Horizontal
V + drag - limits movement to Vertical
C + click and drag to drag one shape's sound into another

Palettes
Control + P to show/hide Presets window
Control + G to show/hide General window

Shape Edit area
Right click to get contextual menu of each vertex
Click and drag to move vertexes
Control + R and drag - Record shape path or movement of vertex (or all vertexes if you drag all)
Control + E to show/hide shape edit area

Menu bar
(This menu has been created to be able to select shapes that are moving and therefore are difficult to select)
Click to select the shape you want to edit
Right click to get contextual menu of the shape you want
Control + M to show/hide menu bar

Sequence area
The vertical position of each shape in this area controls the length in compasses of the sound buffers to be recorded in Pure Data.
Control + C to show/hide sequence area

SPACEBAR to start/stop sampling to the sound buffers.
Control + F to empty sound buffers

Rec to disk
Control + T to start - stop recording to disk.
This function creates a wav file in the application folder named with the current date and time . It contains a recording of all sound produced by Shell during the time rec2disk was on.

 

 


You can select the audiobuffer (default is 68)
The Pure Data sound engine can be hidden or shown (default is hidden)

 


Shell main interface. Different areas and windows are explained in the graphic.

 


Shell recording into one of its buffers. The green line shows which sequence is sampling into which buffer.

 


Pure Data part of Shell, this is the sound engine. You can modify it easily if you know programming in Pure Data (www.pure-data.org).

 

 

-- To Do --
Shell is an application under constant development, there are thousand of ideas yet to implement. Please send your feedback to info@ixi-software.net
- Develop more interesting transformations to process the sounds in PD (Help in this area is welcome!)
- Dynamic detection of tempo.
- Adjustable "Snap to grid" so that "square" rhythms can be created
- Manual selection of buffer to sample to. (Forget about the sequences if user wants)
- Fix importing sounds problem with paths and filenames that contain spaces
- MIDI in to control parameters and change settings (to be able to control Shell from a MIDI switch when playing drums from example!)
- Find better visual associations between sound and shape
- Port to Macintosh (OSX)
- Port to Linux
- Port to MAX/MSP and Supercollider
- Algorithmic movement of shapes and shape's vertex (A-life?)
- etc...
nice list, isn't it? Let me know anything I have forgotten to include

 

 

Notice :
Please note that using the menus (save, save as, open, new ...) may stop or halt momentaneusly the communication between the interface and PD.
If you are in the middle of a performance you may want to use the shortcuts provided instead.

Windows XP note:
Make sure that in "Control Panel / System / Advanced / Performance / Advanced" you select "Better performance for 2nd level services" or you will get very bad sound or no sound at all.

Known bugs (!)
If you import a sound and there is a space in the name of the file (or anywhere in the path), Shell won't import it properly. Try to place Shell somewhere in your hard drive like "C:\shell".
Sometimes the sound engine does not start properly. Try to force reconnection (Control+R) and if you don't get a successful connection restart Shell.
Ocasinally the interface crashes when quiting.


This implementation of Shell has been created with the help from the Phonos Fundation and the Interactive Music Department staff at the IUA University of Barcelona, but also with the hel of many musicians that tested and suggested ideas. Thanks to all.

If you want to know more about ixi check our website www.ixi-software.net

Please DO mail us your opinion and feedback as well as bugs or problems you experience. We are also interested on listening to music produced using Shell or any kind of modification you create in the PD patch. Please share it with us, we could incorporate your changes into the Shell distribution.

enjoy!