Slicer
Slicer is a sound app by www.ixi-audio.net
version alpha 0.1.5 - November 07.

Download page : http://www.ixi-audio.net/software
Latest unstable versions of source code can be downloaded at your own risk from the devel.goto10.org svn server on section ixi > python > slicer

Contents of documentation:
- Description
- License
- System requirements
- Mailing list
- Installation
- Short tutorial / how to
- Changes
- To do
- Aknowledgements
- Troubleshooting
- Feedback

Description:

Slicer allows you to create rhythms and textures from any sound you import by moving the Slicer nodes. Slicer will chop your sound into slices and superpose them. The slices will be created and manipulated acording to the position of the control nodes (the ones represented by a square). The slicer nodes (in color) control volume (vertical) and pan(horizontal) of each slice, while the control nodes control pitch, lenght, shift and starting point for all the slices.

A Slicer demo video is available at http://www.youtube.com/watch?v=rxvii1A3a-g

Slicer has been constructed using Mirra, a Python 2D OpenGL graphics library developed by ixi. It can be downloaded from http://ixi-audio.net/mirra. Find more detailed info on Mirra check http://ixi-audio.net/content/download/mirra/documentation.html

License :

This application 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.

This aplication 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 library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Slicer contains parts and libraries by others such as Mirra (LGPL), SuperCollider, scosc/scsynth, python, pygame (GPL), pyopengl (BSD), and wxpython (wxWindows Library Licence).

System requirements:

Slicer works under any platform where Python and SCsynth runs. This means : OS X, Windows, GNU/Linux.
The development has been done under GNU/Linux and even we test it under windows and OSX we encourage you to report problems you might encounter under windows and OSX. We test our apps in all platforms but probably not as in depth as you when you are using them!.

Slicer should run ok on a 1100mhz PIII laptop with 258 RAM and 16M graphics card both under XP and GNU/Linux, but you might want to use a better graphics card for less CPU usage.

If you run Slicer from the python source you need the following dependencies
python, mirra, pygame, pyopengl, wxpython, and SuperCollider.

* Note For Windows users : Under some versions of Windows you might need to install as well GLUT32.dll to get OpenGL graphics running. This can be downloaded from http://www.xmission.com/%7Enate/glut.html . Just copy the glut32.dll into your c:\windows\system32 folder and it should work.

* Note on firewalls : Some firewalls like ZoneAlarm or the Windows XP firewall in some cases might try to block Slicer, this is because the graphics engine and the sound engine comunicate via internal network. Dont be afraid this is totally normal, in those cases you just need to grant permissions to Slicer (and maybe to scsynth, the sound engine).

Mailing list

For questions, info about updates, etc.... subscribe to ixi mailing list here http://four.pairlist.net/mailman/listinfo/ixilist
There is also a separated mailing list about mirra here http://lists.goto10.org/cgi-bin/mailman/listinfo/mirra

Installation

- OSX : Uncompress the zip, move the Slicer to any directory in your machine and just run it.
- Windows : Uncompress the zip, run vccrt.msi file once ( * this is important!! * ), move the Slicer to any directory in your machine and just run it.
- GNU/Linux : install dependencies and run "python slicer.py" command.

Please report errors or bugs to info AT ixi-software.net or in the mirra mailing list

Changes:

0.1.5 :
- added save/open session functionality
- added box control speed pannel
- upgraded to python 2.5 and pyOpenGL3 on windows version
- on mac the sound folder moved out of the package

0.1.2 :
- added lock nodes entries in General menu
- added basic open and save functionality in File menu
- added random situation of boxes and nodes independently in Auto menu
- some optimisation in the render process with call lists and glRect

0.1.1 :
- fixed ReleaseMouse problems
- optimised performance bypassing mirra render methods to expose OpenGL on Slicer render methods
- mac included latest standalone scsynth UB compiled by www.realizedsound.net
- mac removed supercollider classes folder, it was not needed.
- prefs.txt moved one level up from data folder

0.1 :
- switched to Python for graphics and SCsynth for the sound engine.

Short tutorial / how to:

Note that this is a quick description of the Slicer's features, you are welcome to write something more in depth and sent it to us to include here!

- Controls :
Vertical and horizontal position of control nodes (the two bigger squares) change pitch, start point, slice length and start point shift.
Slice boxes (in color, surrounded by a circle) control pan and amplitude for each of the slices.
Layers (in the background) show the chuck of the original sound that each slice is playing. Layers and slice boxes are associated, Layer number 0 and slice box number 0 represent sound slice number 0, they have same color and are labeled with the same number. Mute/unmute each slice by right clicking on the slice box or in the layer associated to it. If mute the slice box will be labeled as 'Muted' and its Layer display will fade away. The numbers in the left side of the layers display the start and end point of its sound slice, this is currently display as numbers ranging 0 to 1. Soon it will be displayed in milliseconds. We will also draw the shape of the sound in each layer.
- Sounds :
Slicer will automatically try to load all sounds in the "sounds" folder at start up into the sound pool. This means that they are loaded in RAM and accesible for use. You can add more sounds or folders with sounds from the sound pool menu.
- Preferences :
There is a file called prefs.txt next to the application where you can change your startup preferences. BEWARE that if you break the file formating this might not be read properly by Slicer.

- Menu File > Save / Open sessions :
Slicer allows now to save/open sessions. A session is just a text file that saves the details of the system in a specific moment . By opening old files we can go back to previous situations. To make sure the sounds are found copy them to /sounds folder before importing them into Slicer.
- Pitch control panel :
This panel allows to set the top, central and bottom values for the pitch range. It allows to choose which pitch range we want to work with in Slicer. You MUST press the update values button for the new values to de updated. Setting Microtones option off will force the pitch transformation to be in tone steps.
- Auto menu : Box auto movement pannel allow to set the speed of the box movement. This will change pan and volume for each slicer acording to the wandering of the boxes With node auto movement on, control nodes will do small jumps randomly. To stop them set speed to zero.

TO DO:

- nodes jump back to prev position after dragged with mod key pressed
- half a tone steps when microtones is off
- draw wave on graph display -> enable/disable on menus
# - block horizontal or vertical movement of handles when dragged by holding h or v key.
- add more control nodes ? : distortion / tremolo / reverb / granular ...
- record path of boxes
- move selected boxes with arrow keys and shift and from GAMEPAD
- display shift/st point etc.. in millisecs
- freeze sound loop like with old app
- one parameter effect for individual layers that can be controlled from the ring
- envelope in the display?
- grid showing pitch add 1, -1 lines to display
panel / menus:
- help menu opens documentation on browser
# - auto behaviour control panel
- avoid opening more than one instance of each panel from menu
- plot wave out on panel like PD table
- plot sound output spectrum
- wxpannel with output general effects or filters (dist, delay, tremolo, lbp,hp, eq...)
- On/Off microtones, audio, pitch, pan, amplitude slider * its all already on the menus, not sure if it is useful to have it here as well
- out equalicer ?
- gamepad mapping configuration panel
# - file menu open/save/saveas to save configuration
- fixed color gradient for display?
- something like PD's wvvw external to select which part from the sound goes into the app?
scsynth to do:
loop crossing clicks remove
reset/synch to mouse playheads
rec to disk
rec to buffer / save in disk?
send length via osc
effects
wx to do :
drag n drop on window?
mirra to do:
setMouseVisible in wxpython
...
email us with your request or ideas to info AT ixi-software.net

Aknowledgements :

Thanks to Goto10 collective www.goto10.org for thir SVN hosting and mailing list.

Some parts of the development of and Slicer Mirra were developed with the support from different institutions :
- The Digital Research Unit at the University of Huddersfield. http://www.druh.co.uk
- The Lansdown Center for Electronic Arts at Middlesex University who helped providing expertise and support for developing the early versions of Mirra. http://www.cea.mdx.ac.uk/
- Bizkaiko Diputazioa, Basque Country.
- Buchsenhausen Kunstlerhaus, Innsbruck, Austria.

thanks to patrick, tom schoulten and tom betts for the technical help.

Troubleshooting :

"I get no sound" :
- try re-running the application, sometimes it does not intialise the sound engine properly, we are working on this.
- make sure that scsynth process is not already running in your machine before you run slicer.
- if you have a firewall running you might need to give permissions to scsynth and slicer to use port 55170.
- your sound is not stereo (yeah... we know... it is in the to do list).

"I get clicks sometimes" :
some sounds click when crossing the loop point, this is in the to do list ... please be patient. If you have time and code in Supercollider maybe you can help?

Using Slicer with Jack, Hijack, SoundFlower ... :
Slicer sound engine will appear named as Supercollider or SCsynth in those programs.

Any other kind of errors :
Under windows and mac in case of errors the application leaves a log file called "slicer.log" or "slicer.exe.log where the errors are described, copy the text and send it to us in an email. Please include as much info as possible about the error and your system (OS version, soundcard, processor speed), we will try to help. On Linux just copy the error from the console.

Feedback :

We would more than happy to hear your comments, suggestions or to incorporte any improvement you might do to our code. Contact us on www.ixi-audio.net , Mirra's mailing list (http://lists.goto10.org/cgi-bin/mailman/listinfo/mirra) or info at ixi-software.net
If you have some music you have produced using Slider we would like to hear it. We keep links to ixi user's music in our Label section.
enjoy.