RJC1000

What is it?

The RJC1000 is a desktop computer tool for creating reactive music and packaging it for distribution on iPhone and iPod Touch through the RjDj platform.

RJC1000 provides an interface to put together musical material, add reactive effects and define different states in a composition that can be triggered by the listener.

What is RjDj and reactive music?

RjDj is a player for reactive music scenes - tracks where the musical end result is created in real time by a combination of pre-recorded material, real time audio synthesis and sensor effects like processed live audio sampling and accelerometer control. RjDj is a free application available for iPhone and iPod Touch.

Basic workflow with RJC1000:

http://img.skitch.com/20100120-s1wsi8kpi7p97bfnwup91hsnk.jpg

It is built to be a cross-platform application that works on Windows, Mac and Linux, but during beta testing there is only a Mac version.

Overview

The RJC1000 is inspired by the Akai MPC series of music production tools, and gives reactive composers access to a number of pads that can be assigned to musical components like loops and beats, but also to specifically reactive musical elements like reactive synthesizers or augmented audio effects.

http://img.skitch.com/20100304-x191iiim222wrtthi6fc7bdkbe.jpg

Pads

Pads hold modules and samples, and a pad can be turned on/off to experiment with different soundscapes and how the reactive components fit with other musical elements.

Modules

The RJC1000 comes with a number of modules that can be assigned to the pads, including a number of reactive reality effects and reactive synthesizers from inhouse RjDj scene productions. More modules will be added in the future.

Pages

A certain configuration of active pads can be assigned to any of the 4 avaliable pages, for quick switching between different states in the music. When a scene is exported from RJC1000, the page configuration follows and the listener can swipe between the different states. Using the pages, users can move through the composition and activate their favourite parts of it by swiping to the appropriate page.

Basic usage of RJC1000

Drag desired modules and samples to free pads. You can either use samples from the directory in the modules list or drag any sample from your filesystem to an empty pad. The paging system allows you to have different combinations of modules within a scene. On the first page, turn on the pads you wish to use within that page and tweak the relevant parameters that appear on the right hand side. Repeat for the other pages. See the Manual below for more information.

http://img.skitch.com/20100305-1qtdhmjcw9pi8ye485pcxwix9m.jpg

Headphones and microphone

To get the best use of RJC1000, you need a microphone on your computer (built into most laptops) and we recommend using headphones. This way you’ll be more in tune with reality effects, and the creative experience in the RJC1000 will be similar to listening on the iPhone/iPod touch.

Scenes

The RJC1000 saves your composition as a scene to be played in the RjDj player on the iPhone/iPod Touch.

Scenes are installed in RjDj on an iPhone or iPod Touch by making them avaliable online and then clicking a special install link from Safari on the iPhone/iPod Touch. See “Installing scenes in RjDj on the iPhone or iPod Touch” for more information on how to do this.

For general information about scenes see https://trac.rjdj.me/

Manual

Installing RJC1000

Mac Installation

After downloading the RJC zip file, unzip it and move the RJC1000 application to your Applications folder.

Launch the application by double clicking the icon.

Using RJC1000

Using pads and modules

To assign a module to a pad, drag it from the list of modules to a free pad. Click the pad to turn the module on. Many modules have some parameters you can tweak. These will show up as knobs in the parameter section when the module is selected. To select a module without turning it on, right click on the pad.

http://img.skitch.com/20100304-myyqfdr6gxs3n93nxw4xtq8trw.jpg

To replace a module, just drag a new one onto the pad. To remove a module from a pad, right-click on it and choose 'Delete module' from the drop down menu.

When dragging a new module to a pad, you will hear a short audio dropout when the module is loaded into RJC1000. This is normal, and if you load longer samples, the loading time and dropout could be significant. But once modules are loaded, switching them on and off or switching between pages should not cause interruptions.

Setting BPM

The BPM setting affects some modules, with different settings altering their sound. Read the module description to find out whether a module responds to BPM or not.

Setting a root note

You can use define the root note of some synthesizer modules that play a predefined pattern. Read the module description to find out if a module responds to the root note setting or not.

Using pages

The RJC1000 has 4 pages available at your disposal. Any of the 4 pages can hold up to 16 modules. Select the modules you want to use for your scene. The same modules appear on all 4 pages. You can define the state of a module on every page, which makes it possible for the user to switch between states within the scene.

To create a scene, click one of the page pads, and turn on the modules you want active on that page. Switch to another page to create a different arrangement. The BPM and root note settings may also have different values per page.

Getting your samples and loops into RJC 1000

  • Prepare your loops in your favorite audio production software. All samples need to be at 22050 Hz sample rate. (This is the samplerate the RjDj player on the iPhone operates at)
  • Drag and drop your sample onto a pad in RJC1000, either from the samples folder in the modules list or from your filesystem. This will automatically add the sample player module to that pad with your sample loaded into it. The sample player module acts as a looper which re-triggers the sample in sync with the BPM of the RJC1000. Currently the default length of the playback cycle is 4 bars. However this can be modified within the Pure Data patch itself (see Expert Mode: Pure Data in the Advanced section for more info).

In the future, different sample playback modes will be made available. This will include additional features such as time-stretching functionality.

Important: Remember to adjust the BPM of the RJC1000 to the tempo of your samples.

Note on performance: To ensure optimum performance of the RjDj player on the iPhone/iPod Touch, please keep in mind that memory is limited. If the size of your sample material is bigger than about 15 Mb, youʼre likely to experience some problems.

Using reality effects

RJC1000 comes with a number of modules that provide realtime effects on audio input. Drag a module onto a pad and turn it on to try it. Many modules have parameters that you can alter using the knobs on the right hand side.

The main difference between RJC1000 and other music software is that the effects you add will run in realtime on an iPhone/iPod Touch for each user of your scene.

Note on performance: For scenes to run smoothly on the phone, there is a limit to the amount of resource intensive effects you can use in a single scene. Your desktop machine is much more powerful than the mobile device, so what works in the RJC1000 may not run at all in RjDj. Take it easy and make sure you test on an iPhone or iPod touch!

Using reality synthesizers

The sound of Reality synthesizers is controlled by sensor data, e.g. the pitch and filter may be altered by tilting the device. Drag one to a pad and turn it on, and use the knobs to tweak parameters if desired. Read the module description for more info on the function of different modules.

Using regular synthesizer modules

RJC1000 also comes with a few non-reactive synthesizer modules that you can include in your scenes. They are examples of the realtime generative capabilities of RjDj, and modules that could become reactive in a future release. Drag one to a pad, and tweak the parameters to your liking.

Using Your Library

At the bottom of the module list lies a folder named 'Your Library'. This allows you to save and reuse modules that you have edited. For more information on editing modules and Your Library see the advanced section.

Saving and opening RJC projects

You can save your work as an RJC1000 project. Choose “Save” from the File menu. The scene will be saved as a directory with a .rjc extension. You can open the project again by choosing “Open” from the File menu and pointing the file browser to the right .rjc directory.

Important note: While RJC1000 is in beta, the file format for saving projects might change. We will do our best to keep your projects compatible with coming versions, but make no promises.

Scenes in the RjDj player

Installing scenes in the RjDj player on the iPhone or iPod Touch

To play your scenes in RjDj on the iPhone or iPod Touch, you have two options: Installing the scenes from your computer over a local wireless network, or uploading them to rjdj.me and installing from our servers.

In both cases, you need to access a webpage with Mobile Safari on your device, and select a link to the scene. This will launch the RjDj player, which will download and install the scene.

http://img.skitch.com/20100305-pctsrkgug8gb3mg58bmegpxpqk.jpg

Local network installation with RJC1000

In the RJC1000, choose File --> Export scene to LAN. The pop-up window will provide you with a web address which you can access from your iPhone/iPod Touch browser. Click on the link provided and your scene will be downloaded to your RjDj client.

Make sure your computer and device are on the same wireless network, otherwise this won’t work!

Installation via rjdj.me

1) Export. First you need to export your scene. Choose File --> Export Scene to File. This will export your scene and package it as an .rjz file ready to be installed by the RjDj player. Save the file in a convenient place on your computer. Important: No spaces in the filename.

2) Install. Go to http://rjdj.me/sharescene and upload your .rjz file. You will get a URL that you can launch in Safari on the iPhone/iPod. Click to install the scene.

Note: The upload form at http://rjdj.me/sharescene was initially made primarily for people wanting to contribute scenes to RjDj for publication. It is perfectly fine however to use this upload form for just testing your scene.

You can also use this installation method when you are ready to share your scene with others - the URL can be published on your blog or emailed to people, and they will be able to install your scene by following the same procedure.

Adding your own artist name and artwork

You can add your name and artwork to a scene by choosing Edit Scene Info... from the Edit Menu or by pressing cmd+I in RJC1000. This window will appear:

http://img.skitch.com/20100305-cqf3epma2qgck8q1ey647sr3pe.jpg

Drag and drop your new artwork onto the default image and enter information about your scene. When your scene is opened on a device, this is the image which will appear on start-up.

To add images to individual pages just drag and drop any image from your filesystem to the appropriate page tab in RJC1000. A thumbnail of the image will appear on that tab. Note: All images are automatically formatted and resized within the RJC1000.

http://img.skitch.com/20100306-1bbd69m1mayeyq5b4p248twt9b.jpg

The pages you set up in RJC1000 will be present in the resulting scene when it’s played in RjDj on the iPhone/iPod Touch. The user can swipe between the different pages.

http://img.skitch.com/20100120-ra5tbwe9rqxjt7cb3agtchciec.jpg

For page switching to work, you need the latest version of RjDj.

RJC1000 networking features

RJC1000 is also an interface for controlling scenes playing on devices over a local network. If you change settings in RJC1000 while playing the same scene on the device, RJC1000 will send signals to the RjDj player over the network and affect the scene playing in RjDj. This feature is in a state of flux, but do play around and remember that if you’re testing a scene and playing around with things in RJC1000 at the same time, this could be the reason for strange behaviour.

The Menu Bar

File Menu

http://img.skitch.com/20100306-8kstd9nkxa99rqe4yc5r4x13up.jpg

New: Creates a new project.

Open: Opens an existing .rjc project.

Save: Saves the current project as a .rjc file. Choose Save As... to rename the project.

Export Scene to File: Exports the scene to a .rjz file which you can upload to rjdj.me and install on your device.

Export Scene to LAN: Exports the scene straight to your device through a local wireless network. Both your computer and device need to be connected to the same network for this to work.

Edit Menu

http://img.skitch.com/20100310-cftgr912gtyqa3yawkjijs2sdj.jpg

Switch expert mode on/off: Expert mode allows the user to edit the modules. See Expert mode in the Advanced section for more info.

Edit Scene Info: Brings up the information window where you can add your name, description and an image to the scene.

Rescan modules: Refreshes your module list. If you have added or removed modules from 'Your library' select this to update the listing.

Advanced

Expert Mode: Pure Data

The RJC1000 is essentially two programs in one. Behind the RJC1000 interface lies the audio engine which is handled by the Pure Data audio programming language. In Expert Mode (choose Edit --> Switch expert mode on), modules can be modified in Pure Data by anyone wishing to do so. When you load up the RJC1000, Pure Data will open up in the background and you'll see the main Pd console window:

http://img.skitch.com/20100304-jq4jjg2r5m14qip82gqyd1tdhb.jpg

To edit the sound modules, right-click the pad holding the desired module and select 'Edit module' from the drop down menu. This will expose the Pure Data patch of that module which will look something like this:

http://img.skitch.com/20100304-npbd6y2t7es9rtn9sf5apd9w2a.jpg

Inside every patch there are three sections. The input section which handles both processing applied to the input sound and/or incoming sensor data. The DSP section (see below) where the main signal processing takes place, and the Parameter section which hosts the parameter controllers.

http://img.skitch.com/20100304-x7bqgmgrh4ksbmu4f5br9rgcmd.jpg

Editing and saving modules

Drag a module to a pad, right-click and select 'Edit module' from the drop down menu to open up the Pure Data patch. After making the desired changes, close the patch, right-click the pad and choose 'Add module to library'. Select 'Rescan modules' from the Edit Menu and your edited module will show up in 'Your library' at the bottom of the module list.

If you think you may have done something wrong while editing the Pure Data patch, don't worry, simply close the patch without saving or re-drag the module onto the pad in the RJC1000 which will reset it.

Adding modules to RJC1000

If you wish to add your own modules to RJC1000, make sure that you save your patch as "_module.pd" in a folder named "module_name.rjm", replacing 'name' with the name of your module. Remember to edit the Module_Info in your module patch, as it will bear the name you enter there in RJC1000.

When you have completed your module, place the new directory in [ /Users/USERNAME/Library/Application Support/RJC1000/modules ] to add it to RJC1000. Deleting modules from that directory will remove them from 'Your library'. For more info on editing modules visit http://trac.rjdj.me/wiki/RJC1000-modules

The sample player

Curently the sample player defaults to a 4 bar loop in the RJC1000. However, by opening up the Pure Data patch, you can edit the loop functions. When open, you should see this window:

http://img.skitch.com/20100226-qpfnj3g1n96x3hf5xjdj9etg6g.jpg

The blue marker sets the LOOP LENGTH, the black marker sets the START point and the red marker defines the END point. A more detailed position in Bars, Beats and Ticks is shown at the bottom.

Remember to save (press 'cmd + s') your changes before closing the patch.

Manual editing of your scene info outside the RJC1000

Choose File--> Export Scene to File and save the scene on your filesystem. This will create a file with the .rjz extension. 

* Change the file extension to .zip 

* Double click the file to unzip it 

You should now have a folder with .rj at the end of the foldername. Open this folder in Finder to see the contents of the scene.

image.jpg is the static cover art that represents a scene in lists and on the RjDj website. You can replace this image with another image in the same format: a 320x320 jpeg image. 

page_image.png numbered 0-3 are the images for each individual page. You can replace these with other images in the same format: a 320x320 png image.

Info.plist can be edited in any text editor, or the OS X Plist Editor application (if you use the Plist Editor, you need to make sure that the file is saved in the XML property list format), and these are the bits you will want to change: 

<dict> 
    <key>info</key> 
    <dict> 
        <key>author</key> 
        <string>PUT YOUR NAME HERE!</string>
        <key>description</key> 
        <string>PUT A DESCRIPTION OF YOUR SCENE HERE</string>
        <key>name</key>
        <string>PUT THE NAME OF THE SCENE HERE</string>
        <key>category</key>
        <string>RJC</string> (you can ignore this one)
    </dict> 
</dict>

If you want to stay safe, don’t touch any other files!

When you are done, zip the file, change the file extenstion to .rjz and upload it on http://rjdj.me/sharescene.

Troubleshooting/FAQ

The scene won't download to my iPhone/iPod from the web address provided by the RJC1000!

Is your device connected to the same network as your computer? Double check, because otherwise you won’t be able to access the webpage that RJC1000 created.

What is the difference between .rjz files, .rj directories and .rjc directories?

An .rjc directory is a saved project from RJC1000. It contains the state of your pads, modules and pages so you can continue your work where you left off.

A .rj directory is a directory with the neccessary files for a scene to run on the iPhone/iPod touch. RJC1000 can export your work to a scene.

A .rjz file is a .rj scene directory that has been zipped. This is how scenes are installed onto the phone and transported over the internet.

My scene doesn’t make any sound on my device, what’s wrong?

Make sure you have some modules turned on in RJC before you export the scene. Make sure volume is up on both RJC1000 and the device. Make sure the page you are on actually had an active module in it. Please note: If you have a large amount of sample data or a too many resource intensive effects, the RjDj player might crash or experience so many dropouts that you can’t hear anything.

Known issues with RJC1000:

If you use headphones and plug them out, audio output will stop working. This is an issue with Pure Data and audio drivers, and unfortunately the only thing you can do is save your work and relaunch RJC1000.

If you do many fast parameter changes at a time, the message stack clogs up and you get audio dropouts. Wait for things to clear up, or save your work and relaunch RJC1000.