Over the last months I was watching myself surfing to my own blog hoping that I have written something new. I have not. The last months were filled with a lot of work in serving new technologies. Joa did quite a job on moving Audiotool to various platforms and there was not much time for new experiments or research. Besides providing general information and conference dates – talking about new stuff was the actual reason for this blog. However moving to new technologies means rewriting existing code to other languages. I could talk about the current situation as a developer. It might not be the easiest time, but even it was easy to target the only reasonable platform Flash in the past, the new options and possibilities are very promising.

To make it short: I’ll be back – probably in a different format than a blog.

I have uploaded a very rough demo of sound-sheets in Tonfall. The idea is to bring real instruments to Tonfall by using samples remaining a reasonable file size.
Usually you might think a single pitched sample can do the job, however pitching a sample one octave already means doubling the speed. It would sound very unnatural.
I decided to take 11 samples with a difference of 6 halftones (covering ~5 octaves). Hence the maximal speed difference (when the note is inside the provided range) is 25%. There is still space for improvements. The duration of each sample is fixed and needs to be small to respect the file-size. By looping a proper range of the samples after a certain attack duration, enough to maintain the characteristic of the instrument, it should reduce file-size again and sound better. However this will then implemented into Audiotool.

Before I started programming in 1998, I was completely into electronic dance music (formerly called Techno). I produced hours of tracks stored on digital audio tapes. Few weeks ago I bought a DAT-Player on ebay and now I am traveling back into the years 1995-1997. Most productions are just crap. Two tracks caught my attention though, since they were on an unlabeled DAT. I guess they must be from 1997. At least they sound like that time. Still like them, so I uploaded them on SoundCloud.

I am happy to announce another Audio Code Clash Workshop, where I am teaching to work with Tonfall, an open-source library to create all kind of music and sound creations. Furthermore I will talk about sound creation and music in Flash in my session Pulsatile Crackle. Do not miss it. I won’t! See you in Amsterdam.

The Steiner chain is a set of circles inside an outer circle, where all circles are touching their neighbor in a single point. Naturally the first version within Flash is already made by Mario Klingemann in 2002 to create some nice artwork. He also has a AS3 version in his libs.

My version is rather optimized for runtime purpose, does not create objects in runtime.

Press UP/DOWN to add/remove circles to the steiner chain.
Press RIGHT/LEFT to adjust the rotation speed.
Ensure keyboard focus (Click once in the Flash movie)

Tonfall has a new feature called WAV-IO. It reads and writes audio data in wav-format.

Decoding a WAV results in the flash.media.Sound data format 44.1Khz,Stereo,32bit (float).
You can play it with the dynamic Sound API. Encoding can be done by simply passing the data you created in SAMPLE_DATA_EVENT to the encoder after specifying the target wav-format. You have to finalize the encoder after writing. Both processes are on the fly – processing block by block. They do not have to be processed in a single Flashplayer frame time.Continue reading “Tonfall WAV-IO”

After having Tonfall released, I think it might be a good idea to go a bit deeper into some audio-dsp subjects. The easiest way to create a sound is by creating a wave out of an algorithm. You usually take a normalized variable between zero and one as the phase and pass it to a function. The phase itself must be incremented every sample by the following expression.

Tonfall is not meant to be a fully implemented audio engine but you may learn a lot about signal processing and sequencing in common. It covers most questions I am receiving by email and is not that far away from the audio engine we use in Audiotool.

This years amazing Flashbelt 2010 has just ended and the next great conference is appearing at the horizon. FITC 2010 is landing in San Francisco in August and according to its schedule it will be an outstanding one. I am personally looking forward to meet Yugo Nakamura in person, the guy that makes me actually starting with Flash more than 10 years ago.

My session this time is called Pulsatile Crackle and will combine audio synthesis with physic simulations. And of course I give you a quick overview of what our cute baby Audiotool is already capable of. Never forget: Audio is the next big thing in Flash

Early bird price for this event ends Friday July 2nd, so get your tickets NOW. and use the code ‘andre-michelle’ for an extra 10% off!

One of my favorite conferences is just 5 weeks away and I am already excited to travel to Minneapolis for the fourth time. Dave Schroeder is always a very caring host, which makes Flashbelt a very social and special conference. I especially look forward to the parties where I suppose Keston Westdal to make live – music at one evening. They are amazing!

If you don’t have your ticket yet and are able to take a trip to Minneapolis, do not hesitate!

This will be some conference and I will also have my session Pulsatile Crackle!
I am really excited about all this. If you don’t have tickets yet, go sack them quickly. I am pretty sure, that they are leaving John’s hands right away.

Also, John was asking me how I find myself being Marilynized.Ah! That’s it!Marilynized! Hell yes, I like that ;) That’s what makes FOTB so special, right?

Workshop Audio Code Clash
I am sure, attendees will learn a lot more than I can usually cover in my sessions.
Besides the workshop, I will show some pretty nice stuff on audio and physics called “Pulsatile Crackle“.

Is it possible to loop MP3 without gaps?
Yes, but to answer the question I like to explain, why gap-less MP3 looping was actually not possible before Flash10 (Except for Flash-IDE encoded MP3 or ugly hacks). Continue reading “Playback MP3-Loop (gapless)”

We are coming closer to the release. Still a long todo-list, but I see light. While developing the last months, I sometimes completely forgot, what we are actually building. This morning I decided to play around for half an hour to test the usability, sounding and performance. Despite the new complex features like the sequencer and zoom-able desktop the performance seems to be outstanding.

So here is D’n’B at 175bpm, composed with two audio loops (heavily spliced), 303, two instances of our new synthesizer that I love and some effect devices.

This will be a big year for me and the Audiotool team. After a long time of research, refactoring, conception, politics, rethinking and building frameworks of any kind, we will finally launch V1.0. We also expect to update the application in a more frequent manner 2010 since we are safe on core technologies as far as the Flashplayer is capable of. Flash is indeed the most widespread browser plugin, but actually the worst choice for a music application. You decide soon – if we did the necessary magic. In any case I hope, that the project will be a success so Adobe feels the need to enhance the Sound API in Flash11 again (Vorbis, Latency, Midi,..).

Intro
According to the posts from Joa Ebert and Nicolas Cannasse I put my personal opinion on stack. Starting with Flash4 I see the long run of Actionscript for 10 years. It became truly a serious language since then. Back at the time, where no type-safe programming was possible and Actionscript errors were caught silently by the virtual machine, it was a pain in the ass to debug and create bigger projects. I was used to that, so I never complained the situation. I had no experience in other languages which features would make me jealous. Everything I have ever wanted were new features, new possibilities to create graphics and deal with sound. So every new Flash version extended my tool kit and I spent a lot of fun-time with the new toys. The only thing that annoyed me was that Actionscript was the slowest language thinkable. That has changed 2005 with Actionscript 3.0, which I am very thankful for. Actionscript 3.0 came with some stunning new features like dealing with bytes on the lowest level, manipulating the display-list in runtime without destroying the DisplayObjects and the fastest language in the Flashplayer since then. And with Flash10, my dream of dynamic audio programming came true, after ringing the bell.Continue reading “AS3 Failure?”

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.

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!Continue reading “Flash on tap, Flashbelt and a tiny insight of the states”

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.

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.

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.

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.

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:

Better performance while scaling the desktop

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.

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.

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.

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.

Long time no update. Long time being sick. I even had to cancel Adobe MAX and FITC Tokyo last week to cure my persistent cold. What a bummer! I am sorry for those who were looking forward to see my session. That sucks. I hope to get another chance to come to Japan in time.

Anyway I am getting back to work and I am looking forward now to FITC Amsterdam.

John Davey already revealed it at FOTB08. The next Flash on the Beach conference will be taking place in Miami. FOTB has always been one of my favorite conference and I am happy to attend as a speaker as well. You guess the subject – Audio in Flash 10. We are making great progress on the next AudioTool update. We will have collaboration features, a brand new sequencer unit to automate everything and finally you will be able to save your project and remix other user stuff. And much more…

Thank you John for your effort in making FOTB everytime a little bit better – which seems hard if attending just the current!

As promised here are the class files I used in my session about audio programming in Flashplayer 10. They are already embedded in a FDT project, but you might have different SDK locations. There should be no problem to compile them in Flash CS4 or Flex as well. Good luck!

About 2 years ago I created a little SWF that generated cute little ‘fur balls’. I didn’t pay a lot of attention on this, moved to other stuff and lost it anywhere on a backup disk (not recovered yet). There was so much to discover in Actionscript 3.0 these days!
Last weekend I remembered and did some tests. It is actually quite simple. Move a lot of (millions!) particles and trace their path with a color. I am pretty sure, that software like Maya or several Photoshop plugins can do this as well. And probably much faster! Most of those tests below required hours of rendering. Anyway, I like the outcome of these three so far.

There is actually nothing to add, but probably a better explanation is necessary to comprehend, why I was so disturbed of Adobes latest changes in the Sound API. I just want to make clear that I am not interested in spending time in fighting rather enhancing.

Without telling anyone, Adobe changed the Sound API on the recent released Flash Player 10. When we released our AudioTool yesterday we encountered a ridiculous long latency of almost one second. The latency time is the time between computation of the sound and the point where you can listen to the actual sound. It is important to keep this value low for live experience. After hours of research some people figure out, that the amount of samples you pass to the sound card is changing the latency dynamically BUT will never decrease. If you once pass a higher number of samples you cannot go back easily.

Here is how we handled sound creation before in the AudioTool
We simply passed 2048 samples (minimum amount) every time the SampleCallbackEvent was fired. The playback was stable – even when scrolling the desktop with a lot of devices. For processes that would block the CPU for some time (e.g. create new plugin instances), we passed 8192 sample (maximum amount) to remain stable playback and execute the processes after. So we dynamically increased the latency once to have more space for heavy computation. Afterward we went back to normal (2048 samples). In fact this worked great!

The Release Player changed all that
With the latest player, every time you increase the number of samples you will increase the overall latency. And there is no way of decreasing it again without stopping the SoundChannel. So now we just pass 3072 samples (~160ms latency) all the time. Meaning that critical processes won’t be caught and will cause gaps in playback.

Again we now have 4 times more latency, but playback is overall less stable.

The worst thing is, that nobody told us and I am still not sure, what that is all about. The new sound feature was great and worked great for all release candidates. And all the sudden they changed it – again – without telling anyone. If we had this information before, it would not have been so hard to accept it. And of course we may have found some workarounds.

DAMN!!! The latency is way off with the latest Flash Player 10. I am so disappointed!

Update
Well, this is a weird consequence of Adobe not informing developers when things have changed. I will make a detailed blog post on this next days. In fact, the latency is great somehow okay when you consider the new changes to the Sound API.

The news have been floating within team Hobnox for some time now and we can finally announce the news about the update of the Audiotool Beta that we’re about to roll out in the upcoming days. We’re still waiting for Adobe to release the new Flash Player but will share the details with you anyway. Speaking of Adobe, it really looks like the ‘Make Some Noise’ campaign was successful as you’ll read below and that Adobe finally managed to make some noise. Nice. Thanks to everyone who supported the developers.

We are set
I am quite sure we can launch our update the same day the Flash Player 10 ships.
We are probably the first forcing the user to upgrade to Flash Player 10. But I am also sure nobody will refuse.

I admit that I am not an expert on Matrix3D computation, but is it really me or just a bug?

In my understanding an inverted matrix can neutralize an already applied transformation to a Vector3D. So having a Vector3D transformed by a matrix and afterward to the inverted one returns the original Vector coordinates, right?

Back in Germany, where it is much colder than in Brighton, I compiled the sources and slides as promised. Thanks everyone, who attended my session and for the overall good feedback on our work at Hobnox. It was a amazing experience to have a talk in The Dome. I also enjoyed a lot of other sessions. Flash on the Beach has become one of my favorite conference.

Register now for the free (!!) FDT Roadshow 2008 Prelude in Boston. The first 30 attendees signing up will receive a free FDT 3.1 Basic license. The FDT guys will send you a confirmation and will keep you up to date regarding useful information on the event and the roadshow.

Flash on Tap is rescheduled on next year. However the powerflasher guys let me fly to Boston for their FDT World Roadshow Prelude. So after canceling the actual conference in the last minute a new conference is born in no time. I am pretty sure, it will turn out best.

Welcome to the FDT World Roadshow Prelude!

We’re going to kick off in Boston on october 7th, 2008. We will host a free (!) half day event and invite every Flashcoder to show-up and meet with the FDT professionals. The first „Headline-Speaker“ is confirmed: We are bringing André Michelle with us, a true FDT friend, a Flash-Hero, and he will talk about the most recent developments about his „Hobnox-Audiotool“.

Just a quick snapshot with a TB-303 and a TR-808 creating a monotone acid track to check the new 303 emulation code. I spent more time to get the accent system better integrated, which is one of the most popular features in the 303 sound. The accent is riding in at about 2:10min. This is the most I can provide without doing heavy analysis of the circuits and measuring. I think it is pretty close. However I have the real thing next to me… Wooaaaooow!

Yesterday, I played again with oscillating particles in audible range.
I introduced a very basic version on some conferences. I’ve embedded the system in the Hobnox AudioTool environment to add some effects. Well, this is certainly weird but interesting sound design. I like it.

Headphones required. There is a lot of stuff going on which you will miss when listening on standard computer audio systems.

They are a lot of helpers that helps you doing the transformation and projection, especially

flash.geom.Matrix3D

flash.geom.Utils3D

I assume that Matrix3D.transformVectors and Utils3d.projectVectors are lightning fast, cause you can pass a Vector (sources and targets) to them. A single(!) Vector could contain the entire 3d world geometry as a list of (x,y,z,x,y,z,x,y,z,x,y,z,…). That is why I am thinking that the Flashplayer is able to execute this well formatted list extremely fast! Much faster than calling the methods to transform several Vector3D objects in a AS3 loop.

So far so good. Where is the problem?
The worst thing from the memorys point of view is the clipping part, cause vertices are added and just valid for a single frame (if the Camera or Geometry is moving). A big case for the garbage collection.Trying to figure out the best data structure for a 3d engine in Flash, I thought of something like this: All 3d world vertices are stored in a single Vector. Furthermore I would also leave some extra space for the expected vertices in the clipping process (increase the Vector length). With this setup, you reserve memory space and there is no reason for the garbage collection to remove used clipping data. You can easily access the clipped vertices with an offset in the Vector.

Note: The Vector would stay fixedSized. It is on you to allocate enough space for the clipping process when you setup.

But it won’t work for now
Imagine you already clipped geometry: Next time you transform the Vector into a new coordinate space, all the clipped data from the last frames will be transformed as well. Two simple optional parameter would change that.

Thats it! That simple!
Now you could force the Flashplayer only to transform the necessary range. You simply overwrite the new clipped data in the Vector every frame, project and draw them. If you know the region, where a 3d-object has allocated its vertices you could use the startIndex and endIndex value to transform it at once.

Getting all the audio stuff to work, I completely forgot to check out the new features in Flash10. I waited so long for perspective texture mapping in Flash and now it arrived. This is the result of about 8 hours and at least 4 different approaches handling the 3d data in my little engine properly. To draw polygons perspective correct you can use the Graphics.drawTriangle method and pass 3 Vector (new typed Array class) instances providing all data, the Flashplayer needs to paint the triangle. This let me think of handling all 3d and texture data in Vectors and never use objects like a Vertex class for instance, just (int) pointers.

They finally implemented Vector support in my favorite AS3 editor FDT(beta version)! The class Vector is similar to Array, but type-save. Now it’s time to bring the new performance boost to our AudioTool and check out the new Graphics API.

I lost sight of my recently bought Serato Scratch Live system way too long. It allows you to play almost any digital audio formats on well-known Technics SL-12010MK2 record players. It’s fun! I bought several minimal tracks at Beatport, a great online shop especially for electronic music – by the way – entirely built in Flash.

We were not sure if this ever gonna work. In about 4 days we ported more than 30.000 lines code of a Java Vorbis Encoder to AS3. We came across several issues when AS3 code is behaving completely different from Java code. Debugging code, you cannot understand is a pain in the ass! However, we optimized the horrible Java code quite a bit. The encoding takes now twice the time of the audio duration and it doesn’t take that much memory as before.

Why Audio Encoding?
We would like give the Hobnox AudioTool users the option to stream a live-session to their Hobnox Library. Unfortunately the Flashplayer doesn’t allow streaming data to the hard-drive and we didn’t wanted to fill the memory with uncompressed audio material (~10mb/min). We manage streaming by using (a lot of) SharedObjects, slicing the audio data into several packages, which are later transferred to the encoder for uploading.

Why Vorbis?Vorbis has a better file reduction ratio AND sounds much better than MP3 files. I cannot hear any difference against the uncompressed audio data at Vorbis rate of 128kb/sec. Filesize was the reason in the first place, cause we cannot upload uncompressed audio data. It would take too long. Naturally in the end the server converts the audio file to MP3 that the Flashplayer is able to play it. I would love to see the Flashplayer playing back Vorbis in future releases. It sounds better and it is also able to loop. You know that MP3 is not loopable trouble-free.

Entirely in Flash (No Java anymore):
I admit: My session is actually boring. I quickly setup some beats and just one 303 without any effects to test the Streaming and Encoding. Download the OGG-file here. The next update is scheduled for September, 1st. This may shift as we need to wait for FlashPlayer 10. The current version of the AudioTool works with a Java applet to stream the AS3 generated audio to the sound card. We are looking forward to get rid of it.

Share:
I pretty sure we will share the encoder in time. It still needs some tweaking and optimizations.

I am looking forward to this years Flashbelt 2008 in Minneapolis. This is the second time I attend the conference. Organizer Dave Schroeder is doing a great job and I am quite sure the conference and parties will be as extraordinary as last year. Besides Shawn Sheely will be organizing the Minneapolis bicycle tour again. Looking forward for this as well!

My session will be about dynamic sound in Flash, of course. I’ve added details briefing regarding the changes in FlashPlayer 10 in my slides. I hope to spare the sound system this time, so you will be able to get the full experience of our Hobnox AudioTool Demo, I am going to present more elaborately.

Associated with the FFK08 in Cologne, Hobnox is inviting for a come-together next week. We will play some music live with the Hobnox AudioTool and I will also spin some records. First drinks are free for conference attendees – however everyone is welcome to join us!

We finally released an update on our cute Flash audio application – AudioTool Demo.
As promised we’ve added an emulation of the famous Roland TR808. Besides you’ll find a new bitcrusher effect and a compressor with optional sidechain input.

For a better workflow we’ve added new buttons in the controlbar as undo/redo, three zoom states and a lock button to avoid accidental displacement of the editors.

It is still a demo, which means you cannot save your set. This is the most wanted feature we will address in the next update. A timeline to arrange modulation and pattern changes over time is in development too. Stay tuned!

Moritz Sauer from phlow asked me for an interview about the Hobnox AudioTool.
I was pleased to answer all his questions. Furthermore he recorded a video introducing the application. It is in German, however you may get the point anyway.

Joa Ebert, Kai-Philipp Schöllmann and I will have a live session with the Hobnox AudioTool on Mai, 22th in the Barracuda Bar (Cologne, Germany). I will also spin some old techno/house vinyls of mine. The first drinks are served by Hobnox for free.

Finally you won’t need an invitation or register anymore to play with the Hobnox AudioTool Demo. The next update is scheduled in 2 weeks, bringing the TR-808 and some new effect devices to the stage. Also good news: Martin Heidegger has joined the team. You may remember the opensource framework a2lib he was working on with Simon Wacker. Joining forces for the greatest Flash application I can imagine. If you havn’t tested it yet give it a try now!

As a side note. We needed to change the domain name of our campaign Adobe, MAKE SOME NOISE. If you linked to our website please update the URL to http://www.make-some-noise.info.

Powerflasher is proud to announce the final release of FDT 3.0! It took many months of hard work, tons of caffeine, red-rimmed eyes and some heated discussions to get there. With FDT 3.0 Enterprise you can debug your source-code like you might know it from your Java environment and the JDT. FDT’s debugger allows you to set breakpoints and analyse your code step-by-step. The second huge enhancement is the advanced refactoring. Tools like change method signature, extract interface or extract method helps you to easily alter your code.

Sounds great. It is no secret, that I support FDT, cause I really like developing with it instead of the FlexBuilder. Fortunately we all have an Enterprise version at Hobnox already ;)

Finally we released our first video tutorial for the Hobnox AudioTool. You get a basic introduction of all devices and the desktop, where all comes together.

At this very moment I can spread around 25 invitation. So leave a comment with a valid email address and get started! And be so kind and fill out your profile, I like to know who you are.Registration or invitation isn’t required anymore!

I will continue my mission convincing Adobe to add dynamic audio features to the FlashPlayer. We are currently thinking loud to move our music application to the Java platform entirely since there is no feedback from Adobe yet and we can’t wait much longer for a meaningful statement.

We all know the current hype on papervision3d and I really admire the effort the whole team put into it. However I spend a lot of time talking to Fabrice Closier on the last Flash conferences and he pointed me to their latest demo. He almost let me forget, that we all still need to deal with linear texture mapping in Flash. The perspective texture correction is so convincing, I am really impressed. It is actually very difficult to keep control of it, while moving the camera close to polygons. So keep an eye on this engine as well. Great work, Fabrice!

I am back from FITC, a great conference first time organized in Amsterdam. Thanks for all the feedback regarding our new audio application. I think you all get the point, that we are very serious about doing a reasonable online music software with Flash. So everyone who was lucky to get one of the t-shirts: Please do us a favour. Make a picture of yours wearing the shirt, post it in the comments or even better send directly an email to Adobe attaching your message.

Adobe – Make some noise! We need native sound support as soon as possible!

Andre Stubbe is currently our designer on the hobnox audio application, we will launch in a couple of days. Is it possible, that a designer can do good programming as well? Check this out! This is recently launched work Andre did before joining our team. WHITEVOID is a nice example, that 3D navigation approaches can be a very intuitive experience.

Colin Moock comes to Germany to present some insights on AS3 and AIR. It is called From The Ground Up Tour, participating is free. His session in Germany is scheduled on the 20th Feb. If you can make it, don’t miss it.

I have given up my freelance status right now. I have been employed at hobnox, where we are currently building an audio application, which definitely is the most ass-kicking stuff, I could ever build. I said that before? Well, you can test it for yourself in the end of february. We will launch a teaser application to have some fun without all features we have in mind. Damm – I wish I could show you right now. Amazing graphics, great dynamic signal flow with cables, awesome sound. Enough superlatives. Unfortunately, we still have issues with the onSoundComplete event, which really troubles me. Some of you won’t have the experience, we have. However, this project is reliable for a long period, where we consistently add new features. Hopefully we will get some reliable sound features within an upcoming flashplayer version.

Another part of my new job is to lead the flash development team. It’s a great team working on several projects and I feel very comfortable with the new responsebilities knowing the skill of all developers. I am a lucky guy!

History
Back in the year 2002, where FlashMX was introduced, I was pleased to see the new event ‘onSoundComplete’. I had access to the beta version these days (cannot say where, cause I wasn’t in the beta group). I found out, that it simply did not work as expected. The event should be triggered, when a sound was completely played, but starting a new sound on the very same event caused a small gap in playback. What was the point? The ‘onSoundComplete’ event was only triggered at the beginning of a certain minimal timeframe (2048 samples on a PC ~ 46ms / 44.1KHz). Macromedia didn’t take my report seriously – more – they demanded that everything worked as expected. Well, no musicians worked at Macromedia those days.Continue reading “The silent death of onSoundComplete event – a petition”

Oh my, even I wanted to have a cute looking computer sometime and an os, which doesn’t remind of its existence consistently. And after one day having Vista installed, the Windows world was crumbling and I was seriously looking for alternatives. And now it has happened. After 9 years of looking on Windows desktops, I have a brand-new MacBook Pro running Leopard. All I say is I’m pleased. It is good – and yes – maybe much better than I expected from a computer before seen by me as a toy.

One thing though. Does anyone know how to get aliased fonts in my eclipse environment without changing it for the whole OS ?

I am back from Flash on the Beach in Brighton and also completed my move to cologne. Thanks to John Davey, who accomplished a wonderfull conference with an ingredible line-up and also invited me to present my latest audio stuff in Flash. I had a lot of nice discussions about my session with several people and the sound system was great to show the sound quality of the different audio processors, I’ve developed yet. Loud! I hope to be invited next year as well. I had a great time.

Get ready for classic Acid Tunes in spring 2008 and an incredible new audio application providing all the stuff I have shown somewhere in 2008 within your browser.

Rexel put together some example videos from the Flashkonferenz07 – DVD, including a lot of sessions of various speakers. Even you don’t speak german you nevertheless get the chance to listen to some acid tunes I made inside the Flashplayer. You can see the continuation of my sound experiments at Flash on the Beach in Brighton in a few days.

Powerflasher released a brandnew AS3 version of their flash development tool FDT. I am already working with FDT3.0 in my current project and it is – as FDT1.5 – a huge timesaver in writing and debugging code. Lots of new features! No more Flex curiosities. Give it a try and install the try version.

We surely took our time but now we proudly present the most sophisticated Flash IDE you can think of. “Enjoy pure coding comfort” – that’s what we had in mind when we first decided to put our efforts in developing the Eclipse plug-in for Flashcoders and that’s still what we’re aiming for. We’re very happy to provide you with FDT 3.0 which is – in our view – the best FDT you’ve ever worked with. We enhanced some of the features you already love about FDT 1.5. Then we took this FDT version and amplified its advantages by adding some really cool new features.
AS3 support, individually configurable formatter, semantic highlighting and improved auto completion are only a few of them. The table at the end of this e-mail gives you the best impression on what has changed radically from 1.5 to 3.

Today my TB-303 arrived and I cannot wait to analyse this amazing little device, that changed the way of listen to music in my opinion. There is a good reason why I am doing this. I started a new project at hobnox in cologne (germany), designing a new audio engine mixing up old and new ways of synthesizing sounds together. The TB-303 obviously is my favorite. Just in time for the flashconference in cologne (it was great by the way) I could enhance the quality of my flash 303 clone highly. Thanks to Mike from Audiorealism for his valued hints.

Remember 1992 when Hardfloor released one of their best Acidtechno track “Acperience 1” ? Listen to that demonstration, I recorded live from the flashplayer. 3 TB-303 with a TR-909 (just one pattern) playing well together at 10 (in words ten) percent CPU!

I am sorry to tell you, that you have to wait until the new application will launch (summer 08).

Our cute Modplayer 8Bitboy has a new home at Kim’sLemon Amiga website dedicated to Amiga computers and games. You can browse through games and listen to their tunes. A perfect match. The actual 8Bitboy homebase has only a few visitors. I think most people still think it is a MP3Player with weird music. Well, you know better.

Joa & I are very busy at the moment contributing more stuff to our little open source project PopForge. There are lots of new stuff in the line. For now, I recoded the 909 from the scratch – hopefully less CPU intensive and with better sound quality. The sound samples and grains are now stored into a single file, introducing Joa’s compressing FurnaceFormat. Quite elegant!

Furthermore I have updated the AIR version of the 909. You can now stream a Wavefile to disk while playing your session. If AIR will be some day as distributed as the FlashPlayer, we will have good times. I like it. Joa is also preparing FUI, a smart and simple GUI Creationset to build UIs in actually no time. This will be a huge timesaver for creating and debugging synthesizer and effect devices.

I decided to give AIR a try building my 909 as an AIR application. It comes now with a chromeless, shaped window and save/load functionality to store the whole content (including the parameter values) of the 909 permanently to your harddrive. I have rewritten the 909 engine for making it open source in the next time. Everything should sound as before, even better and less CPU intensive.

I admit, I am a bit late, but I needed some rest after 8 months of development. Splice is finally online! Truly Splicemusic is an awesome Web2.0 application. The audio gap is closed. However this could only be a start. Splice is extendable, working with a Plugin API developed by Bram de Jong. Yes, its true – unfortunately I didn’t have my hand on the audio core engine (except the 404, hehe), but believe me, Bram was and is the best man for this. He has a huge background in DSP programming, developing professional VST plugins. He learnt AS3 in three days!
So then, I was alone responsible for the whole UI and this was the worst trip I ever had. Starting as an actual newbie in complex design patterns and even AS3 was young, this application was my baby beneath my nightmares. There are nice things implemented as a liquid layout engine (try resizing) and an Action design pattern (thanks to Carsten Müller for this one), editors and device views for almost everything controllable (don’t forget to try the modulations!). Together with Bram, we wired all that stuff together into an application with more than 800 classes and countless lines. Thanks to version control, I could still work in chilly Berlin, while they was making party in Barcelona ;)

Splice has some ass-kicking new features, that you never saw in your browser. Based on the famous audio hack we provide realtime synthesizer, realtime effect plugins, realtime time-stretching and what not. A lot of small helpers are integrated everywhere and the team is still posting the features in our blog. Give it a try and let us know.

A big Thank You for Extrajetzt in Berlin, who supplied the whole graphic design in actual no time! Guido and David did an awesome job here. And I thank Bram, Mikko, Antti, Amiee, Ingrid and the rest of the team for giving me support in wicked times.

Popforge is an Actionscript 3 code sandbox started by Andre Michelle and Joa Ebert.
Not all of our projects made it to here. We have a lot in the pipe we want to share with the community but still want to assure high quality content. Currently you will find the audio library sources online.