oNEoVEReight - Album Preview - The Scar

joel | Uncategorized | Saturday, January 30th, 2010

watertower at night

Last night around 1am we finished mixing the album!  Now is the time to share some of the demos around befure putting on the final touches.  Here’s one of the tracks from the album that means the most to me.

‘The Scar’ relates a story of abuse and pain, seen from the outside…

Have a listen to the song and take a moment to try and feel what we’re going for.

Was the mix good?  How did the song make you feel?

Is it something we should be proud of, or do we have more work to do?

I’m really looking forward to hearing your comments.

Listen to ‘The Scar’ (mp3)

So what do you think?

Crossing the Chasm - The Power of Social Technology

joel | Uncategorized | Wednesday, January 20th, 2010

Here at the Stanford GSB Virality Bootcamp, part of the Power of Social Technology.

Key Thoughts:

Dave McClure

  • ~A lot of people are trying for virality, but a great product that people like is better.~
  • Paid user acquisition is under rated, especially since.
  • The major value of TechCrunch is for investor valuation.

Ed Baker

  • Example of growing too fast.  Should have rate limiting.
  • V = X Y Z

Hendrickson

  • “Bootstrapped marketing is all about personally touching people.
    (And helping them touch each other.)”
  • Using twitter to reach people.
  • Zynga - 30% of revenue acquiring new users.
  • Best way to get featured in TechCrunch is to work at TechCrunch.

Benjamin Katz (failed investment banker, filmmaker, coveroo.com, cafepress)

  • “Rolodex: smile, dial, and rile; you are Billy Mays”
  • Celebrities: they’re just like you! [except that epople pay attention to them]
  • Look big: sleep with Bill Gates, Leland and Yoko
    • coveroo.com
  • Harness the groundswell: Press, video, social media, email
  • People want to care about something - give them something to be excited about
  • Call hundreds of people per day to get in front of them
  • Jigsaw - rolodexes
  • Having a PageRank 7 site link to us helps with SEO.
  • Make videos because it’s just complicated enough that it keeps most lazy people out.

I’m reminded of my interest in using the internet to bring people together.  The best way to increase the amount of love in your life is to give love to someone near you who needs it.

The Ingredients of Great Bass Tone - Part I

joel | Uncategorized | Monday, January 18th, 2010

Working on the album for the last umpteen months has taught me the importance of great tone especially for bass. We all know great tone when we hear it - it’s the essential element of music that distinguishes the various instruments in a band and yet it is hard to control because tone is not described with the traditional pitch/time notation of music.  Good tone sounds good when you play a single note.

So what makes great bass tone?  Bass is a tricky instrument because great bass is more often felt than heard.  And although loudness is important for this, there is a crucial element of not stomping on other instruments in the band.  A lot of concerts I go to see to solve this problem by pumping the bass through a hard lowpass filter set around 100Hz or so, so that all the punch and definition of the bass is rounded off.  This is great in a big band because the bass stays out of the way of the guitars.  Also if the attack of the bass is rolled off then the kick drum will totally dominate.

Still the recordings that I like the best in small band settings the bass plays an essential role, because it needs tone to fill in so the guitar can be versatile.

Some Examples of Great Tone

First let’s consider a couple recordings with what I consider great bass tone.  For each I’ll describe the bass tone with words and then look at it from a signal processing perspective to see what else we can learn.

Alice in Chains - Would

This is a good song to start with because it opens with a repeating 2-bar bass figure.  The notes used are low in the register of a four string bass with an sixteenth-note rhythm and melody that emphasizes first downbeats and then upbeats.

This bass tone is thick, with a fair amount of breathy or puffy sounding highs which give it an explosive, percusive quality even without the kick or toms in.  The overall emotional quality of the sound is urgent, tense, and growly. There is also a fair amount of reverb to give it fullness.  What does this look like in signal processing land?

“Would” - Time Domain View - First Note

The figure shows us the following basic characteristics of the sound:

  • Attack:
    • peaks at +/-0.35 (-10db)
    • there is plenty of high frequency (2-4kHz) from the pick attack (-20 to -30db)
    • the pick attack precedes the low frequencies sound by about 1k samples (20msec!?)
    • the bass turns on with an impossibly steep step around 1k samples
    • initial bass risetime is 110 samples (2.5msec)
    • the compressor lets through only about 25msec of bass attack
  • Sustained level is at +/-0.2
    • the compressor is on here and there is almost no decay here until the next note begins
    • there is a fundamental at about 40Hz, which matches the pitch of the low E string
    • there is quite a bit of second and third harmonic
  • There are subtle differences in stereo imagning for the bass tracks

“Would” - Frequency Domain View - First Note

  • fundamental of 40Hz is 15db down from the 2nd and third harmonics which are about even
  • everything about 250Hz is 40db below the primary
  • general signal rolls off around 40db per decade - some of this looks a lot like a reverb decay curve
  • noise floor is around 80db down from main signal
  • it appears that the band from 2.2-3.1kHz has about 10db of heat

In general the waveforms look a lot less regular than the comb structures I would expect to see for an single note from a stringed instrument.  In particular none of the peaks stand more than 20dB above their neighboring frequencies.

Let’s look at another song.

(more…)

Sep Kamvar - We Feel Fine

joel | Uncategorized | Monday, January 11th, 2010

This picture showing an emotional graph is simply beautiful:

I had the privelege of seeing Sep Kamvar talk about his new book on Friday and I feel inspired by the blending of engineering and art.  He spoke about the emotional nature of blogs and how some bloggers feel the need to put their feelings out there no matter how raw.  The project WeFeeFine.org is just beatiful, as is the piece IWantYouToWantMe, but both raise interesting questions.

  • the web is increasingly about feelings and relationships.  Is google missing out by defining its mission as organizing all the worlds information?   Information is so impersonal, but even organizing thoughts would be much more personal.
  • is the era of openness on the web just a fad?   Privacy concerns on the internet are on the upswing it seems, and this whole experiment of self disclosure may produce some undesireable results.  Already I see a trend of more experienced users of social networking sites being more conservative with their information.

Still an inspiring area of research and I’m excited to get my hands on a copy of the book.

Verdant Mountains - The Contrast Between American and Chinese Narratives

joel | Uncategorized | Wednesday, December 30th, 2009

On the road the other day I came across a post on the New York Times Climate Blog referring to this news story from Xinhua News Agency - “Verdant Mountains Cannot Stop Water Flowing; Eastward the River Keeps on Going“.  The article describes how Chinese Premier Wen Jibao travelled to Copenhagen to play a pivotal role in the climate talks.

I am by no means an expert on climate change or emissions policies, and in fact I take the somewhat pessimistic view that climate change is inevitable. 

By various estimates we have several decades of proven reserves left, and the number of people on the planet and their appetites have only increased with time.  The existing stocks of fossil fuels will be used in 50 years or perhaps 70 years - what is really at stake is who will be burning that fuel.

To see that this is correct consider the number of vehicles on the planet is almost certainly larger every year, and the owners of these vehicles, having commited to a large sunk cost to purchase them will not let them sit idle as long as the cost of fuel is small compared to the cost of the vehicle.  This is true for all manner of energy consuming devices from lightbulbs to computers.

So Copanhagen is an interesting political forum and there is a lot at stake, but that is not what is interesting about this article.  Consider for a moment that the article is written in a narrative style that places Premier Wen as the protaganist of a thrilling story.

From 16 to 18 December, in the nearly 60 hours Premier Wen Jiabao spent in Copenhagen, he held intensive talks and consultations with other leaders to drive the negotiation process forward. We, as members of the travelling press corps, witnessed the roller-coaster, nail-biting negotiations at Copenhagen. But more importantly, we experienced the sincerity, confidence, resolve and effective efforts Premier Wen brought to Copenhagen, which fully demonstrated China’s image as a responsible big country dedicated to development and cooperation.

Especially entertaining is this description of him deep in thought on the plane ride:

After this mid-air briefing, Premier Wen called a meeting of the accompanying ministers to analyze the position of various parties. Then, alone in his cabin, the premier looked out at the sea of clouds outside the plane, staring intensely, deep in thought. It was not a light-hearted mission, he knew. So many things needed to be considered before the conference could be brought to a fruitful conclusion.

Not only is Premier Wen a very serious and thoughtful person, but he also gives great advice, as great leaders do:

Premier Wen said that as long as there was 1% hope, we must exert 100% efforts and not give up easily.

And he is the example of perfect health and vigor, and a hard worker as well:

At 8:30, Premier Wen walked into the meeting room, brimming with energy and ready for a whole day of intense meetings.

Reading this encouraging portait of the Chinese leader almost makes me wish I were Chinese.  ;)

So what is interesting about the fact that the Chinese news agency writes its coverage as pro-government puff pieces?  It is well known that the Chinese government is not very tolerant of dissent.

But no one could imagine for a minute the American press casting Obama or any US President in such a favorable light.  Since when was a US President a role model for ordinary people.  Sure after the election Obama had his honeymoon, but Americans are fairly skeptical of their leaders.  Is this just a natural difference between China and the US?

Actually I think that it is not.  There has been a change in the way Americans see themselves, which is at once encouraging and crippling.

I was raised on the outskirts of an Ohio military base at a time when American pride was low.  Oil shocks, American hostages in Iran, fresh wounds from Vietnam, assasinations, economic uncertainty and an arms race with the Soviets were all headlines of the day. 

And yet I remember vividly the portraits of American heros which we were inundated with as school children: General Patton, General Eisenhower, the marines of Iwo Jima.  Even as the Vietnam war was still fresh in the papers the narrative of American greatness stemmed from the claim to have saved the world from Hitler three decades earlier.  As long as we believed we were the greatest, most free nation on earth the news in any particular paper was just a temporary setback - a difficulty to be endured and prevailed over.

But that is all different now.  What must happen for us to regain our sense of pride?  Our sense of purpose?  Our willingness to work hard?

Now I am not asking for a return to the false and harmful arrogance of the Bush years. 

But if you take two groups of people and ask them to do a job, and one group believes in themselves and the other group is full of self doubt, what do you think the results will be?

And how long has it been since people have thought that Americans as a people were the most fair, smartest and hardest working people on the planet?

If you have everything, but no purpose,
what you have is meaningless and empty.
If you have nothing at all but a sense of purpose,
that purpose will sustain you. 

I’ll end here with the closing words of the Chinese article.  The Chinese news agency makes a convincing appeal that the Chinese are the standard bearers for the whole world and that the “flowing water” of Chinese pride and ambition will flow ever eastward.

History has shown once again that the biggest challenge of mankind is mankind itself. Unity is the source of strength and cooperation leads to a bright future. The Copenhagen conference has put China on a higher and broader world stage. China has reason to be proud and China will work even harder!

Verdant mountains cannot stop water flowing; eastward the water keeps on going. The Copenhagen conference is a new starting point and from here, the international process of combating climate change will keep forging ahead.

 Who can write a convincing narrative for us?

 

Train Station

joel | Uncategorized | Friday, November 6th, 2009

Feeling a little down today after a rough night discussing changes for the album.  Efforts like this are never easy - but it will probably turn out alright in the end.

Went to the train station to play a couple of songs and try to change the rules of the whole music thing.  Normally bands form, play in bars to friends and strangers, and hope to sell CDs, become famous and all that.  But the bar scene here is a tiny slice of people as a whole and I dont care about selling merch and CDs as much as putting together some good songs and getting people out of their shells.

So the train station at 6pm is a bunch of people headed home after a long day at work - mostly singles, but a few groups - all dressed professionally and with tired and slightly stonewally expressions on their faces.  I sat down and played a few songs near the entrance where people had to cross the tracks.  Lately.  The Rose.  Pretty mellow stuff.

About half the people had headphones on and I played quietly, more or less practicing because I dont have the songs down yet.  It wouldn’t be hard to get a crowd of 100 people moving through there though everyone is in a hurry.  They rush by in 10 or 15 seconds, but then they might have to wait for five minutes on the tracks.  Here’s a perfect audience for the taking.  Of course once there on the other side of the tracks it’s hard to reach them with anything other than a song, but thats probably good enough.

Most people just breezed by, but I noticed they were more comfortable with eye contact that the last time.  Maybe sitting down helps me see more approachable - or maybe its the mellow tone I adopted.  One kid gave me a smile, which helped a lot with my confidence.  It’s funny how little things matter.

As I watched the people getting of the train I thought to myself that of all the places I’ve played these people probably need music more than anyone - they are tired and the train station can be so drab.  But it takes a certain kind of music to pick people up and make them feel better when you only have 15 seconds to impress them.  I need to think about that one.

Mostly I noticed that I need more practice - my guitar playing is ok soft but things start to fall apart at loud volumes.  Also I’m not using my bottom two strings in the new tuning and I need to bring them in.  Practiced with the metronome tonight, which is something I should start doing daily.

But for now the train station is there every day.  Two down, 98 to go.

Emotional Journey

joel | Uncategorized | Wednesday, September 9th, 2009

I’ve been thinking a bit about the relationships between feelings and songs. 

(Click on the chart for a larger image.)

Everyone knows that a song should make you feel something.  Really good songs make you laugh, or cry, or feel closer to someone you love.  But how many different emotional notes or flavors are there?  And how do they relate?

Eckman describes five facially expressed emotions:

  • anger, disgust, fear, happiness, sadness, surpise

In addition he later included the following:

  • amusement, contempt, contentment, embarrasement, excitement, guilt, pride, relief, satisfaction, pleasure, shame

The Emotional State Machine

Think of these emotions as states in a Markov model - are all transitions between states equally likely, or are there certain directions that emotions progress? 

For example, sometimes and expression of anger could be the catalyst used to get people out of the fear state and into a state of acceptance. 

Similarly, there is a definite progression of feelings in the so-called “seven stages of grief”: shock, denial, guilt, bargaining, anger, sadness, acceptance.

Is it possible to create a set of songs that predictably and reliably moves people along this continuum from negative into positive feelings? Kind of like a train that makes a stop at each emotional way station finally delivering passengers to a happier and more positive place.

 

Emotions in Music

If you’ve been to the movies or a concert, you might have had several emotions:

  • suprise: a sudden shift in tempo or arrangement
  • tension: could be created by swirling dissonance or cacophony
  • anger: many songs make one want to mosh - just think of the feeling where “rage against the machine” gets its name
  • trance: a positive state close to rest, often created by moving textures and prettiness harmonic lines, with a slow tempo
  • groove: a happy but not tiring
  • pump: by this i mean a more beat-driven disco-like experience where people get pumped up

Last Stop Happiness

So for now I have this version of the emotional state machine chart.  Negative states are on the left and positive on the right.  The basic breakdown of states is by tense: whether a feeling or emotion is an immediate sensory experience, the meta-expectation of a future experience (or memory of a past one), and the overarching mood which might span days or weeks.   The meta-emotions are split into an active/passive axis (fear vs anger, hope vs desire).  I’ve also listed a few special emotional states as “transitional” in that they are temporary and lead to an emotional reset.

Notice that there are two paths out of the negative bubble:

  • anger -> effort  -> success/victory (think “Reducation through labor”)
  • anger -> effort -> exhaustion/collapse (cant think of a song for this)
  • sadness -> grief -> letting go
    (think “Holly Brook/Live Again”, “Journey/Dont Stop Belivin”)

It seems that the best progression is as follows:

  • sadness -> grief -> letting go -> open
  • fear/tension -> anger/struggle -> victory -> pleasure/pride

Set Design

In a typical movie, we would repeat ascending fear->anger->victory loops and perhaps once have the [sadness->grief->letting go] arc near the end.  This is perhaps because grief is more powerful and it is hard to really have people cry many times in a film.   There might also be a romantic subplot leading to a make-out scene late in the film.

Also most pop films would start with something happy so that the coming conflict would have a baseline to contrast against.  Unlike film, we might want to have a tear-jerker moment, but at a live show it should be early so people can dance more at the end.   We’d really want to trade the fear/tension->struggle->victory loop in film for more time spent in the “groove” or “pump” states at a show.

This might give us a set like this:

  • Opening: baseline happy/fun
    • “hello we are here/soundcheck” song
    • happy song 2
  • Sad movement: (anger/fear)
    • {loss -> fear -> anger/struggle -> victory} xN
    • loss -> grief -> letting go
    • {fear -> anger/struggle -> victory} xN
  • Happy movement: happy/pump (repeat as needed)
    • ballady break/trance
    • groove
    • pump

 

Twitter, Streams of Consciousness and Mental Discipline

joel | Uncategorized | Thursday, May 21st, 2009

Consider the following tweets, taken at random from twitter a few minutes ago:

  • Going to bed feeling good. you are a godsend. I love you partner.
  • I just got a hair cut!!!
  • need to do a little meditation, then dive back in. hope by tmrw to have my
    broke shit all fixed; both physical & metaphysical.
  • Looking volunteers for a Himalayan holiday :) 

What is going on here?

(more…)

FeetBox - Me => Cam => dac

joel | Uncategorized | Monday, March 16th, 2009

My final project for 220B is a system for synthesizing interesting music sounds from video.  A video input system (cameraOne) takes webcam input and sends OSC messages to a chuck program called FeetBocks.

 

CameraOne

The cameraOne code is about 700 lines of processing code.  Input frames at 320×240 resolution are grabbed at about 12fps and processed for the following types of messages:

  • \drgb messages: the video window is split into frames and the total RGB value in the window as well as the frame difference (d-channel) is sent to chuck.  In general we map hue to pitch, brightness to intensity, and movement to event triggers.  The drgb values are indicated on the display with a small line graph in each frame.
  • \mrgb messages: the position of average brightness in the frame is mapped and the corresponding xy coordinate is sent to chuck.  This value is mapped to tone controls.  Each frame has a small grey square inside indicating the current estimate of this value.
  • \blob messages: the program tracks the position of the best match blob to a given target color.  Matches are computed using a windowed mean shift relative to the current position with coefficients for RGB and HSV color distance metrics.  In addition to the xy position, a “sharpness” score is provided which indicates how much the blob resembles a point source.  Blob messages could control theremin-like melodic voices.
    Blobs are shown on the screen as small colored triangles.

The video input window for the controller is shown above.

The video input system is fairly straightforward and mostly complete.

 

FeetBocks - A Chuck System for Song Synthesis and Playback

The interactive music synthesis system has several modes of operation. 

The first mode is a manual mode.  Instruments (some from the homeworks and some from Chuck) and the \drgb and \blob messages are mapped to controls on those instruments.  For the demo I will have kick/snare and two drones mapped to the drgb messages and a single melodic instrument mapped to a blob.

The basic modules are as follows:

  • Instruments:
    • breathy.ck - filtered noise
    • tone.ck - beating oscillators
    • fmfm.ck - cascaded FM
    • voice.ck - instrument abstraction layer - common noteOn, noteOff, toneControl
  • Libraries:
    • hsv.ck - color transformations
    • oscsender.ck - send some oscMessages to processing
  • Song Structure
    • note.ck - everything we need to know about a single note
    • tonality.ck - note relationships independent of time
    • feel.ck - metrical structure/arrangement/notelist synthesis
      • support for different metrical/submetrical structures
      • parameters like density, syncopation and independence of voices
    • measure.ck - wrapper for feel
    • progression.ck - a collection of measures, build with a generative grammar
    • verse.ck - a collection of progressions
    • song.ck - a sequence of verses
    • score.ck - a sequence of songs
  • Control
    • main.ck - keyboard IO, toplevel timing
    • conductor.ck - control of time, handling OSC messages
    • band.ck - collect instruments and play measures

For this quarter I focused most on conductor module (809 lines).  This module allows one to play music in several modes:

  • Manual mode: no time - video events (movement) are mapped directly to notes
  • Measure mode: A measure is synthesized and played - when things get boring a new measure is synthesized and the feel interpolates between these measures.  Time advances in measures either by an internal clock, by external triggers, or a mixture of the two.
  • Song mode: A song is synthesized and played

Beat Detection

The biggest challenge so far was the generation of a beat detector.  The basic idea is to have the conductor module lock playback to a video motion like a head bob or dancing.  In electrical engineering we might use a technique like PLLs, but those methods probably dont capture what real people do to track beats and are slow to adapt.  Instead I use a different method as follows:

  1. FeetBox has an internal estimate of the tempo and schedules the next beat for a certain time t after the most recent beat.
  2. If the movement in the scene triggers a beat before t1, that beat is played, unless the beat occurs within a certain holdoff time (~300msec) of the last beat played.  A new estimate of the bpm and the last beat time is made and we return to step 1. 
  3. If t1 arrives before the next beat, the computer triggers the beat and returns to step 1.

 This method produces fairly intuitive results, but is not foolproof.

Future Work

As of today the system is 3500 lines, and is probably only about 30% complete.   It will be a struggle to get natural sounding beats and chord progressions for the show on Tuesday, but I will keep working on it.  The performance will focus primarily on the use of beat detection and manual melody.

I dont want to post the code on the web anymore.  Email me if you want to take a look at it.

joel

 

 

 

Musical Timbrescapes/Generative Clouds

joel | Uncategorized | Thursday, February 26th, 2009

HW 1 Part 1 - Timbres

My moving timbres are based on static timbres, so I’ve kept them in the same file. (You can look in this directory if you want to see the original files.)

  • fmfm.ck
    Low pass filtered cascade of three oscillators (sin->tri->tri) so that the tones purity (spectral width) is changes slowly with time.
    The “static” version leaves out the pitch_control() and formant_control() functions which use the autonomous update every 50msec.
  • breathy.ck
    Noise => Array of four hi-Q BPF => ADSR
    Pitch control changes the center frequency of the BPF filters in a harmonic ratio that tracks a target harmonic frequency with some wobble.
    Note-on randomizes the starting position to create a big transient.
  • tone.ck
    A pair of triosc pumped into a ADSR.
    The frequency of the triOsc is very close so you get some nice rich beating effects.

HW 1 Part 2 - Computer Music of Changes

I spent a great deal of time trying to get automatic generation of songs using generative grammars. This directory contains a Makefile that you need. Here are the basic concepts:

  • Voice.ck - a general wrapper class to make many stk instruments and the timbres generated
  • Band.ck - a collection of voices with shared reverb, mix and pan controls
  • Measure.ck and Feel.ck - a way of generating random measures of notes based on abstract parameters like note density, syncopation
  • Progression.ck - a collection of measures with different progressions
  • Verse.ck - a collection of random progressions
  • Song.ck - a collection of random verses

The verses can be quite different, but many sound quite alien. Here are a few examples:

HW 2 - Generative Clouds

I really think of HW2 as an extension of my efforts in HW1, with the introduction of a live element.

See the files in the hwk directory

I can provide a zip file on request.

The basic change in hwk 2 is the introduction of a video controller based on some code I got from Visda. The processing code is in the cameraone/ directory.

To run the program:

  • Start processing and run the cameraone sketch. You should see a small camera window pop up with a line chart showing the total motion in the scene.
  • Start chuck by typing “make”. This will generate a random song. Progress through the song will be driven by “beats” which correspond to peaks in the camera motion.

On my PC the sampling rate of the camera is about 10-20Hz, so timing accuracy is not great. You do definitely get a feeling of driving the music though, so I think I now have the kernel of a decent idea. For example:

hw2.wav

For the final project I want to try the following extensions:

  • Right now the tones are selected against a randomly generated scale with a limited concept of a “chord” in that random scale. Refine this so we alternate between random scales and more familiar scales and progressions.
  • Add the following camera inputs:
    • Have the music keep driving more like a PLL than a simple trigger
    • Total motion maps to measure note density or intensity
    • Map colors to chords or tones
    • Simple blob tracking for melody
Next Page »
| Log in | Powered by WordPress | Theme by Roy Tanck