For me the interesting part is not just in getting a computer to do all the work but using it as a compositional aide. You can think of it at writing music at a higher level of abstraction. Rather than writing a score you can write the rules of the score and use a stochastic process to spit out permutations for example. Eg imagine writing a program that could spit out Eric Satie-esque melodies.
One example of more general EDM levels of abstraction for me might go
1a. this tune needs to play with space (stereo/reverb) more 1b. we need some interesting background sounds
therefore
2. we need an interesting, wide background sound to start at bar 32 and end at 64
Dropping in something from a sample library to achieve that wouldn't satisfy me as every step of constructing that sound is following other rules of abstraction e.g. how should it fit with the existing tonal balance? with the existing rhythm? etc. But at the same time the process is 1% inspiration 99% perspiration - it's following unwritten almost-rules which would be fascinating to capture in an algorithm if I could. They wouldn't have to be completely general rules, just my own personal ones.
A related (light hearted) thing I wrote on EDM abstractions a while back https://omnisplore.wordpress.com/2017/11/25/kolmogorov-compl...
Ha, no, you can input a great deal more than a single bar into them. They were designed to let users store a variety of patterns, which can then be assembled into a traditional intro-verse-chorus song structure, if you so wish.
Maybe put a row of buttons at the top: "I am [Loving it] [Grooving] [Fine] [A Bit Bored] [About to Quit]". Then use that (plus browser data and window-close data) to train ML models to maximize engagement. Or perhaps to hook it up to facial expression recognition.
When I watch friends DJ, there's this great feedback loop between how the crowd's behaving and what they're putting on. They're clearly using the music to achieve certain mental states among listeners. I'd love to see how well that can be done algorithmically.
So many of the selections that great DJs make are curveballs and surprising choices. This is less true in more samey genres, but true pioneering selectors will tend to surprise you with their taste and juxtapositions in a way that's hard or maybe even impossible to really capture in an algorithm.
Put another way, even in something as simple a song selection, the weirdness and contingencies in human creative decision making is a feature not a bug.
The efficiency and cleverness of algorithms can create create great powerful recommendation engines but there's nothing like the idiosyncrasies of a person as a curator.
That would be enough to construct a robot DJ that could track the variations it was making, and rate them for 'better/worse'. Then you just make a cool-looking puppet to store the camera in, that can move around and possibly wave an actuator like a proper DJ, and the rest is machine learning.
There are lots of games that do this kind of thing at a rhythm level, like Necrodancer and more recently BPM [1], but I think there'd be the potential to do a lot more with it than just rewarding beat-alignment with a pre-cooked solo that blazes over top of the base track.
As an example, I've become really interested in the fact that tempo and meter are taken as constant, grid-like structures in pretty much all existing music practices (even within, say, Gamelan, though there you do get a lot of pushing and pulling). Typically, you have polyrhythms and polymeters to fit more interesting patterns into the fixed grid, and accelerando and ritardando to adjust the rate of grid traversal, but that's about it. Hardly anyone applies algorithmic/geometric thinking to the grid itself — likely because more complex rhythmic foundations would make human performance nigh impossible.
To explore this space, I created my own little generative music system that takes a handful of simple motifs (a la Riley or Reich) and stacks them into a recursive temporal structure, which is then pushed logarithmically toward a tempo of 0 or infinity. There are some rules so that the "performers" only play at comprehensible scales, and that pitch modulation keeps the piece interesting to a listener. You can listen to it here, if you'd like: https://ivanish.ca/diminished-fifth/
I'd love to see more folks working on tools to make these sorts of theory-stretching ideas easier to access and explore. For instance, I've really been struggling with how to hand-compose music that can fit within a nonlinear/recursive structure of time. Existing tools like Tidal or Max/Pd were built to support the existing theory. I think we need new tools that allow you to design the theory itself.
> tempo and meter are taken as constant, grid-like structures in pretty much all existing music practices
I don't think that's remotely true.
Well, you're in good company. This goes back for many decades. Here is a summary of many attempts during this time: https://www.amazon.com/Algorithmic-Composition-Paradigms-Aut.... Really convincing composition started to appear only recently using transformers, e.g. https://openai.com/blog/musenet/. The present solution is a rather primitive one in comparison.
I coded up some jungle music not long ago: https://www.youtube.com/watch?v=GPan4gRSwZs&t=79s
I'm working on a procedure to modify the drum breaks in a conventional way, meaning I have to think less about keeping them interesting while live coding.
0: https://www.youtube.com/watch?v=SmwW5kBfltk&list=PL1yYEMwtFZ...
Back in the early days, I think CSound[0] was the big software, not because it can make especially interesting sounds compared to more "musical" software synths, but because it's a proper programming language which gives people the freedom to do these higher level abstractions.
In the hardware world, a lot of this developed out of arpeggiators and analog sequencers. I remember years ago I had a "P3" sequencer[1] which implemented a lot of these sorts of algorithmic pattern generaton tools - you could do things like quantize to a scale, then set a sequence of percentages that themselves impacted the likelihood of a particular note being played. I see there is a new version of this sequencer[2] too.
Lots of analog sequencers provide similar features, and if you have a modular setup you can ramp the tempo way down and have them control chord progressions or swells instead of 16th note patterns. Pretty sure this is how a bunch of live ambient music was done back in the day.
That was a fairly niche corner of electronic composition, but even in the mainstream of 20 years ago stuff like the Emu Proteus sound modules featured pretty advanced programmable arpeggiators where you could essentially write the skeleton of a musical sequence and then modify what notes of it actually ended up getting played by deciding which original notes to start from. I always came at this more from that minimal/techno/sequence-based side, but then I went to a wedding and saw a wedding singer playing an "accompaniment" keyboard which showed the other side - entire chord sequences and backing instrumentation getting generated in real-time based just on what chord the keyboard player chose to hit with their left hand. It's surely only a small step forward from there to being able to input a higher level algorithm that could develop a whole song.
[1] https://www.soundonsound.com/reviews/sequentix-p3
[2] https://www.sequentix.com/shop/cirklon-hardware-sequencer
If the author is reading this, Would love to hear about the quirks related to audio playback in browsers/devices you've found so far in developing this.
https://www.danieldavis.com/generative-design-doomed-to-fail...
If you had no music experience, snuck into a club, impersonated a DJ, and just pressed play on this, I think even without touching it, no one would notice anything's amiss. If you messed around with it occasionally, you'd probably get hired back. (And that's a compliment to the app; definitely not a diss of acid techno.)
I doubt it. Perhaps you were lucky with the piece you listened to, but I checked it for 5 minutes and the off-beat things it generates are pretty much unheard of in this genre. Not that there's no off-beat produced by humans, but it doesn't sound anything like this. Simply because what the machine is doing here brakes the rhythm too much, making it harder to dance on, and after all that's what this music is for.
Upon seeing a web page's "impressionistic interpretation/reduction" of a decade or so of music driven primarily by economic and social constraints (warehouse techno), it's so easy for people to pile up thoughts. It's so inexpensive and risk-free for people to say, "oh yeah, that there is good techno/acid," without trying it out on a dancefloor, without having listened to hours and hours of it.
There has strangely been a long-term dream of computer scientists to replace composition. To "spit out" songs as someone put it. It's usually too scary to ask ourselves "why?" because it usually is a game of validating one's own mind against others' impressions. For some reason, auto-composition seems like some kind of holy grail, but of what?! Saving money buying music? A fantasy of abundance? A kind of "gotcha!" that a pure thought-person has outwitted a silly irl composer? What do you actually get for creating an intelligence that wins a Turing test? You certainly don't get sweaty friends deliriously dancing on drugs at 3 am. You typically just get another social promotion in the direction of aiding greater powers at their control over the world. Is that what it's about? Closing ourselves off from human musical expression in exchange for increased financial standing? Get a job bc you proved you can fool some of them of the time? To validate a work ethic that regards music as frivolous by demonstrating that it can be simulated accurately enough?
It's not obvious that every decent musical piece is a more complex and interesting story than its notes. That every new synthesis engine can only ever interpolate its inputs as opposed to incorporate new ideas and more importantly experiences. Experiences that relate to a person and group. We all have a sublime attraction to the story of Beethoven - to having been giving a profound gift and slowly lost part of it. We look for ourselves in his work, where did he break down? How did he handle his unfortunate circumstances?
We perceive music in terms of passion - what it cost an individual in hours of life, blisters, health, money, dedication, etc. We revere Kurt Cobain for pouring out everything he had into his music. If a computer program wrote "You Know You're Right," and we knew there wasn't actually someone real who "never failed to feel....PAAAAAAAAIN," it wouldn't matter to us. Because we're all diffractions of some crazy spiritual force no one understands, but it seems like music is a form of "interdigiation" between us. So why plug our own listening energy into a random number generator and call it good? With respect to ppl saying, "now we can have acid anywhere, anytime," I say, "dial up great mixes on youtube, etc." There are real DJs who put together songs in streams that have even greater meanings than the individual songs - bc, again, music is more than just individuals, it's a collective act.
And no matter what the tech of the day is, it will always be applied as if it were to be the "final," perfect means of autocomposing - remember fractal music in the 90s? PCA synthesis in the early 2000s? So as a fun programming challenge, i say to people, sure, write these programs. But why must we persist in proclaiming their relevance to our active lives when they only resonate in our thoughts.
Some sufficiently intoxicated people will dance to anything, though a good dj feels an obligation to make sure the thing being played is of good quality, regardless.
As to who gets hired, that's more a matter of networking than musical talent.
I've heard this sentiment before and I always wonder whether it has been given enough thought or whether it's really true for you and the people you know. I mean, me and me friends have left more than one party because we'd rather stroll around the neighbourhood than endure the music the DJ was playing. Admittedly that happened more when not using drugs but it's not like drugs suddenly just make you accept anything. Not even MDMA, which is the one which has plenty of potential in that direction.
That very much depends on the club.
Trance/dance music, sure. I guess acid is a subgenre?
I reckon in a club situation you would play the patterns for longer which would make it less notable. I do think it is quite impressive work, but overall it still sounds to too much just like switching between patterns without any bigger “musical arc” (not sure what the correct terminology I’m looking for is) in mind. But to be fair that is what a whole lot of peoples calling themselves producers sound like as well.
THere is a clock dial for bpm... does that solve your issue?
It's a cool project and concept, but people in the know would notice.
I'm expecting it to switch an established pattern up (more than it does) on the third repeat, just as I get used to it, and to have fractal-like layers of patterns, which I didn't observe.
EDIT: For those sharing the nostalgia, it turns out that the composer of the soundtrack, Cold Storage, remastered it and put it up on streaming services. It's a two part EP called SlipStream.
I'd be surprised if there is a single person from the 90s/00s era who listened to electronic music who didn't know of Sasha.
https://en.wikipedia.org/wiki/List_of_awards_and_nominations...
Also on Tune In, Alexa etc.
Please do not go to any raves during this pandemic.
This anxiety inducing song by Evol basically switches between samples of different acid tracks every other beat, serves as a nice primer for how you can vary it lol
And here’s an example of a cross over into electro-pop-driven house music, Peggy Gou’s remix of Shakedown:
Ishkur’s guide to electronic music has a good rundown of the genre and related stuff:
https://music.ishkur.com/?query=Acid#
(Though I prefer the old school Flash UI over this new one tbh lol)
303 different tracks in 13:47
Link to full mixtape https://soundcloud.com/ideal-recordings/ideal-mixtape-eleven...
This is a good algorithmic approximation of the quality of 50-80% of sub-professional acid techno live sets. It's a great minimum bar for "should you be performing live": you should at least be more interesting than this webpage of random patterns and sweeps.
To be honest, I'm going to leave this playing a lot. This is an extremely representative sample of a very specific minimal style, one I love a lot.
{Astral Matrix - Elastic}
Add other types of sound (house, trance, etc.) and I will gladly pay a monthly fee to access it
http://di.fm stream many flavours of electronic music, and DJ sets, I've been a paying customer on and off for over a decade.
Also check out http://soma.fm
100%
edit: You can't actually hide the window in Safari, as it goes to like 10 BPM. Is it a power saving feature or what?
And here we are today, the same thing is running in my browser and taking 2% CPU.
Wasted so much time on reason.
I eventually ended up reading the manual and getting the hang of it. My friend turned me on to it, and he had it mastered. He produced house music and frequently toured the world with Mark Farina back in the day.
They went the subscription route though (if you look hard enough at the website you can still buy the software).
I love acid music, such a simple formula with infinite variation. There's something so delicious about the wobble of a 303 bassline.
I just want to mention Tin Man for those who are interested in acid. He writes, mostly, quite palatable (often mournful) tunes at house music tempo, but he has a good range and goes full banger at times. A real wizard with a heart for the genre.
https://www.youtube.com/watch?v=hpEDpgCbCPg
https://www.youtube.com/watch?v=COTZGbcS5BQ
Also. Rashad Becker masters most of the Dozzy's and Tin Man works. Very betufiful mastering work: so mellow, so clear and spacious. Take a listen of Donato Dozzy - K album on a good system, you'll hear so many details and beautiful spatial placement.
> This version of Jasmine by Jai Paul is created using the BRONZE AI engine. On each listen, Bronze performs a unique and infinite playback of the piece.
Bronze is a new technology that allows music creators to utilise AI and machine learning as creative tools for composition and arrangement. Bronze is also an audio file format which will revolutionise music playback, enabling artists to release non-static, generative and augmented music.
https://consequence.net/2013/04/report-jai-pauls-album-leake...
Want new episodes of Seinfeld? Just feed the existing episodes to an AI and ask it to make new ones. Beatles songs? Ditto. Spotify can look at your playlists and not only recommend tracks that you might like, but actually create some artificially. Post-cultural-scarcity.
Of course by then we might already have reached the Singularity so it'll be a minor aspect of a gigantic revolution.
To auto-generate Seinfeld or Beatles... you have to be able to create as well as Seinfeld or the Beatles. Try it sometime. When you make a billion dollars and change popular culture, answer this post and I'll eat crow.
Then you need to be able to do what no one else in history has been able to do, which is bottle that skill.
Dude, most of us can't even figure out what kind of nails we'd use to use for exterior siding on a chicken coop.
Sure, we're still a long way away, but progress has been exponential. It'll probably take decades but I suspect that we may see something like that in our lifetimes.
[1]: https://github.com/vitling/acid-banger/blob/main/src/pattern...
I wish I understood the WebAudio API better to get a better handle on how the instruments are created.
1. The whole thing is done in 1000 lines of code after unobfuscation (including 808 and 303 emulation, sequencer, random generation, UI) - technically it's quite impressive.
2. Part of why it makes such good patterns seems to be reliance on octaves. The patterns usually contain at least 50% or more of the same note repeated, across one or more octaves, and coinciding with rhythmic beats. Even when the notegen set is just F2, F2, F3, F4, G#4 (mostly all the same note) it's quite listenable.
But, what are the rights around using this algorithmically generated music? Is it free use? Who owns the copyright
It reminds me of a project done some years ago, some people generated millions (billions?) of melodies as a means of trolling copyright claims.
This comment here sums up how bonkers the pandemic is and what effect it's having on people: that was reported in February of last year!
https://www.independent.co.uk/life-style/gadgets-and-tech/ne...
Kidding aside: i agree. Also live manipulation of the patterns by clicking to add/subtract notes/drums would be cool.
All it does is play a sample of a metal door squeaking open, apply a lowpass, and add ambient chatter of the back alley smokers.
The top level site vitling.xyz has a large set of complete executed concepts like this. Unbelievably cool.
And now you truly can get fresh acid anytime, anywhere! Absolutely amazing project. This is actually like... 75% passable, and better than most entry level stuff I've heard.
I've wanted this to exist for like 15 years. Tried my hand at it with Reason back in like, 2012, got kinda there with RPG-8, Jupiter and way too much automation, but it was just way too limiting of a medium back then. This makes me want to take another stab at it.
Some minor suggestions:
- on mobile: Not sure which interfaces are clickable but nonresponsive, vs not clickable at all. E.g. BPM knob didn't do anything for me on mobile, but worked fine on desktop
- I realize this might be hard for browser, maybe with a node/electron app, but MIDI out would be dope.
- Distortion module
- A simple mix-out EQ would be nice.
- Constraints to make sure one osc is always on a bass part
- third osc? :)
- What would really sell it is some lead-in before a pattern change. E.g. When the cycler starts to flash red (especially when they are all about change), occasionally toss in some snare fills/crescendos
If you had a sample board, you could easily convince someone this was made by a human. Maybe inexperienced, but still very much human.
I never listened to this style of music before. I honestly do not really like it. BUT: Listening to this music makes me focuse very hard on my work. I love it!
https://gomakethings.com/the-delay-on-settimeout-and-setinte...
The system usage on this is well-designed. I'm using an ASUS F201E Notebook with Debian 10 and the CPU throttled down to 790Mhz (just a bit less than 0.8GHz) to save battery while I'm out on coding field trips, with CPU usage registering around 20%. Very nice.
After listening to this for an hour, it does well with the minimalist resources it's given. Just like what people do on the Pico-8, limitations start becoming an attractive feature. And you can do a lot with 16 bars. A good example is "Army of Me" by Björk - it only uses 8 bars for its backing track but the constant tweaking of filters make it sound a lot more.
This is starting to get in to www.Pouet.net material. Seriously, you should submit it as a demo. It's not just the coding they're after in demos but also creativity. The votes on HN say it all.
I have actually been working all morning now with this as my background music. It is great.
The "909" section only has 4 sounds with some (4?) different velocity (think loudness) levels. The real thing had 26 knobs to adjust the 10 different individual outputs (plus L/R) of 11ish sounds (ride and crash cymbals are on separate outs, but open/closed high hats are on one out). The "303" has 4 knobs but the real thing has 6 and the delay would be from some sort of external effects, so really it's missing 3 controls (tuning, env mod, and accent).
The note color seems to indicate accents and slides (the yellow and purple), but I'm still having trouble hearing which is which and it's not really doing a great job of getting to the level of resonance and distortion that happens with the real thing. It's nice that delay has been added as an effect on both "303"s and the overall mix, but there are so many classic acid tracks which relied on some sort of distortion either through external effects or various mods.
The whole issue of 303 emulators is a huge rabbit hole in and of itself. [1] The history of the 303 and its various uses can also go on for hours [2]
[1] https://djmag.com/longreads/8-best-tb-303-clones-according-a...
This reminds me a lot of the algorithm that drives the Korg KARMA workstation. I often found myself letting it run like this to see where it decided to go. The settings were changed by knobs but there was often slight drift and changes...as well as a lot of 1/256 measures.
The KARMA architecture moved on to the Korg M3 and OASYS (IIRC) and is very interesting. There are some good videos on the topic and Stephen Kay I have found to be very approachable in the forums (albeit a decade ago).
There was even software to make your computer "double" what the KARMA was doing so you could expand to even more channels/instruments...days like this, I miss my synth.
edit: KARMA= Kay Algorithmic Realtime Music Architecture and it was a variant of the Korg Triton system.
On the other hand, acid techno seems to be minimalist by design, I love it. If I can create it programmatically even better. Mixing automation with some human interaction seems to be the best of both worlds. I'm in love with this and feeling like creating my own acid techno production tool, with a mix of automation and interaction.
It brings back so much from when I used to use the MC-505 while listening to Delerium Spheres 1 and 2.
I'd write more but I gotta go. Just had to say awesome and thanks for sharing.
Feature request: be able to save a generated track either offline or in the web such that I can go back and listen to it again.
Check this video from Adam Neely: https://www.youtube.com/watch?v=sfXn_ecH5Rw
For me this is under Chromium v89.0.4389.90 as well as FF 87.0 (64-bit)
Is there a way to find out a bit more about the UI and what the different options are? It looks very foreign and I'm just randomly clicking on things.
Awesome. Thanks. Bookmarked.