The Schwinnaphone A Musical Bicycle. By Jeff Volinski with Mike Caselli

Similar documents
Electronic Musical Instrument Design Spring 2008 Name: Jason Clark Group: Jimmy Hughes Jacob Fromer Peter Fallon. The Octable.

The Laser Harp. The Concept: Software: Douglas Simmons Group: Dana Price and Ed Vitiello EMID ES 95, Lehrman

The New and Improved DJ Hands: A Better Way to Control Sound

R H Y T H M G E N E R A T O R. User Guide. Version 1.3.0

y POWER USER MUSIC PRODUCTION and PERFORMANCE With the MOTIF ES Mastering the Sample SLICE function

Reason Overview3. Reason Overview

We will cover the following topics in this document:

randomrhythm Bedienungsanleitung User Guide

NoteMix Player Note Mixer/Shifter/Splitter/Filter with Snapshot Morphing Rack Extension for Propellerhead Reason

The MPC X & MPC Live Bible 1

Recording to Tape (Analogue or Digital)...10

Igaluk To Scare the Moon with its own Shadow Technical requirements

Integrated Circuit for Musical Instrument Tuners

COPYING A PATTERN...35

2002 Martin Professional A/S, Denmark.

Lesson 1 name: Style Studies: Drum Set

Laboratory 11. Required Components: Objectives. Introduction. Digital Displays and Logic (modified from lab text by Alciatore)

User Guide Version 1.1.0

Digital Systems Based on Principles and Applications of Electrical Engineering/Rizzoni (McGraw Hill

Chapter 23 Dimmer monitoring

Oberkorn User Manual. Analogue Sequencer. Analogue Solutions

Laboratory 8. Digital Circuits - Counter and LED Display

INPUT OUTPUT GAIN DELAY. Hue Candela Strobe Controller. Hue Candela s STROBE CONTROLLER. Front Panel Actual Size 7 ¼ By 4 ¾ POWER. msec SEC 10 1.

006 Dual Divider. Two clock/frequency dividers with reset

For example, an indication of Range: 60, 67, 72, 75 (Hz) means that 60 Hz is the default value.

LEVEL CROSSING MODULE FOR LED SIGNALS LCS2

1. Introduction. A-160 CLOCK DIVIDER Trig. In Res. In. doepfer System A Clock Divider A-160

Using Impact LX+ with Reason

Synthesis Technology E102 Quad Temporal Shifter User Guide Version 1.0. Dec

Plog rev 1.0 MANUAL Overview

Beatmaker EDEN User Manual

Noise Tools 1U Manual. Noise Tools 1U. Clock, Random Pulse, Analog Noise, Sample & Hold, and Slew. Manual Revision:

ARIA STUDIOTRACK IIII R504

STX Stairs lighting controller.

TAPE ECHO HANDCRAFTED IN DENMARK

StepSequencer64 J74 Page 1. J74 StepSequencer64. A tool for creative sequence programming in Ableton Live. User Manual

// K4815 // Pattern Generator. User Manual. Hardware Version D-F Firmware Version 1.2x February 5, 2013 Kilpatrick Audio

multitrack sequencer USER GUIDE Social Entropy Electronic Music Instruments

The NORD MODULAR G2 demo software

Rebis Audio Ltd. RA226 Digital Sampler User Guide

MANUAL v.3 CONTACT MORE THAN LOGIC. UNITING ART + ENGINEERING.

This module senses temperature and humidity. Output: Temperature and humidity display on serial monitor.

Noise Tools 1U Manual. Noise Tools 1U. Clock, Random Pulse, Analog Noise, Sample & Hold, and Slew. Manual Revision:

Introduction Display...1 Mounting...1 Firmware Version...2. ADL Operation... 3

001 Overview 3. Introduction 3 The Kit 3 The Recording Chain Technical Details 6


USER S GUIDE. 1 Description PROGRAMMABLE 3-RELAY LOGIC MODULE

ADSR AMP. ENVELOPE. Moog Music s Guide To Analog Synthesized Percussion. The First Step COMMON VOLUME ENVELOPES

Owners SW-LCD 2.0 Manual & Specifications

Original Marketing Material circa 1976

CHAPTER 16 UNIVERSITY OF NORTH CAROLINA AT CHAPEL HILL

// K4815 // Pattern Generator. User Manual. Hardware Version D/E Firmware Version 1.1x February 16, 2011 Kilpatrick Audio

Provides an activation of Relay 1 triggered by Input 1. The function also provides an option for reverse-logic on the activation of Input 1.

Rhythm. Pattern Generator

DRUM INTELLIGENT TRIGGER INTERFACE

KING-METER USER GUIDE SW-LCD

16-BIT LOAD CELL/DUAL STATUS INPUT

SWITCH: Microcontroller Touch-switch Design & Test (Part 2)

7 SEGMENT LED DISPLAY KIT

LED Array Tutorial. This guide explains how to set up and operate the LED arrays that can be used for your. Internal Structure of LED Array

KBR-M -WARNING- -SPECIFICATIONS-

Application Note AN-708 Vibration Measurements with the Vibration Synchronization Module

OPERATION NOTES FOR PSIDEX AUDIO PGP-1A PRE-AMPLIFIER DESCRIPTION INSTALLATION

MODULAR DIGITAL ELECTRONICS TRAINING SYSTEM

Build A Video Switcher

Edit Menu. To Change a Parameter Place the cursor below the parameter field. Rotate the Data Entry Control to change the parameter value.

The Micropython Microcontroller

Manual Version 1.0. User Guide. English

Dissolve Control Programming : Projector/Dissolve Control Hook-Up

Beatmaker EDEN User Manual

Digital Ratio Controller

Yosemite in HO FROM HALFDOME TO CAMP CURRY

User Guide. Version 2.0.0

ttr' :.!; ;i' " HIGH SAMPTE RATE 16 BIT DRUM MODUTE / STEREO SAMPTES External Trigger 0uick Set-Up Guide nt;

Diamond Piano Student Guide

Flat-Bed Module Recorders

Gamma instabus. Technical product information

oberkorn3 analogue sequencer user manual analogue sequencer user manual ANALOGUE SOLUTIONS oberkorn mkiii e&oe (c)

TEST 3 EURORACK V/mA METER INTRODUCTION BUILD INSTRUCTIONS

Lecture 5: Frequency Musicians describe sustained, musical tones in terms of three quantities:

USER MANUAL FOR THE ANALOGIC GAUGE FIRMWARE VERSION 1.1

Art of Sound. Professional soundware solution. PULSation. Reference Guide. Waldorf Pulse

TL5024 MEMORY LIGHTING CONSOLE OWNERS MANUAL. Version 1.01

Please read this manual before using the C961 Display. Suzhou Bafang Electric Motor Science-Technology Co., LTD

Lesson Sequence: S4A (Scratch for Arduino)

Digital Effects Pedal Description Ross Jongeward 10 December 2014

Cedits bim bum bam. OOG series

fxbox User Manual P. 1 Fxbox User Manual

CTP431- Music and Audio Computing Musical Interface. Graduate School of Culture Technology KAIST Juhan Nam

PASS. Professional Audience Safety System. User Manual. Pangolin Laser Systems. November 2O12

Revision 1.2d

Additional Functions. Additional functions in Version 2. Other enhancements. Contents. Effect Algorithms Inherited from the BOSS GT-6B

Shifty Manual v1.00. Shifty. Voice Allocator / Hocketing Controller / Analog Shift Register

TDEPD. Field-Programmable Pressure Switch/Transducer with Integrated LED Display. Programming Sequence Manual

Audio Interface II Manual. Audio Interface II. Eurorack <-> Line Level Audio Interface. Manual Revision: 1.0

LeRIBSS MTC MANUAL. Issue #1. March, MTC Control Unit Definitions, Information and Specifications. MTC Control Unit Electronic Schematics

9 Control Equipment. Measurement- and Control Equipment Series 8214, 8218

American DJ. Show Designer. Software Revision 2.08

Review : 2 Release Date : 2019 Last Amendment : 2013 Course Code : SKEE 2742 Procedure Number : PK-UTM-FKE-(0)-10

VERSION 2.A 10/21/1999. Lightronics Inc. 509 Central Drive, Virginia Beach, VA TEL

Transcription:

The Schwinnaphone A Musical Bicycle By Jeff Volinski with Mike Caselli

Introduction Our goal for the Schwinnaphone project was simple; turn a bicycle into an electronic musical instrument. We knew that we could employ a number of different types of electronic sensors, hook them up to a Doepfer box, and then use Max and Reason to process the data, but we were unsure of how to utilize them in an interesting manner. Luckily, the bicycle provided us with a number of ways to potentially control music. Those who are familiar with multi-gear bicycles know that there are a number of mechanisms present in its design. A bicyclist can slow the speed of the bike by squeezing brake handles that are located on the handlebars. The front and rear derailers can be activated using levers that are also located on the handlebars. Other aspects of the bicycle that could be potentially used electronically include the rotational characteristics of the gear-driven rear wheel, the foot pedals, and the rotational properties of the handlebars and front wheel. We decided early on that we would like the Schwinnaphone to play a piece of music at a tempo that is directly related to the speed at which the driver is traveling. We decided that the most efficient method to achieve this goal would be to measure the rotational velocity of the rear wheel, and then use that information to step through a recorded sequence. Other electronic controllers could then be hooked up to the brakes and gear shifters of the bicycle to provide control over the timbre of the music being played back. The finished Schwinnaphone is the assemblage of these electronic circuits, an old bicycle (thanks Mrs. Lehrman), and the Max and Reason patches described below. Hardware The bicycle is outfitted with three different types of sensors, each at a different location. The key sensor on the Schwinnaphone is a reed sensor, located on the frame next to the rear wheel (under the yellow tape, in the picture to the right). This sensor detects the presence of magnets, which are located on the spokes of the rear wheel and pass within millimeters of the sensor as the wheel rotates. The reed sensor data sends an on signal to Max as each magnet passes, and reverts back to an off signal once the magnet is out of range. This data is used in Max to drive the sequencers through the strings of note data. The Schwinnaphone also uses a force-sensing resistor that is mounted on the front braking mechanism (pictured below). This resistor sends a voltage signal to the Doepfer box that is proportional to the force created as the user squeezes the brake handle. This data is then converted into a number between 0 and 127 that is used to control the pitch bend of the lead guitar track (in such a way as to replicate a whammy bar). We experimented with having the brakes control other aspects of the music, such as the LFO amount, but many of these parameters would cause Max to crash unexpectedly.

The Schwinnaphone features a push button switch that is located on the large gear derailer. This sensor also feeds Max with on-off data each time it is triggered, which is used to signal a switch within the program that halves the tempo by recognizing only one out of every two reed switch firings. Other pieces of hardware that we used throughout the course of the project are a breadboard for the electronic wiring and a rear wheel bicycle trainer to mount the Schwinnaphone on for testing and demonstration purposes. Software Max Patch The Max programming turned out to be a learning experience that was more difficult than expected. Our goal was to have the reed sensor control a sequencer in such a way that it stepped through a sequence of numbers one number at a time each time that the sensor fired. The sequence of numbers would contain pitch data, which could be sent to noteout objects to create the song. There were two main challenges that we encountered when trying to employ this idea. First, there was no existing object in Max that would allow you to step through a sequence of numbers. I had some experience working with the seq function (it was used in my first EMID project, The Song Destroyer ), but it did not provide the level of control that was needed for the Schwinnaphone. Professor Lehrman then recommended that we search the internet for information on how to write such a program. We soon found out that there is a vibrant community of Max users out there who are more than willing to share their knowledge of the program. After a short search, I stumbled upon Karlheinz Essl s RTC Library i, a collection of Max patches that had been created by Mr. Essl that he was sharing publicly. One of these patches, sequence, was exactly what we were looking for. The second challenge involved composing an entire song using MIDI note numbers in a Max message box. The Schwinnaphone program plays back Born to Be Wild, by Steppenwolf, on five different tracks (bass guitar, lead, kick drum, snare drum, and hihat). Each of these tracks is a collection of 448 numbers arranged in lines of sixteen (each line of sixteen represents two measures of 8-beats in the song). It turns out that the message boxes in Max have a capacity of 192 two-digit numbers, so each of the tracks had to be broken down into four separate

message boxes. The bass track and the lead track require two sets of sequences each; one to supply the note-on values and the other to supply the note-off values. The logic used to play back these sequences is described below. The heart and soul of the Schwinnaphone Max patch is the sequencer section, which employs seven of the aforementioned sequence functions. The program uses two sequence functions (pictured above) for both the bass and the lead sequences; one to signal a note on, and the other to signal a note off right before the next note is played. Each of the three drum tracks require only note-on sequences because the Redrum module in Reason does not require note-off s (the drum sounds are so concise). The select -1 function is used as a method to play rests in the song; each time the sequence spits out a value of -1, nothing gets passed on to the noteout object. Since each sequence is actually a collection of four different message boxes, a separate section of logic had to be written to switch between sections at the exact moment (right). The four if-statements are each connected to a counter that tallies the number of bangs created by the reed sensor. When the counter reaches the number of the last value in the first box, the if-statement fires a bang to signal the sequence function to begin stepping through the second box. This procedure is followed to the end (all 448 numbers in four message boxes) and then a bang is set to reset the counter to begin counting from zero once again. The last significant piece of programming is the section of logic that controls the velocity of the notes being played. We thought that it would be interesting if we the speed of the rear wheel could, in some way, control the velocity of the notes. This logic (pictured right) does exactly that. It utilizes a timer function to measure the time between two bangs of the reed switch, and sends that number to a series of if-statements. These statements assign lower times higher velocities and longer times lower velocities. The velocity values are then sent directly to the noteout objects each time that they change. The rest of the programming provides some bells and whistles to the Schwinnaphone, such as an automatic reset after 3 seconds of inactivity (which is accompanied by an awesome, end-of-song guitar and drum crash), the logic for the tempo-halving switch, and the programming that accompanies the pressure sensors that control the pitch bend of the lead track. Reason Patch The Reason patch is very straightforward. It uses three separate components each working on their own channel; a Subtractor module or an NN19 module for the lead

sequence, an NN19 module for the bass, and a Redrum module for the three drum tracks. The Redrum module loads 10 separate drum sounds, each of which can be signaled by a different note-on number on that channel (for example, the kick drum is note 36, the snare is 37, and the hihat is 43). In the Max patch, the two bass sequences are sent to channel 1, the two lead sequences are sent to channel 2, and the three drum sequences are sent on channel 3. The only knob in the Reason patch that is controlled via the Max patch is the pitch bend on the lead track, which is hooked up to the pressure sensor on the brake. Responsibilities Similar to my last project, I was assigned with the task of devising the Max and Reason patches that would run the hardware. While Mike spent most of his time attaching the sensors to the bicycle and making them compatible with the Doepfer box, I spent the majority of my time in front of the computer, wrestling with Max. After we formulated a way to step through a sequence of numbers, it was my job to compose a song entirely using MIDI numbers. Needless to say, this was a dry and tedious task. I found that this could most easily be accomplished by breaking up the song ( Born to Be Wild ) into sections of 16 beats, so each of the five tracks could be easily coordinated with one another. I also had to figure out the most efficient way to send note-off data for the bass and lead tracks. I found that the correct note-off sequence took on the same shape as the note-on sequence, but with the numbers shifted to the right. While more tracks of Born to Be Wild or another entire song could have been added to

the program, it would have been such a time consuming task that the rest of the program would have suffered. I decided to stop composing after seven sets of MIDI data so that the rest of the logic would be as robust as possible. The note-on and note-off sequences for the lead track are pictured above as an example. I also spent some of my time searching the internet for information about Max programming. I found this to be a very valuable experience because I learned that there is a wealth of information in various user-groups on the net. In addition to finding the sequence function that was put to use in our program, I discovered a number of other useful objects that would have simplified other Max programming challenge that I have faced in the past. Conclusions While the Schwinnaphone project was a successful venture into the world of electronic musical instrument design, it was a worthy challenge. If I ve learned one thing about programming and electronics, it s that something is bound to go wrong. Figuring out how to make our resistive sensors into sources for the Doepfer box was a very difficult task, one in which the consultation of an electrical engineering professor was required. Composing a five-track version of Born to Be Wild using only MIDI numbers was an incredibly tedious task that was made even more difficult because of the intricacies of Max s message boxes. If we were to construct the second generation Schwinnaphone, I would make a few changes. First, I would increase the reed sensor s sensitivity. At high speeds, the magnets will pass the sensor so quickly that it will not register a response, leading to a studdering playback of Born to Be Wild. I would also spend the time to create more songs that could be toggled using a mechanism such as the rear derailer. I would also like to examine alternative methods of sequence playback, because it appears that Max sometimes becomes overloaded in our current patch when all seven sequences are running. While time consuming, I feel that this project was extremely worthwhile. I can definitely say that I learned more about Max, and that I discovered a large support community for the program online. Electronic circuits have never been my forte, but I have to admit that they make more sense to me now than they did before the project. Long live the Schwinnaphone! i Karlheinz Essl s RTC-lib, http://www.essl.at/works/rtc.html, 2004