Pitch MP3

July 2nd, 2009

Pitching MP3 (Not PitchShift!) is possible since Flash10s new Sound API. Today I saw Lee Brimelow's post about doing so, providing some source code. Cause we spend a lot of time to keep things running more smoothly in the AudioTool, I created another version which has some advantages.

  • No objects are created in runtime (memory usage)
  • The SampleDataEvent is receiving a static blocksize (steady latency)
  • Linear interpolation (sound quality)
  • Speed can go down to zero

{source code}
Read the rest of this entry »

Filed under: actionscript | 18 Comments »



Flash on tap, Flashbelt and a tiny insight of the states

June 16th, 2009

Coming back from two weeks of traveling through the states with my co-worker Alan Ross. Starting in Boston, we attended Flash on Tap, where I spoke about Digital Audio Signal Processing in Flash10. FOT was great and the beer-tastings were delightful. A lot of local breweries shown up to present their beers. Cheers! Looking forward for next year. Thanks to Chris, Rebecca and the rest of the team!

My favorite session was Keith Peters (Bit-101), presenting fractals and hence philosophical views on the structure we are surrounded. Just great.

Afterwards we went by train to New York Manhattan, Harlem. Well, I have never been to NY, so it blowed my mind. There is maybe no better place to study the goings-on from human-beings in form of architecture, transportation and culture. We also visited the guys from BigSpaceShip, who are lucky having their office very close to the Brooklyn Bridge. After loosing a match in Fussball on their - for us - unorthodox table (three goal keeper in the last row?) and a very close lost of a ping-pong match (Damn it!), we left to the airport for Detroit.

We then had a long travel over the days to Minneapolis. Detroit, Lake Michigan, Chicago. We discovered nice places like Silver Lake, where we found beautiful houses to sell, direct to the lake. Looked like a place to retire, which of course will never happen, right?

Finally we arrived at Flashbelt. Dave Schroeder is a cordial host and we had a great time hanging around with parties, bicycle ride and what not. Especially the last evening is burned in my memory as one of the funniest evenings, I ever had at a conference. The conference itself was the best of Flashbelt, which is very hard to say when thinking of last year.

Pictures taken by Alan Ross: Set 1|2

Ralph Hauwert's session really showed me how personal and technical views can be combined in a single hour. Even I am not into 3D-programming anymore, I loved his mixture of telling his story, why he is into programming while also providing technical insights.

I won't go into details of Hoss session and its never breaking up discussion on blogs and twitter. I just think, this is not a gender issue, more a culture thing. I cannot believe that something like this would have been even noticed in Europe. The only thing, that bothers me, that the discussion may have bad influence on Flashbelt itself. Well, I am pretty sure, that Dave will handle this and I would like to see Hoss invited next year as well!

So what? Flash on the beach is next! Hunt tickets!

Filed under: + | 2 Comments »



Eclipse plugins you need

May 13th, 2009

Catchy title, worth to consider. While working on the AudioTool, we are continuously searching for better workflows. Joa Ebert has written two plugins for Eclipse that helps us a lot to deal with such a huge project.

To make it clear: I don't love Eclipse. It is still a love-hate relationship and I am often fighting against its philosophy. So far, nothing comparable platform-independent in sight.

MetaLaunch (free)
If your project consists of a bunch of SWCs, you often want to compile them first and your application afterward. Use MetaLaunch to launch several Eclipse launchers from a list.

PBDT - PixelBender Development Tool (free)
Adobe PixelBender Toolkit is not event worth to consider as a code editor, I am afraid. PBDT instead supports semantic highlightning and basic refactoring for your PixelBender shader source code. It even compiles your code in the background. This gives you a very nice workflow in developing shaders.

FDT - Flash Development Tool
Not to forget the sophisticated Actionscript development tool by powerflasher. People often think, you need to be an expert in Actionscript to get benefit from it and still prefer to use the Flash IDE. On the contrary, using FDT helps you learning AS3 with tons of useful features.

Filed under: + | 11 Comments »



Trip to the states Flash on Tap & Flashbelt

May 12th, 2009

Time flies! Yet two weeks and I am heading towards Boston to speak at Flash on tap.
Lucky me, Flashbelt in just one week ahead then. Thus I decided to stay in the states and try to find a way from Boston to Minneapolis with my colleague Alan Ross. It is more than 2.000 km, so I am pretty sure, there are a lot of things that we should visit on our way.
(Any suggestion where to rent a car for the trip?)

We are free for proposals. I am personally more interested in nature than visiting big American cities, but if you live nearby our route and offer food and accommodation we could hang around for some beers and chat.

Filed under: conference | 5 Comments »



FFK09 Karplus Strong Sources

May 1st, 2009

As promised here are the sources from the 10 Hot Minutes session, where I presented a very simple Karplus-Strong algorithm implementation.

More sources from the session Boing Bumm Tschak can be downloaded here.

Endless Karplus Strong - Click to feed noise:

Get Adobe Flash player

An enhanced version emulating a guitar can be found here.
It is basically the same code as above!

John Davey was able to make a very nice shot from Mario and me. Great conference indeed.

Andre & Mario

Filed under: actionscript, conference | 6 Comments »



Development Tool Pixelbender

April 24th, 2009

Bothering about the Pixel Bender Toolkit? It is just a pain in the ass to work with an code editor that even does not provide simplest text selecting features as textEdit.

Joa Ebert developed a very nice Eclipse Plugin for Pixelbender coding, which also compiles Pixelbender code before compiling and launching your SWF. This saves a LOT of time. There is no need to open the Pixel Bender Toolkit at all.

Last thing I am waiting for is a command line compiler from Adobe to allow one and two channel inputs. That would be great for audio processing. I am pretty sure, Joa would implement the compiler in no time.

Filed under: announce | No Comments »



ToneMatrix arrived in Hobnox AudioTool

April 17th, 2009

Okay, we did it. The same simple ToneMatrix is now implemented in the Hobnox AudioTool. To be honest, I wish we had more time to add more features to it, but at least you can mix now the little cute toy with drumcomputers, the bassline and add a couple of effects. Furthermore, as a registered user of Hobnox you are able to record your session and upload it in the community.

Some new features besides:

  1. Better performance while scaling the desktop
  2. Autoconnect (Removing an effect device will connect the source and the target automatically

Alongside we have completely rewritten the audio engine form the scratch, which is not part of the update. This already allows us to add automation and modulation. The audio event system is running with its own garbage collection, pooling all events to reduce glitches from the real garbage collection.
Furthermore there is event postprocessing (Ever heard a super-mario midi file shuffling?). We are working hard to make 1.0 a serious application. I cannot wait to see, what you guys will do with all that new stuff.

Listen to what our team member Alan Ross did with it:

Hello Tone Matrix by aross

Filed under: announce | 12 Comments »



The amazing ride of ToneMatrix

April 11th, 2009

This proofs it. The simpler the better.

I visited the Frankfurter Musikmesse 2 weeks ago and played with the Yamaha TENORI-ON. I thought, it would be much nicer when the triggered notes would force a wavemap to oscillate. It took me just a few hours to implement. The sound generation is basically a polyphone synthesizer with a simple delay with a variing read-offset to make the tones vibrating in the end. I am already addicted for myself to the cute sequences it always generates.

After uploading it on my laboratory the run began. I am counting more than 250.000 impressions, endless feedback, suggestions and even videos on Youtube. I will definitely put the sequencer in our AudioTool. But don't expect an update before autumn. We are trying to make 1.0 a serious music application with sequencing, automation, modulation, audio-tracks, synthesizers and what not. So there is no time to enhance this little toy. But I have added at least Clipboard support to let you save your pattern to sequence of numbers. Unfortunately the audio output is very glitchy when the context-menu is running.

Audio is the next big thing in Flash.

read more

Filed under: swank | 80 Comments »



Karplus-Strong Algorithm

February 27th, 2009

At FITC Amsterdam I demoed my first and fairly simple implementation of a Karplus-Strong implementation. Together with KP, we were able to enhance it to sound more like a real guitar. I think, the result is already quite impressive, considering spending just a few hours. At some point I cannot hear a difference to a real guitar. This is even more impressive when you think of how it is accomplished.

A simple low-pass filtered feedback in a short delay line with the length of one period of the target frequency and some white noise do the first impression of a plugged string in common. For a guitar you need more tweaking, randomizing parameters and adding the guitar body resonance to get it more realistic. But the basic is done with an algorithm, discovered 1978!
I really like the elegance of the circuit. You basically bring in chaos (white noise contains all frequencies) and the system is going to stable itself and produces a nice waveform, perfectly suggesting a plugged string.

Naturally we are already planning an AudioTool plugin for synthesizing different guitars. But I am worried about the footprint of the algorithm. I stumbled over this comment which pointed out that the Karplus-Strong algorithm is patented. That is tough. At the time being this algorithm was a great accomplishment! But now where even Flash is able to playback code-generated audio data, I would think that someone may stumble over this method even by accident. It is better to commit our lawyer with this issue, but as the comment says, it is a really good example how bad code-patents are.

Listen and picture it for yourself. (Check the CPU!)

The implementation has a static set, but gives you some control on how the guitar is played. Nothing really magic. Definitely it would be a perfect addition to the AudioTool.

Filed under: + | 6 Comments »



FITC Amsterdam Source Codes

February 25th, 2009

Still in Amsterdam, but enough time for my flight back to Germany to post the source codes from my session. Good conference! But what is up in Amsterdam at night? Ralph Hauwert did everything yesterday to get us in another location after the official FITC party was closed. However we messed up in different directions, where KP & I decided to head back to our hotels. Late enough, fair enough.

Now check out the sources. | And/or check the AudioTool itself.

Filed under: + | 7 Comments »