Bekijk terug alle berichten.
BassoonTracker 0.5
I picked up one of my old projects again: BassoonTracker!
BassoonTracker is some sort of music sequencer in the "tracker" tradition.
Very retro, very geeky - I love it :-)
Most people - including me - use it more to listen to other peoples' songs than to create their own, so I polished the "playing experience" a bit and added playlists, amongst others.
Above is a small video of the new stuff on version 0.5.
Check out the full changelist of this release at the history page.
Underneath the surface, the code also got a mayor and long overdue overhaul: I moved to ES modules, making the code much easier to maintain and much easier to expand.
As a result, the initial footprint is much smaller - coming in at 97kb compressed - which is quite nice for an app that
- has a complete custom graphical UI rendering engine
- has a complete custom audio engine
- can read and write various old and weird binary file formats
For the past months, tracked music is more or less on non-stop repeat when I'm working as - for me - it's the perfect coding music. (After all; it's code itself !)
I like the fact that tracked songs are by nature open source: playback is in real time generated from the source samples, the musical notes and the effects.
If you hear an interesting part, you can instantly investigate how it was done.
Because tracked music comes from a time where diskspace was limited, the files are usually very small and don't contain long samples or lyrics, making them even more perfect as coding backgroiund.
I must say it makes me surprisingly happy that the BassoonTracker source code repository jumped the 1000-star marker recently.
Yay! I'm glad people still like tracked music.
(Check out this playlist with "demoscene releases" of this year - it really is a vibrant scene ! )
The BassoonTracker app can be found here - source code is here.
BassoonTracker Release 0.4.0
Bassoontracker - Release 0.3.0 is out!
During the past months I have been tinkering along on Bassoontracker - My browser based Retro Music Tool.
Today, it's ready for a next big release: Version 0.3.0 is out!
The most important feature is full FastTracker 2 compatibility. Yeah baby!
Fasttracker II was a music creation tool for DOS, released back in 1994 and it became THE standard for a long time for tracker based music.
1994 was also the year that Commodore went belly up, pulling the Amiga with them, so a lot of Amiga musicians made the jump to PC around that time, finding Fasttracker 2 as a perfect successor to Protracker.
Fasttracker is quite a bit more complex then a simple "sequencer". It added proper "Attack Decay Sustain Release" to instruments making them sound far more natural and supported 16 bit samples, a huge step up in quality.
Up to 32 channels are supported, 128 instruments, 2 concurrent channel effects and much much more ...
That was fun to implement!
Other big changes are:
- Dropbox integration: Load and save files directly from/to your Dropbox
- Enhanced Sample editor: Slice and transform your samples directly inside BassoonTracker
- Enhanced Pattern editing: use ranges and cut/copy/paste for quick editing
- Export your song to .wav or .mp3
- LOTS of fancy UI updates
And all that still in plain old javascript with ZERO dependencies.
During the years many thousands of music tracks have been made and you can access them all through the build-in Modarchive and Modules.pl browsers. (Which now have been expanded to include FastTracker .xm files too)
The playback engine has gone through extensive compatibility testing but if you find a module that doesn't sound the way it should: drop me line.
More info and full source code on Github:
Or check out the live demo on https://www.stef.be/bassoontracker/
Bassoon Tracker
Presenting a new project:
Bassoon Tracker!
It's a Browser based old-school Amiga Music Tracker in plain old javascript.
If you have ever heard of Protracker or Fasttracker, then you know the drill,
if not, then you are probably too young :-)
Check it out at http://www.stef.be/bassoontracker/
Tracker music originated way back in 1987 on the Amiga computer.
This was an era where PC's only made bleep sounds.
Even as the Atari could produce some funky chip sounds, then there was this all-singing-all-dancing Amiga machine that could produce 4 channel wave-audio.
Ok, it was still 8-bit sound, but suddenly everybody could access a digital music creation tool for an affordable price where previously you would have to spend a fortune on hardware samplers and midi interfaces to get the same possibilities.
My first sampler I soldered myself: You could plug it into the parallel port of the Amiga to "record" analog audio signals into 8-bit samples. It produced very low quality samples, but ohh... the wonder of it all!
It also was en era where user interface design was non existent so yes: the interface is a bit ... "special" :-)
Tracker programs where made by developers for developers: You don't enter notes on a musical bar, you enter notes as numbers in a grid with your computer keyboard and you apply effects by entering even more numbers.
All in hexadecimal of course, as plain decimal number are for pussies.
I especially like the format because you sort of get the sheet-music AND the instruments together with the song.
If you hear a cool piece and go like "Wow, how did they do that?" you can jump right in and examine what samples are used and what effects are applied.
It's like an open-source music format where you can do a "view source" to see exactly how it's done and fiddle with it, much as you can do with any website or web application.
Just like much of my early javascript and css knowledge was build by inspecting the source of other applications, much of my early musical knowledge was build inspecting mod files on the Amiga.
The golden age of the Amiga is long gone, but the tracker format lives on. There have been countless spin-offs and remakes.
Even in modern audio software like Renoise, Radium and Sunvox the tracker spirit is present.
And of course there's openMPT: It doesn't have a cool and snazzy interface but it's the most compatible and complete true tracker around.
Remember: these are not just mp3 files you hear, the music is reproduced using samples that are played and manipulated in sequence in real-time.
This is why mod files in general are quite small, making them perfect for (early) games and other projects where file size is important.
Even the super popular Unity game platform still has support for tracker formats
Playing mod files in a browser is nothing new, but still I wanted to create my own tracker for the following reasons:
- I wanted to research Web-Audio, especially real time audio manipulation.
- I wanted a real tracker where you can open, edit and save mod files, not just a player.
- It should perform well on mobile browsers.
Most mod players don't work that well on mobile browsers.
They tend to implement a very low level way of handling audio, doing the resampling and mixing all in the javascript layer, maybe because the code is ported or recompiled from other platforms.
I took a high-level Web-Audio approach which makes it perform really well on mobile browsers. Even if the UI slows down, the music should never stutter. - I wanted to build a SCALABLE cool retro user interface.
Most old-school trackers have a fixed size user interface.
I wanted a pixel-retro interface that scales with the screen.
You could call it "responsive design" but then for HTML canvas :-)
That's a pretty cool feature even if I say so myself! - I wanted to have a decent music playback engine to be able to build upon: a drum-sequencer? a midi-player? real-time online collaboration? all rather straightforward once the main playback engine is in place.
Anyway - here are some examples!
- Startdust Memories - By Jester
- Guitar Slinger - By Jogeir Liljedahl
- Space Debris - By Captain (Markus Kaarlonen)
- Title track of the game "Lotus Turbo Challenge 2"
- Professional Tracker - By H0ffman and DayTripper (Watch the pattern animation on this one)
Even more?
The ModArchive hosts thousands of tracker songs and they have an API so you can directly access them from within Bassoon Tracker.
The source files are available on GitHub.
Have fun, and if you think of any cool feature you're missing: let me know!
Rag Dace
Na veel stoereventenpraat van "we zouden eens een bandje moeten beginnen" is het er van gekomen:
Rag Dace!
Bram mept op de drums en doet enthousiast.
Stef pluk wat aan de basgitaar en doet wat met knoppekes.
Zingen? Ja, dat ook hé, in het schoon Antwerps en al.
Wat we missen aan techniek en talent, maken we dubbel goed met speelplezier en de bijhorende Antwerpse charme.
En we geven zelfs ons eerste optreden: voor het goede doel!
In het kader van een ALS benefiet kunt ge naar onze kapriolen komen kijken en luisteren op vrijdagavond 21 april, Wolffaertshof Baron van Ertbornstraat 7, 2630 Aartselaar
Zie da ge op tijd zijt, want na ons komt de ECHTE band van de avond: The Armstrongs.
Wil je bij dit NU al legendarische optreden zijn?
Da kan hé mannekes:
Kaarten zijn hierzo te verkrijgen: https://www.facebook.com/events/589937384538592/ (of gewoon bij ons)
Alle opbrengsten gaan integraal naar het goede doel.
Zie daggeder zij!
Meer info op https://www.facebook.com/events/589937384538592/
Airwave Pong Style!
Wave you hands in the air and pong it like you just don't care!
I like old stuff: it has a story, it is used. it has flaws.
And exactly those imperfections are interesting. Waba-Sabi you know?
That's why I ditched all my CD's and moved back to Vinyl,
and that's also why In my opinion most "pre-computer music" sounds better.
When you take a basic step sequencer or midi program, it's a robot: all notes are aligned on a fixed grid and it usually takes some effort to get a "human feel" to your music.
Now what if you could ease it up a bit in a fun way?
Let's take the graphical representation of a "beat" in most common step sequencers.
and let's take this thought one step further: the graphical representation defines the music, right?
So what if we alter the graphics, would the music change too?
For example, if we want to add a fade, we can just as well use photoshop to add some blur, right?
And if we want to loosen up that fixed grid, why not use a graphical filter to make it more "wobbly"
This way we can use graphical tools to mold your music into a more organic shape.
And more!
What if we could "read" any image in a musical way?
An image consists of lot's of coloured dots, each dot has some info we can use. on a computer screen, this is for example the amount of red, green and blue and the transparency.
We can sample that info from an image and use it for something musical.
An example: move you mouse over this image of a jungle, to explore it in an audio-way. (Well ... after you click on it to open the demo, right?)
To pour that into something musical, we can use "the bouncing ball" effect: a ball bouncing around in a rectangular box has 2 rhythms that are both fixed but as the sides of the box are not equal, the rhythms are constantly shifting.
It has the predicable structure of a beat box, but also the unpredictability of 2 patterns intermingling: Exactly the interesting effect we are looking for.
Try it out for yourselves!
(Seriously: leave it running on chrome or safari for a few hours: it's very relaxing!)
Of course we don't have to use a static image, we can use a video or ... a camera!
That is when things really get interesting: when you connect a camera as your graphical/musical input source, you can interact with your musical model live, in front of your camera.
Add a little motion-tracking and color-tracking, and you get a pretty accurate way of triggering musical events using your webcam.
To go all the way back to music software, we can even add some MIDI to trigger midi events using your webcam, and to record everything you do in your midi sequencer to take it further along towards a full musical production.
Wham! Before you know it, you got yourself a playful musical instrument.
Of course, it's a bit hard to control. It's probably wise to limit yourself with some quantization or some predefined chord schematics to get the sound you want.
Fiddling around with all my prototype toys, I created this demo song - I call it "Airwave pong" (You now: Wave you hands in the air in front of your webcam - combined with pong)
To be honest, I had to do a lot of post-processing on the midi data ... my motion tracking routines are somewhat crude and fly all over the place.
If you want to try it out for yourself, come find me a Barcamp Antwerp 7 this saturday, where I will be doing a live demo and will release all the tools I used.
Yes indeed: barcamp STILL is one of the most inspiring events EVER.
The concept is simple: short and open talks about anything you're passionate about.
The presentations won't be perfect, but they will be real and honest, which makes them far more valuable then about 90% of al other talks on "professional" events.
So if you happen to be in the vicinity of Antwerp, do yourself a favour and drop by #BCA7
I can't wait !
Foto door Simon Schoeters
Tags: Graphics, in English, Music, Programming, Tinkering, VideoGeef je reactie (1)Leave a light on
Schoon, die "Leave a Light On" van Marble Sounds.
Voor diegene die - net zoals ciska - goesting hebben om hun mooiste zangstem boven te halen en er een warme kerstversie van te brengen maakte ik er een instrumentale meezing versie van.
Ik zocht eigenlijk vooral een testprojectje om de nieuwe versie van Ableton Live eens uit te proberen.
Goe gerief, diene Live.
Hier is het midi bestand mocht je er zelf mee verder willen prutsen.
Als je Ableton Live gebruikt is hier het Live bestand
(en ook: koop hun album ! )
Voor de volledigheid hier de songtekst:
Sure I can leave a light on
Let it shine on
Leave it till dawn
Sure I can leave a light on
Leave a light on for you
It takes two to find a way out
There is no doubt
I will be around
If you have lost the right track
Then I'll lead you right back
Don't search to find
Don't smile just to be nice
Don't run just to get there on time
Be amazed
Simply blown away
Live on without
Getting off your cloud
Sure I can leave a light on
Leave a light on for you
Sure I can play a quiet song
I could just hum
Beat a soft drum
Sure I can play a quiet song
Play a quiet song for you
It takes you to make my heart sing
To let air in
And keep breathing
It takes two to keep the vibe true
I am waiting for you
It struck me again
We both look the same
But what you make
Appears in all shapes
I should impress
But nevertheless
I cannot change
Night into a day
So sure I can leave a light on
Leave a light on for you
© 2013 Marble Sounds/Zealrecords
Original song: Leave a Light on - Marble Sounds
My Little DrummerBot
Yay! finally took the time to finish a little Arduino project.
It's a another bot, more specific: a web controlled drummerbot!
Yes yes, the same old trick: web interfaces to physical objects: Me LUVS them.
Give me an Arduino and a browser and I'll build you your rainbow
Hey, I feel a song comming up!
Tap the drum pattern on your phone and this little bot will rock it!
You control it like most drum computers: you draw the beats on a pattern of sixteen dots, perfectly suited for generic 4/4 rhythms.
There a 8 lines, each controlling 1 servo motor.
Most of the servo's have a percussion item both on the left and the right, that's why the pattern buttons have 3 states: off, left, right.
That makes 14 distinct percussion sounds for the drummerbot.
The pattern in the webbrowser is packed into a string, which get send to the Arduino via HTTP.
You can use a wifi module and a http server on the Arduino, or you can use another device attached to the Arduino through a comm port.
The Arduino receives the string, unpacks it back to a pattern and simple loops over the steps controlling each servo.
the "DrummerBot Step Seqeuncer V 0.01 very-much-alpha" page is here
You can also download the Arduino code here.
I must admit: the drums sound a bit dry without amplification though.
I recorded everything into Ableton Live and did the final mix there. (Shocking, right? The videoclip is actually NOT a live performance :-) )
I'm specifically fond of the "Horns"
They are 2 little fans with a servo pushing a piece of plastic against the blades.
A hell of a noise but when you add heaps of fuzz, chorus and overdrive effects they are pretty convincing.
I call them F*CK-YEAH-HORNS
If you want to jam along yourself: hop over this saturday to Barcamp Antwerpen, where I'll be giving a presentation with/about the bot.
Let's play!
GarageBand for iPad - a review
A big splash this week for the iPad: Apple released GarageBand.
I'm not going to write a complete review for it, there are more then enough off them already.
In short
- Yes, its amazing
- Yes, it's awesome
- Yes, it looks so gorgeous and sexy you want to lick your screen
- Yes, it's one of the coolest and slickest apps on the iPad
- Yes, it's incredible easy to use and fun
- Yes, if you have an iPad, you should buy it
- But..... but but but.
It could have so easily have been THE ultimate music app that would dwarf all other music apps on whatever mobile platform.
But it's not.
Apple bashing? certainly not
This is not going to be an Apple-bashing piece. When it comes down to music apps on mobile devices, i love Apple: they are lightyears ahead of any other platform. (again: when it comes down to music creation apps)
On Android, for example, I can count the amount of decent music apps on 1 hand and STILL have several fingers left to pick my nose.
This is going to be a usability piece.
If you give GarageBand on iPad to your kid or your mum, no doubt they will enjoy themselves silly whipping out great sounding tunes like it's nothing.
It's great to toy around with and it's fun to use. So easy!
And that's the key: "it's great to toy around with"
If you would give it to an (amateur) musician with the actual intention to create something unique, it would be a frustrating experience beyond repair.
Before you start screaming that GarageBand iPad is not meant for the half serious musician, ask yourself why not!
Clearly it has one of - if not THE - most powerful music engines on the iPad and it hosts some very advanced features.
But at the same time it lacks some super obvious things that most other music apps DO have.
I'm not talking about advanced stuff, but basic things like copy/paste, or the ability to do small edits after you recorded a track, or fades,... things that are plain necessary if you want to do more than toying around.
Some examples
For example: you've just played and recorded the best piece ever on the touchpiano. It gets recorded to midi, nicely visualized in the sequencer.
There's one spot you played a note out of rhythm or out of key.
Currently there's no way to fix that, other than re-record it.
Would it harm the fun or usability in any way to add midi editing?
Or the lack of copy paste: you can't copy one track to another project, or copy a sample to another app.
This is an issue that is solved already a long time ago with the system wide pasteboard, first made popular by Intua and perfected by Sonoma.
About all music apps support it, allowing you to copy paste your sounds between apps, creating your own perfect mix.
All music apps ... except for GarageBand.
Musicians create music with whatever they find.
They build the best grooves with Rebirth, record the fattest guitars with Amplitube, fine-tune the ultimate synths with Nanostudio, and then combine it all with the best sequencer for the final mix.
All this is already perfectly possible with the iPad, but not when you want to use GarageBand: there's no usable way to get your sound in or out GarageBand.
Connecting the iPad with your Mac and use the full GarageBand doesn't count (and doesn't function yet anyway)
I want a mobile studio, independent of other hardware device. If you have a Mac lingering around, you wouldn't use the iPad to record, you would use the full GarageBand.
Why?
Why didn't apple add those features?
Because they would stand in the way of the user experience?
Because they don't target the more demanding musicians?
Maybe, but that would imply that they see GarageBand on the iPad as a toy themselves. Does this then mean they see the iPad as a toy?
The answer is pretty obvious if you ask me:
If you have a Mac lingering around, you wouldn't use the iPad to record, you would use the full GarageBand.
The reverse is also true: if GarageBand on iPad could do all the things that the full GarageBand could, one wouldn't need a Mac ...
And there you have it. It's my opinion that Apple deliberately created a crippled version of GarageBand to avoid cannibalizing their Mac products.
This is the same reason the iPad is still forced to sync with bloody f*cking iTunes - with a cable none the less, how 20th century like.
It would be a far better user experience to let the iPad sync wirelessly, or not force it to sync at all, but then people would start using the iPad INSTEAD of a laptop, not NEXT TO a laptop.
Obviously, this would hurt the apple sales: they want to sell you 2 devices, not 1.
Yes, Apple values the user experience very high, but not nearly as high as making money.
That's perfectly fine, but this means they will not allow the iPad to be as good as it could. (why would they, its good enough already to sell millions and millions)
Obviously, this means a huge opportunity for other developers that don't have these restrictions.
The best example is the software for jailbroken iPads. It seems those "rogue" developers are the ones that are pushing the iPad forward the most and often Apple is copying the best gems of the jailbroken apps later on in their official software.
Things like multitasking and folders are examples of this.
An example of a super useful app for jailbroken devices that Apple yet has to copy is Retinapad, which enables the high res mode of iphone apps on your ipad.
But back to the point: in the regular app store there are also some true gems of music apps that DO target the more demanding users.
No, they are not that slick, but double as useful.
Usability
One more example of how bad the usability sometimes get with GarageBand (and iPad in general):
Say you recorded a killer riff on the guitar, but you want to speed it up a bit for even more awesomeness. GarageBand can't do this (it can speed up midi tracks, but not samples)
Studio HD can.
Now if only there would be a way to get your track in studio HD ...
Oh wait! There is! its just a few clicks away (ahem ...)
You can export your track in Garageband
Hey you got mail!
Luckily multitrack DAW can import samples from email attachments.
Your track gets imported in multitrack DAW
There you can copy it to the pasteboard.
Open studio HD, and paste it in a track, then alter the speed.
How's that for usability, eh? that was only 17 clicks, 3 apps and a roundtrip to the mailserver!
But wait, if you want to get your track back into GarageBand you're out of luck: there's no way to do that (that doesn't involve jailbreaking your device)
Come on Apple, audio copy/paste is everywhere, surely this should be added in the next update.
And speaking of Studio HD: I don't know who copied who, but come on: the 5 months old Studio HD on the left, the brand new GarageBand on the right.
I kind of hope I'm missing something here... Maybe those are standard iPad design guidelines or something?
Playing around
Not to be all talk and no action I created a very small tune with GarageBand.
The tune was recorded and arranged in about 15 minutes. Very Easy and fast.
The guitar is a cheap toy (acoustic!) guitar recorded with the internal mic.
The drums and Bass are "smart instruments"
Here's the tune.
Or download the mp3 file
Points
Good points
- very easy
- incredible slick touch based interface
- very powerful music engine: it's the only music app to my knowledge that can combine midi and sample tracks
- perfect for jotting down fast music ideas
- accessible for everyone, no music knowledge required
Bad points
- no audio copy/paste
- no midi editing
- no fades
- very limited time signatures (only 4/4)
- currently no working export to full GarageBand
Conclusion
GarageBand for iPad is awesome, it really is, but it's a toy.
There's nothing wrong with that, its genuine fun to use.
It's also great as a fast and easy multitrack recorder if you want to record and edit on the move.
However, if you want to use your iPad as standalone recording studio, (like I do) there are far better options. Check out Multitrack DAW, Studio HD (which does time stretching!) or Beatmaker 2.
If you're a guitar player, Ampkit and Amplitube provide a much better sound, features and experience.
As a software developer, I marvel at the beauty and technical excellence.
As an amateur musician, I find it almost unusable.
Let's hope I'm completely wrong about Apple's strategy with GarageBand and they'll address its shortcomings in a next update.
Tags: in English, Mobile, MusicGeef je reactie (2)
In silence
Tinkering with digital audio, I love it!
A few months ago I was exploring the use of the Ipad as digital recording device.
A small tune came out of it.
nothing too fancy, just a piece made from scraps i created as test with various audio apps.
Great fun!
My plan was to draw a videoclip for it - also on the iPad.
Yes: ... draw ... even at 1 frame a second, it meant lot's of work and grew tired of it.
It's one of those things that end up on the "to do whenever I find some time for it" pile, which is dangerously close to the "never" pile.
This image is one frame of it.
We'll see about the videoclip part, but here's the audio track already.
You can download the mp3 here
It's called "In Silence"
It's completely recorded on the iPad, only using iPad apps, the internal mic and a (real) acoustic guitar.
Why? Because making music using toys is fun!
The synths, bassline and effects are from Nano Studio
The drums are done with Beatmaker, which also functioned as copy/paste glue between apps.
The recordings of voice, guitar, final sequencing and mixing was done with multitrack DAW.
Conclusions: using the iPad as mobile music studio is fun.
Some pretty good results can be achieved, considering the cheap guitar I used and the internal mic.
There are some pretty awesome apps out there which make the iPad a valid mobile recording studio.
However, one has to jump through some really weird hoops if you want to combine multiple apps and get the most out of it.
The lack of (access to) a file system makes it sometimes daunting to get the samples and tracks from one app to another.
You end up spending as much time swapping apps and moving files around then to actually create some music.
It's Apples vision to prefer usability over features.
That's great, but sometimes they end up in the paradox that their quest for usability actually makes the product less useful.
As Einstein reportedly used to say: "Everything should be made as simple as possible, but not simpler." , right?
More on that later in my GarageBand for iPad review
Tags: in English, Music, TinkeringGeef je reactie (3)Sing along
My little project of last week was to produce a CD for the school of my kids.
This year's theme was "music" so a CD of all the children songs seemed a nice present for all the proud parents.
We collected all the recordings people had made during the year and made a few new ones.
I love fiddling with knobs and music software so I volunteered to "spice up" the vocal recordings, adding various instrument tracks and brushing up the vocals.
I mostly used Adobe Audition for audio restoration and Ableton Live for the editing, arrangements, mixing and effects.
Ableton Live really is an amazing piece of software: a perfect example of fitting a gazillion options in a clean and intuitive interface, very fun to work with.
It was too bad that some of the base recordings were really crappy, taken out of cell phone video recordings and such, but oh well... there was no way to redo those recording so I had to work with what I had.
I'm far from a decent sound engineer and half the time i was just "doing random stuff" until it sounded about right, but i was enjoying myself :-)
If someone has some good tips how to improve those lo-fi cell phone audio recordings, please let me know as I have no clue how to do that.
Obviously it's not possible to create oranges out of orange juice so maybe those recordings are just "lost", but still, maybe someone knows how to make them sound less sharp and narrow.
To finish it up, I created a custom media player in Flash for the website at http://www.wittemerel.be/zingt/
Enjoy and sing along if you speak Dutch! :-)