Archive for the ‘Computer Music’ Category

Hackfest 1000000 Postmortem

Wednesday, March 21st, 2007

13 March 2007 – new member Drew!

works at Gametap managing data services for saved games, scores, other important info.
does some cool python open source development.
wants to do more procedural graphics and sound. djs.

http://djfroofy.livejournal.com/
http://xix.python-hosting.com/

he recommends:
the GDC2007 lecture from Koji Kondo on interactive game scores
pyweek, compete to build a game in a week in python

Since Last Week-
Mark- worked on qaboom php code
Alex- handhelds have a discrete sampling period 16ms (typos)
submitted to a background check for work
Graham- built ChucKLib into Playmotion.
jammed with Mark and made a video.

This Week-
Emily- writing a paper on difference between Trent and Luther- good works vs. non-chosen salvation.
Mark- testing performance of python sequence functions, wanted to cheaply iterate over sketch points.
Alex- solve 2 keys at once
Graham- not much, documentation. need to do the MIR homework.

Hackfest 111110 Postmortem

Wednesday, March 21st, 2007

27 Feb 2007 – return from pycon

Gavin is the dude serving coffee and tea tonight.
atlhack.org was down because drupal was hosed.
(ps- was due to the missing user 0 bug:
http://drupal.org/node/34847http://devbee.com/all_important_user_zero)

Since Last Week-
Graham- got a UDP interface compiling in XPCOM.
-released chuck assignment for cs4950.
Mark- colo dudes say open-top server probably ok.
-has many stories from pycon, will transcribe.

new face-
Hamed Hashemi-
worked for Mark’s company, now works for Hakano, a Web2.0 consultancy startup.
they have a framework for quickly building web applications.
He also wrote RadioJavan.com, a website for Persian music.

Sonali- onto next project. working on the website (almost done).
starting a company with Tejus- building website with WordPress with company ideas.
A small contracting company with designers and programmers.
Structural Fusion- ruby on rails and free software- easy for small businesses to use.
Use case- T’s parents, have a small company of 3-4 people.
Websites should be easy to change and add products.
Documentation so non-CS users can administer- with AJAX tools and maintenance tools.

Tejus- worked a bit on ruby mp3 player.

Jason- qaboom LLC.
Met guys for partnership- license them the tech, have them market qaboom.
Went to visit them in Corona (Fender guitars).
Agreed to work for them verbally- was unsure about them- family expressed doubts.
Would not sign until he sees a lawyer.
Tony is trying to steal Jason’s code and domain.

advice from design of qaboom-
Record all information – ip views – can be used to debug, can be used creatively.

Will- not sure if he wants to work for Coke.

Plans for this Week-
Graham and Mark- try talking between chuck and python (nodebox) via OSC.
work on getting OSCkit compiled for XPCOM, then ported to mac.
Sonali- wordpress stuff.
Tejus- Design work and resume updating.

Tonight’s Reality-
Graham and Mark- got nodebox talking to chuck via OSC! synch music.
(have held jam sessions on Thursdays hereafter)

Hackfest 111010 Postmortem

Wednesday, January 31st, 2007

30 Jan 2007 – post sonic generator

We met Jeremy, completing his PhD thesis in computational chemistry.
Mark, Graham, Alex, Martin, and Lauryn went to Sonic Generator II.
The comic book improvisational piece delighted us all.

Alex- thinking about typo detection- will hack up Google maps.
  Tried to speak to a girl who looks like Jenn but is not Jenn.
  Zach not coming, its too late.

Mark- getting a new copy of IntelliJ (closed source Eclipse). TextMate instead.
  Going to implement Paolo Soleri in js livecoding environment.

Graham- turning in first MIR assignment on classifying tabla strokes.
  investigating embedding chuck into openGL program.

Senior Seminar / Final Quarter Chapter 1

Friday, January 19th, 2007

Hello everyone. I’m Mike. I’m studying mathematics at University of California at Santa Cruz. This is my last quarter and I have a talk that I have to give, and a senior project that I have to do.  The idea of these posts will be to track my progress on this project, and my progress in my other classes. I hope that this will help motivate me to do my very best in my last year in university.

Here is the class rundown in order of difficulty:
   Senior Seminar
   Real Analysis
   Latin 2
 
Here is the broad view:
   Senior Seminar:
       Give a 35 minute talk on a mathematical topic, on February 7th
       Turn in a 10 page paper on the topic by the end of the quarter.

    Real Analysis:  
       Weekly homework. Due Wednesdays.
       Reading.
       Tests.

    Latin 2:
       Homework for class 3 times a week.
       Reading.
       Tests.

Listing these is already starting to make things feel more manageable.

Now for some more details on my Senior Seminar:
    I want to study polyphonic source separation algorithms. Through what little research I have done so far I have realized that this is too broad a topic to fit into a 35 minute talk. So, my first task is to narrow down what I will talk about. As it stands right now, maybe a short talk on the Discrete Fourier Transform would be good. Right now, the basic structure might go something like this:

1. Explain in broad terms how digital audio works.  Samples, sampling frequency, possibly the sampling theorem, Nyquist frequency, etc.
2. Explain the mathematics of the Discrete Fourier Transform. Maybe, talk about the Fourier Transforms uses in other branches of math and science.
3. Explain what polyphonic source separation is, and how the Fourier Transform is used as a tool in polyphonic source separation algorithms.

    Somewhere in there I want to talk about psycoacoustics, and cognitive science, but maybe there is not enough time to do that and I will have to save it for the paper.

In conclusion I will leave a list of things that I need to do in the following week:
    Senior Seminar:
       Continue reading Tuomas Virtanen‘s thesis on polyphonic source separation.
       Write a possible outline, and bring it to my professor on Monday.

    Real Analysis:
       Complete homework assignment. Do at least 1 problem every day.
       Finish reading chapter 1. Begin Chapter 2.

    Latin:
       Catch up on backlogged homework. (Tomorrow!)
       Stay caught up. Do a little every day.

Next time I will review my accomplishments, and I will describe a technique developed by my parents to help get ideas down on paper.

-Mike

Hackfest 110111 Mortem

Thursday, January 11th, 2007

11 Jan 2007 – no djs!

what we’re working on:
Mark- compiling chuck OSC support for XPCOM.
Puyan- copying theory notes.
Graham- working on chuck firefox plugin.

progress:

Graham- looked at miniAudicle source code.
Spencer mentioned that it was an example of a classic chuck embedding.

Hackfest 110110 Mortem

Thursday, January 4th, 2007

4 January 2007 – more loud djs

The music seemed to be less loud tonight. But it was because they moved the PA from the tables area over to the bar area. Which made the experience slightly better.

Mark and Graham have a great collaboration idea. We want to improvise together (js and ChucK).
This was inspired by Mark’s shape livecoding work.

Our plan is to have one of us create a "pulse" of OSC events – and then both of us can create synthesis code that works within the pulse. That way, both the graphics and music are synchronized.

Since it doesn’t look like javascript has support for OSC yet, Mark may have to create an OSC implementation using priviledged js code that uses a socket library (nsIServerSocket). Once this is done, we should be able to start jamming together.

Hackfest 11001 Postmortem

Friday, March 10th, 2006

9 March 2006, 9ish at Octane

Before the meeting, Graham attended dorkbot-atl-3, Luke caught a flight from Louisiana, and Joel taught a climbing class. Vinny was taking a breather to prepare for a weekend trip.

News and updates:

Luke
 – worked on revamping his wiki and blog.
 – is looking for a good place to buy crawfish in Atlanta.
Joel
 – getting to know his Microkorg synth better. Wants to get max/msp.
Graham
 – will present some ChucK music at Jason’s computer music class.
 – is frequently offended by art theory.
 – wants to write program 100 for LiteratePrograms, will settle for 114.

This was a low key night of discussion and philosophy.

Hackfest 10101 Mortem

Thursday, February 9th, 2006

9 Feb 2006: Kicking Ass and Taking Notes

Earlier today Graham attended the GVU Brownbag welcoming the newly minted, formerly GSU – Gatech BrainLab. They work with developing invasive and noninvasive brain interfaces for control of typing, surfing the web, etc.

Joel came! He quit his job touching up photos and maps.
He has 2 big projects and one small one.
1. Narration of an epic story through illustration.
2. Digital audio instrument: keyboard + trackpad with deformable grid
that allows you to navigate through harmony and scale space.
e. Tattoo artistry for his friends.
3. Children’s book as studies for number 1.

Graham and Joel went to dorkbot-atl to see Kevin and Steve talk.
The presentations were on video sculpture and gamelan-western hybrid music.

Vinny and Grant discussed Web 2.0 business models.
References: Gallery Nucleus, Kaneda, Video.Google, Homestar Runner, Achewood.
Zero cost distribution for creative works (other than the work creating them).
Grant wants to develop more of his creative side-projects.

Luke got published on Digg and Engadget. He hacked his phone to run Linux + apps.
This week he is learning a little about eclipse, eclipse plugins, rhino, and the linux usbnet module.
Currently in Baton Rouge on assignment.

Luke and I will be having a crawdad boil in the future. You will be invited.

Ben has started work for Bill. He’s working on a secret feature for Messenger.
"The weather is lovely because the jet stream just shifted
But it will be gone in a week and then back to the doldrums."

Music: an eclectic mix of alt-country, including Bright Eyes, courtesy of Octane.

Hackfest 1100 Mortem

Thursday, November 10th, 2005

Nov 10 2005 Hackfest 1100

Since last week:
Ben-
Slept a lot and watched a lot of TV. Profs give no love.

Luke-
Learning about ARM processor – current issue with booting kernel is with finding and setting the page table.

Vinny-
Diagnosed server for rootkit, removed unnecessary services. Suggested I try debugging writeWithSpeedup with constant width segments. Got rails running with fastCGI – spawns server and maintains state.

Graham-
Did 2 class projects, worked on debugging writeWithSpeedup.

Grant-
Was in China for ICCV. Tsing Hua university – GaTech of Beijing. Presented on parts-based tracking of bees.

Plan for this week:
Ben-
Focus more on watching the same show and stringing together episodes on different networks. Worked out bugs, want to figure out another way to autograde, as opposed to using reflection to check for methods. How can you autograde data structures?

Luke-
Trying to find the page table ptr. The ptr isn’t addressable from the palm.

Vinny-
Broke commotion, so he’s going to fix it. With rails up, set up scrapers to dump to database.

Graham-
Debugging writeWithSpeedup, reading SWIMM code.

Grant-
Evolutionary war next iteration. Roadtesting spoontease utilities (procedurally generated media).
He let me play his video game, evolutionary war.

Matt-
Studying up on sysadmin/tcpip/programming stuff for an interview.

Tonight’s reality-
Ben-
Fixed a bug – took out unnecessary stuff in the framework.

Luke-
Segments seem to be 1MB in size – learning more about memory system.

Vinny-
Debugging commotion – broke out properties were contained in nodes, but abstraction broke deserialization.

Graham-
Combining stereo channels is bad. This is probably the bug.

Grant-
Confirmed that his powerbook can compile and run networkable Evowar.

HOWTO: From magnitude spectrum to sound

Sunday, October 9th, 2005

Calling all atlhack signal geeks!

Given a real-valued signal it is fairly straightforward to generate the magnitude spectrum. To plot it in matlab it’s


spec = fft( signal, size );
plot( abs( fftshift( spec ) ) );

The purpose of the abs is to get the complex modulus of the transform values. To get the original signal it’s


plot( real( ifft( spec, size ) ) );

Question: if I only knew X where X = abs( fft( signal, size ) ) and signal is real, could I properly reconstruct signal?