Mister Stock's Wiki

Robot Control Workshop in Berlin, Day 5

[Coffee]

This morning Frank Blum has gone shopping for the electronic components he would need to build an magnetic coil driver circuit, with the coil's current & polarity can be controlled by an Arduino-board. Last night we had a brief rummage-round, and Bastiaan kindly provides us with various relays, solenoids, heat-sinks and other Elektroschrott from his eclectic personal collection.

Learning How to Play a New Song

The drummer can now play "Bad", by NoMeansNo, and doing well on getting to grips with Led Zeppelin's "Whole Lotta Love"

Frank Barnes & Kolja continue work on getting their respective machines to play the song "Bad". Synchronization over MIDI is working like a dream. Their computers, both running Logic, can start playing and stay in sync from any point in the song. And they can of course disengage the synchronisation and work on their own distinct parts of the song.

Last wednesday night's first experiments with MIDI-sync showed that it was also easy to get Lice & Logic to run in Sync, with either one being the master or slave. When Markus arrives, he suggests to start working on the new song ("Bad") in Live, by way of experiment, instead of Logic which he has used so far.
After importing the MIDI-file, I sit down with him and first show him how to make a 'Mapped Instrument', so that he can name ranges of MIDI note-messages that control different aspects of his robot, Fingers, the guitar-player. Better yet, he can remap & slide these ranges around on the MIDI note-range in order to have a slightly more sensible arrangement of Fingers' various subsystems in the piano-roll editing window.
Next we create a new MIDI-track for Fingers, and drag some tracks around in the Arrange view so that we can easily see the original guitar-part and Finger's part side-by-side.
Writing Finger's guitar track starts of with checking which notes are played in the original song, and figuring out the fingering for Fingers' left hand. Because of the speed of the little finger pistons, fingering a note always happens like a 'hammer on', and after editing-in the first four bars of the guitar-riff, we can already hear Fingers' play along.
But his guitar is still in 'Drop-D' tuning, from playing the Pantera song earlier. Oops. We'll have to look into motorized tuning-heads, s that we can make the musicians capable of tuning their own instruments.

After a quick tune-up, editing goes quickly, as we figure out how to use a 4-bar loop to create a 16-bar region, and some other useful tricks.


0 comments

Robot Control Workshop in Berlin, Day 4

[coffee]

[The basics of Logic, with Kolja]
How to create new devices & instruments in the Environment window
How to assign tracks to Instruments, in the Arrange window.

[drummer & bass-player programming]
[cooking]

[Arduino & magnetic-coil control]
I make a circuit-diagram for the proof-of-concept test setup.
This relatively simple circuit uses a relay as an H-bridge, to switch the coil's polarity, and a single MOSFET to do the PWM-modulation of the coil current.
Download file "Polarity+PWM.pdf"


0 comments

Robot-Control Workshop in Berlin, Day 3

[coffee]
[brief summaries of yesterday's workshop]

Synchronization & MIDI-Machine Control


Linking & Syncing Live & Logic


Basic MIDI-editing


Some more info on the Arduino



0 comments

Robot-Control Workshop in Berlin, Day 2

Today we are joined by Nick Meisel. He gives us a brief introduction, and some MIDI-related subjects that interest him.

Then we do a brief re-cap of what we discussed yesterday, to refresh out own memories a bit, and also for Nick's benefit.

Continuous Controllers

Then i discuss the subject of Continuous Controller messages vs. Note On / Note Off messages, for controlling actuators that can do more than just on/off, in/out, yes/no.

It is important to clarify the difference between the terms "MIDI-controller" and a "Continuous Controller"

Continuous Controller (CC) messages are intended for controlling parameters of the receiving MIDI-device.

[difference between note msgs and cc msgs]

Each midi-channel can control 127 parameters. Each parameter can have 128 different values, including 0

CC messages can also be used to control parameters inside the sequencer programs we are using (Logic, Live)

Logic vs. Live

Next, i try to demonstrate how to record and play-back knob-movements, as CC messages, and play them back.
Starting with Logic, i make a new track with a virtual E-Piano instrument (E??88), and record some notes. Next, i try to assign two Continuous Controllers that are transmitted by the X-Y trackpad on my midi-controller to two interesting parameters on the E??88 instrument. Somehow, in the 'midi remote control learn mode' i get the two CCs assigned to four different parameters inside the E??88-window. The two parameters that i actually want to control are working, but i'm also controlling two other parameters that i don't want to control, at the same time. The two unwanted controller-assignments do not show up in the 'expert view' of the controller to parameter assignment window, so i don't know how to get rid of those.
I then decide to try using the regular knobs on my midi-controller, assigning them one at-a-time. This works. I can now modify the sound of the E-Piany, playing my recorder notes, and now i want to record my knob-fiddlings on my E-Piano track, without erasing the notes that are already recorded. Again it takes a while to figure out how to do this.
In the end, Markus shows me how to enable the 'write' mote for a track-automation parameter.

Having accomplished that task, in Logic, i now try to do the same thing in Live. Recording some notes is easy. Again i use a track with an E-Piano instrument I record a clip in a clip slot in the Channel View, stretch the 'time' of my recording so that it fits into a whole number of measures, and makes for a nice loop. Then i identify two parameters that modify the sound of the E-piano in an interesting way, and try to assign two knobs on my controller to these parameters. In MIDI-map mode, at first i don't get any response...

[rember to switch 'remote' on for midi-in devices in midi-prefs]

[recording CCs in clip works, but has no effect.]

[recording into the same track, i Arrange View works]

[fun with Wii-mote & JunXion]
[broken Wii-mote]

[general experimentation in Live]

[dinner]
[amplifier control]

[exporting MIDi from Logic without automation]
[recording amp's volume control in Live using a fader on a midi-controller]

[Jens Hikel appears]

[Wolfgang's presentation, Discussing Arduino ad MIDI-interface]


0 comments

Robot-Control Workshop in Berlin, Day 1

I'm in Berlin now, getting settled-in at the comfortable Robocross office in Pankow.

Introductions

Everyone had coffee, and we discussed the various versions of Logic Express/Pro/Suite that each of us has installed.
Now for the introductions, and a round-up of what we'd like to learn (more about) the coming days.

Today we have a nice group of 6 participants:
After a quick round of introductions we discussing what each of them would like to learn from this workshop, and what sort of things they would like to controI.
This gives me some idea of the general and some more goal-specific subjects to discuss over the next few days.

Why use MIDI-control?

I then give an bit of background and theory on the MIDI protocol, and what benefits there are in it for us to control our various machines and artworks, current and future ones, with MIDI.

Key points on MIDI & MIDI-control are:
  • MIDI is a 2-wire serial protocol. This means that the bits, bytes and packets that make up MIDI-messages are sent one after another, making it possible to send a lot of different messages over just two wires. It also implies that sending a MIDI-message takes some time. The bit-rate of the MIDI-protocol is not particularly high, by current standards (32.5 kb/s), so when alot of midi-messages are being sent, there might be a noticable delay.
  • A MIDI-port is a 5-pin soket on an interface or other equipment where MIDI-messages are sent (MIDI Out, MIDI Thru) or received (MIDI In). All modern programs that can sed & recieve MIDI may also create virtual ports, for sending & recieveing messages between different programs running on the same computer.
  • MIDI-messages coming from a given MIDI-port can be addressed to 16 different channels. These can be seen as virtual circuits traveling through one cable
  • MIDI is always one-way. Messages always originate at a MIDI Out port (or a MIDI Thru port) and travel through the MIDI-cable to a MIDI In port at the other end. To send and recieve MIDI-messages at the same time, you'll nees 2 cables.
  • MIDI cables can be quite long (I have successfully used 60m to 100m MIDI cables), use only 2 conductors inside, and are easily repaired or replaced.
  • Standard MIDI-hardware is readily available. Interfaces, keyboards, pads, controllers with knobs or sliders are all quite common and affordable these days.
  • Standard MIDI-software is afforadble and relatively user-friendly. Especially when compared to software for industrial automation purposes.

Why use Ableton Live?

After the lunch I give a few reasons why Ableton Live is such an interesting program for us to explore.


Then I try to demonstrate some of the functionality and features that set Live apart from other multitrack sequencing programs.

A plan for the week
At the end of the day, we try to figure out who will be present on which day of the week, what they would like to learn or try out, and how we can form groups of 2 or 3 people working on a project together.

Tuesday Wednesday Thursday Friday
Frank Barnes NA Basic MIDI-editing & sequencing,
Logic vs Live try-out,
Robots on Live,
Syncing 2 computers
Working with Logic,
Programming Stickboy
Working with Logic,
Programming Stickboy
Frank Blum Midi controllers,
Wii-mote & JunXion
Basic MIDI-editing & sequencing,
Working with Live
Wii-mote & JunXion,
Arduino
Shopping,
Arduino
Kolja Kugler NA Basic MIDI-editing & sequencing,
Working with Logic,
Working with Live
Logic, Editing,
Programming bass-robot
Working with Logic,
Programming bass-robot
Markus Kolb Midi controllers,
Controlling the amp
Basic MIDI-editing & sequencing
Logic vs Live try-out,
Robots on Live,
Syncing 2 computers
NA Working with Live,
Programming Fingers
Bastiaan Maris Midi controllers,
Wii-mote & JunXion
Midi Interfaces, Arduino
Basic MIDI-editing & sequencing,
Working with Live
Working with Live,
Arduino
Working with Live,
Arduino
Wolfgang Spahn Midi controllers,
Midi Interfaces, Arduino
NA Arduino? NA
Nick Meisel Midi controllers,
Midi-Input, Inspiration
NA NA A brief visit

0 comments

Blog Test

This is a test of the blog function in Mac OS-X' 'Groups' server.

I'm not sure why the title of this page is '... Wiki' and not '... Blog'
I should have a look in the Python-code & change this.

0 comments