20080909

lack of hauptic timing in electronic music

The physical characteristics of traditional instruments give instant feedback to the musician. If you are a violinist when you pick up a unknown violin it takes weeks before you get a "feeling" for it. This feeling is the timing and its precision is effected by the physics of the make and material. Because you are holding the instrument the feeling of this timing is hauptic.

The lack of natural hauptic feedback in electronic instruments makes timing the most critical subject of electronic music production. While this timing can still be found in tightly programmed devices this feeling is difficult to transfer to other devices. And today, with electronic music, you are a producer, not just one instrument or device. Everything has to play at the same time, with the same feeling. For an electronic muscician I think understanding that timing is "programmed" is essential.

I recently picked up a Monome 128 and have only begun the process of programming it. This is an electronic controller handmade with a lot of love from Brian and Kelli in Philadelphia. A close friend of mine has the Tenori-on, which is similar. They are both LED push button matrix pads which can be used as instruments. However, the Tenori-ON has an on-board synthesizer so all of the timing is tight. It has a feeling to it out of the box. The Monome is a controller connected to your computer which acts as the synth and handles timing. The Monome has to be programmed and in a sense you have to create the feeling for the instrument as though you were a violin maker except that you are dealing with timing in code instead of wood and sound physics.

On the one hand sitting down with a Tenori-ON or TR-808 or other synth you can very quickly (days) get the feeling for it and start making music. Yet, being forced to first build the timing and instrument set for the Monome has a different and perhaps more intimate feeling. They are similar but for someone wanting to dig into detail the Monome and its open community of developers is a big advantage.

The applications/features I prefer at the moment:
  • MLR (video, documentation). Stand alone Max/MSP runtime. Slices samples, can take live samples, and records sequencing patterns for slices. Its kinda the place to start with the Monome and its what I relate to the most, coming from a childhood making precisely timed samples for looping, god knows what reason.
  • Polygome (video, documentation). Stand alone Max/MSP runtime. You map a midi instrument onto the pad and then you create pattern that you can walk across the pad.
  • 7up (video, documentation). Sends midi to Ableton Live. Combines the sample slicing and pattern sequencing as found in MLR but includes a bunch of other possibilities. Based on Java it comes with sources.
  • Molar (video skip 5 min, documentation). VST plugin. Has some MLR slicing and other controls.
Concerning timing, with MLR or Molar you can plug into Ableton to manage and sync all timing. But this is not very fun so currently im working on other timing synchronization methods to avoid Ableton, or at least better understand it.

20080603

visualization of accelerometer objects and wiimote

Accelerometers are popping up in tons of devices. After finishing Mattias Ljungström's Game Design class I wrote some code to give 3d visualization of wii controller movents. A friend who is learning Processing asked me for a copy of it recently so i took the chance to document and comment the code. You'll have to download the bluetooth drivers or replace them but the code is generic and simple enough that it should be easy to apply to other devices with accelerometer feedback. If you arent familiar with Processing... its a cross-platform framework for quick-simple visualization coding. code is here. if you are able to find improvements, please let me know so i can link to your version or include it here.

20080508

What is the antonym for self-consumption?

i keep scratching at the pages telling myself i live much like a king, in some life given to me in a divine, cosmic manner. with provision and generous blessing i still scratch and hold the scabs more precious, trying to convince myself to keep looking for something more meaningful with no reason other than to find the way to symbolize something bigger than "self" but still more tangible than "God". to simply create a word for the opposite of self, in a language that has none. and in this agnostic state discovering self becomes equally important to defining the opposite. the satisfaction of even this is enough for most to stop on the first page: self consumption. the page that society is at and that religion tries to reject. but if you reject it, the materialism, and you also ignore God, then this page has to be rewritten, constantly. that process leaves one with only a faint idea of what self is and an even more faint idea of its opposite: giving.

I have to wonder if the idea of God doesn't mask this the most spiritual of actions, with equal venom of materialism and self consumption. It's as if self consumption and God are equal extremes. One defining identity in possession and the other in grouping instincts, both keeping us from finding a need to create an english word for the opposite of self.

p.s.: does anyone know of a word in any other language that equals the opposite of self or self-consumption? please let me know.

20080402

reverse engineering vs software engineering, and its problems

SP makes some poignant comparisons between software engineering and reverse engineering (RE) and the problems facing the latter. To summarize: the lack of standardization contributes to the situation that for RE you do not have a clearly defined path of steps to obtaining the goal as you would in software engineering. And where steps are defined often the leap from step n to n+1 is so vast that it leaves to many options in between. Hence RE looks like magic.

I would add to the list of contrasts the fact that sessions for RE typically last very long, even days at times, without breaks. Because there are too many options for going about analyzing the target, and because the distance from step n to n+1 is so large: A) you cannot efficiently stop a RE session without waiting until you reach step n+1 and B) documenting where you are so that you can pick back up later requires documenting all possible steps from the current position and their current priorities. This is like rewriting the design specifications for a software engineering project every time you leave the office. So there is a greater incentive to not stop the RE session until you are dead tired or absolutely have to.

This issue of long start and stop times for RE is slightly reduced by working with someone else (pair RE as SP put it). This is one of the greatest benefits I've experienced with pair RE.

20080311

oscilloscope/oszilloskop and DSO

Separate workstation with it's own CRT/LCD, one which is PC based or build-it-yourself PC based? Does it need to handle the task of logic analyses to any degree (hence, data logging and advanced trigger options)? Should it be a brand easier to resell (picoscope, tetronix)?

  • ebay OSD standalone €444 (new, welec W2022A, 200Mhz, color LCD, 16kb mem)
  • ebay scope standalone €400? (used, tektronix 2430A, 40Mhz, CRT)
  • ebay scope standalone €100? (used, hp 1740A, 100Mhz?, CRT)
  • Picoscope 3100 range PC scope with greater input range (€580 50Mhz, €870 100Mhz, €1160 200Mhz)
  • Picoscope 2200 pocketable PC scope with advanced triggers 25Mhz €430 (5Mhz with standard triggers is €230)
  • Picoscope 2100 single line handheld PC scope (€300 for 25Mhz, €200 for 10Mhz)
    (fyi the picoscopes can also be purchased at Conrad.de for similar prices)
  • Testec 75Mhz single BNC line PC scope €360
  • Voltcraft 40Mhz €200 (really only 0 to 30 +V input? not +/-? 60Mhz is €360, 100Mhz is €550)
  • Bitscope PC scopes and logic analyzers (LA), pseudo open source and combine both analog and the logic lines into one view around €400 for 100Mhz. The LA requires another 70 for the probes and supports 3.3V/5V CMOS & TTL, buffered inputs. It does not appear to give packet analysis for the number of busses that the $1.5k USBee DX would (I2C, SPI, Async, USB, CAN, 1-Wire, Sync Serial, I2S, and PS2) or even the $150 Logic (I2C, Serial, SPI), but its enough to build your own.
  • Owon PDS6062 is a stand alone 60Mhz DSO for 350.

Do-it-yourself scopes are interesting and I've seen some based on FPGA's, sound cards and game ports. The latter two have extreme input limitations (see the wikipedia article on oscilloscopes). I've also seen one based on arduino here ("int val_read = ((analogRead(0)*5) / 1024.0) you can see the signal as you want") and even better directions for using arduino with the Liberlab python analog display software (comprehend?). The ADC pins on the Atmega128 used on the Arduino board take +0-VCC DC, which is 5V. Meaning +0 to 5VDC. The sample rate is around 10,000 per sec at an accuracy of 4.9mV (hence, no ECG monitoring of the heart pulse which is around 0.1mV to 1.5mV). However, these are averages the Arduino community report and in truth it appears with an external clock and VCC one could get much higher rates. I'm curious at what frequency the standard Aruduino configuration can give. Regardless, FPGA based seem the only robust option but not sure i want to dive into dealing with software that isnt widely used or standardized yet.

Update: arduino v11 lets one control the adc input reference voltage either switching it to a 1.1V internal reference of the atmega chip or supplying an external reference with the aref pin on the board. see analogReference()

The PC based scopes have the advantage that some initial logic analyses can be done. However, because they are all Windows based, it will require a restart or virtual machine that a standalone wouldn't need. Also, those that do not have external power and rely on USB power can run into ground issues. But considering my living situation is typically flexible carrying a standalone cross-continent is a pain. Plus who doesnt want an oscilloscope on them at all times. So for me the question now is how much portability do i need, and what are the trade-off's. I would like to sample up to 10Mhz so a 20Mhz scope should be my lower threshold. I'm split on having an isolated ground or having the flexibility of powering of USB. would love one of the Picoscope 2100's or Testec that are truly portable. But having the reliability of the bitscope 100U is also desired. If i had endless cash id get both. Instead I will probably purchase a cheap old standalone used on ebay or go for the Bitscope 100U. The latter having the advantage of some Linux support and having logic analyzer and scope inline.

Update: someone mentioned the Simple Software Radio Peripheral as another possible option and completely open source. More versatile and meant for much more than just a scope (it is related to the GNU Radio project). That said, I havent found software for visualizing the wave as you would get with a standard PC scope, yet. Perhaps Liberlab (mentioned above) can be used? This route requires the LTC1264 ADC module and maybe the USB2.0 board which is bus compatible (or could I use the FTDI standard RS232 to USB boards/chips?). Though, im not sure the modules can be purchased. If not I would need to have the PCB's made.

20080308

homeschooling

In a current case against parents homeschooling their children in California the judge says this about why children should be in mainstream education system:

"A primary purpose of the educational system is to train school children in good citizenship, patriotism and loyalty to the state and the nation as a means of protecting the public welfare"

And i couldn't agree more. I'm grateful my parents homeschooled me, or more accurately unschooled me. I was a horrible student for them and I didn't finish high school. But I did learn, a great deal more about myself. As a result I have trouble learning in the typical education systems that attempt compartmentalize our natural energy and passion for learning. I can't even start to learn something just because someone thinks i should, be it for "good citizenry" or because one day I "might" want to specialize in a specific topic. I can only learn when the topic appears relevant to my own educational goals, not "theirs". Ultimately i always feel like a square peg trying to fit in the round hole of the education system. Now that I am studying at University i see the best part of this whole dilemma. While cutting into the walls of this round education system i feel more grateful and inspired by the ideas and contacts that have resulted and I feel less bound to the walls, be they my own shortcomings our the systems.

I have no idea if I would advocate homeschooling children, it is a coin toss equal to that of the educational system. From my side of the street though the purpose of the current system seems to be just a great equalizer. Making the majority of stupid people less so and minority of brilliant people more normal. As with all equalizers, the resulting softened diversity makes for a less interesting society, I think.

20080214

iphone 1.1.3 master.passwd fix

this is for my future reference as im sure ill forget. when you passwd on 1.1.3 the springboard resets every 5 seconds. to restore the original:

1. unzip the 1.1.3 image (change ipsw to zip and unzip)
2. compile, install vfdecrypt. I found this in the jailbreak-1.1.3 package but you might find it elsewhere. to compile from this tree i had to change the Makefule so that CC=gcc, not the iphone ARM cross compiler.
3. decrypt the dmg containing the passwd files:
./vfdecrypt -i 022-3743-100.dmg -o decrypted113.dmg -k 11070c11d93b9be5069b643204451ed95aad37df7b332d10e48fd3d23c62fca517055816
4. mount and scp passwd and master.passwd over to your phone

in the future to change the password copy the hash output from the following command into the master.passwd file for the root user:
perl -e 'print crypt("yournewpassword", "/s"), "\n"'
("/s" is the seed and can be changed to whatever you like as well)

20080124

Electroluminescent foil/wire distributors in europe

Looking to purchase some EL in the EU? This is a run down of a bunch specifically a search for German distributors. If I missed something please let me know. I am still looking for details on variable luminance EL foil (meaning, being able to dim).

Stores:
el-light.de
el-technik.de
industryshop.at (too expensive so i didn't detail, but store has a good collection of lighting solutions)
smart-inspiration.biz
coolneon.ch
zigan dislays
el-kabel.de
leuchtfolie.net (larger collection of other luminous options)


Foil Multi-contact:
provides the benefit that many smaller displays can be created by cutting out pieces (with the extra contacts).
* el-light a5/a4 = 24/44€
* zigan a4 = 75€

Foil single contact:
inverter costs 6eu to 25eu
* el-light a6/a5/a4 = 8/15/25€
* el-technik a5/a4 = 40/70€ (20 for inverter)
* zigan a5/a4 = 28/55€
* leuchtfolie a5/a4 = 30/45€

Wire:
* el-light 0,9/1,4/2,2/5,0mm = 7/7/7/9€ per meter 3-10€ for inverter (1.5m kit 12eu)
* el-technik 2,3mm 9€ per meter (25 for inverter)
* smart-inspiration 2,3/2,5/3,2/5mm = 5/6/6/7€ (inverter 10€)
* coolneon 2,5bright/2,3norm/5mm = 6/3/7€ (inverter 10€)
* el-kabel 1,2/2,3/2,5/3,2 = 6/6/6/6€ (inverter 15€)
* leuchtfolie 2,3/2,5/3,2 = 6/6/6€ (have all the contacts)

Flat stripes:
* el-technik 6,5/11/22/50/100/150mm = 15/22/40/80/125/165€ per meter (around 25 for inverter)

20080120

Biometric heart monitors, Wireless communications, Fabric Illumination

Im in the middle of working on a product for class which explores two fields: 1. The use of light for sleep induction similar to sound and motion. 2. Games for remote intimacy. Sometime later I will show designs and describe the product in more detail. Here and now I want to describe some of the technology im exploring to be used in the product. I believe that good industrial design requires exploring various materials before finding the right application. There are 3 distinct work modules for this project that each have different possible solutions.

Sensor: Biometric interface to monitor heart rate
Connectivity: Wireless communication
Feedback: Illuminated fabric


1. Biometric interface to monitor heart rate
I've had experience with pulling apart an ECG for reuse in a similar project. The work on this project cannot be easily replicated for future projects since it depends on the ECG found and requires a great deal of reverse engineering. Hence I wanted to build from schematic this time around.

1.1 ECG schematic a
Using an ECG requires 3 points of contact on the users body. The previous project i worked on pulled this off using just the two hands. This might cause problems for my use. The AD620 amp datasheet provides a basic schematic:


1.2 ECG schematic b
Wright State University class and lab notes for and ECG, starting with the basics, explaining the basics of amplification, filter and the full ECG schematic also based on the AD620: Lab 1 2 3 4


1.3 IR pulse monitor a
I forget where I found this schematic. There was no documentation so I would like to find another reference somewhere:


1.4 IR pulse monitor b
Full schematic and firmware for MCU provided. I cant remember from where and cannot upload the firmware files here so, if you need them, email me. I will probably swap the PIC MCU for an Atmel and port the firmware.


1.5 Piezoelectric film pulse monitor
One is described here includes filter and amplification schematics, gerber files and firmware. My preference is to avoid this method as it requires firm contact with a vein in the wrist or neck.



2. Wireless communications The prototype will based on Arduino and I found references for the following methods:

2.1 Zbee wireless modules
These modules do not provide a TCP stack but can be used to communicate to each other. This is fine for exhibition and prototyping but would need to be replaced or a TCP stack would need to be built on top of. They are discussed extensively in relation to the arduino. References: 1, 2


2.2 Radio
At 434 or 314 Mhz.
References: KLP Walktrhough from Sparkfun, Arduino Thread 1 2 3



2.3 Bluetooth with BlueSMiRF
These modules come in several packages. Ive back ordered the BlueSMiRF2 DIP. There are various tutorials and projects hooking these up with Arduino: 1, 2, teamawear project(see other blog posts in his project for additional details)



2.4 Bluetooth using ArduinoBT
There are discussions showing how to using one ArduinoBT bluetooth board to communicate to another (here and here). This would be a nice option for prototyping a bluetooth solution but will make swapping either the bluetooth or arduino modules for something cheaper or with a smaller footprint more difficult.


3. Illuminated fabric
The Electroluminescence Wire I've found for sale online is a bit on the neon/indigo side. I'd like to find something softer. Perhaps diffusion will suffice. I also need to find a place that I can purchase either designs (factory cut foil) or foil which i can cut at home. The Fiber Optic wire lighting solutions I've seen also appear either neon, not well documented, or just not readily available. I havent given up on either of these options, but I'm certain I can find or create a better solution.

References:
Design inSight smart materials page (see "Light emitting materials")

3.1 Electroluminescence wire:
Coolight (EL $1.45 per foot. US. Referenced in the Make tutorial)
EL Wire (around $1.25 per foot. in the US)
Livewire ($35 for 10" but comes with driver, US)
Instructable for soldering EL wire



3.2 Electroluminesence Foil:

E-Light (the film can be ordered directly at $7.50 for 9^2inch, or as a kit that includes a power inverter for $25. The inverter doesnt support variable brightness. $55 kit at 36^2 does)
TCMLight (in .de., crazy expensive)
Electroluminescence Inc (US, $47 for A4. Inverter costs $25)
Allelectronics.com has Strips around $3.50, 3x5" for $6.75 as well as others
There are two projects which detail their experiances with EL here and here.

1.4 Other lighted fabric projects or materials:

Loop.PH EL Pillow (note for sale)

Lumalive (luminous cloth from Philips, cant find dealer)

LumiGram clothes

Dianalindesign LED based pillow ($150)

Hexgram shirt using EL foil (not for sale)

LED Dress (note for sale)

LED Tanktop (by Leah Buechley, Lilypad maker. Also see code and samples in Craft magazine)

LED bracelet diy tutorial (using Velcro strap as switch)

Concept bag (using EL strips, concept detail)

Interactive Pillow (using EL wire, concept detail)