People who are interested in this application should check synplant[0]. It has a ML technology called "Genopatch" which gives you 2 functionality:
1. you can try to describe a sound with some tags and it will try to generate a sound to capture the feeling of these tags
2.you can feed it with a sound sample and it will try to re-synthesize the sound with its synth engine. Though the end result will usually be just a "re-imagined" version of your input sample.
My guess is the underlying model is not a "deep" model. The main benefit is that the end result is not a wave file, but a list of generated parameters that can be synthesized by the synthplant engine. And now it comes the interesting part: you can tweak these parameters to finetune the generated sound. These parameters have actual meanings (FM ratio, reverb etc.)
How far are we from getting a general model that can resynthesize any instrumental audio sound without fiddling with any knobs, so that we can recreate instruments we hear from any song? Seems like it should exist by now?
For me creating the exact sound is not very interesting from sound designing perspective. You can always sample the real instrument.
Like physical modeling synthesis, the interesting part is to compress the sound to some parameters that you can tweak and generate new sounds
Another approach is VAE, which also you give your some latent embedding, you can tweak the embedding to generate new sound. However the meaning of this embedding is not explicit.
This doesn't really work on instruments like guitars. Open D sounds way different than fretted D on the E string. Timbre changes with position and it's one of the ways I determine where a player's hands are on the neck when I'm trying to play their song.
It doesn't even work for most instruments, nearly every instrument can sound differently depending on how you play it. A violin sounds different depending on how close the bow is to the bridge, a piano sounds different depending on which pedals are pressed and whether the lid is open, a trumpet sounds different depending on whether there is a cup in front of it and where. Experienced musicians know how to use these effects to create the right feeling.
And that's only based on how little I know about this.
That is not something inherent in guitars themselves, it is the norm in steel string guitars and the fan-braced/Spanish guitar but mostly because that is the norm for all those mass produced guitars which make up the bulk of guitars. On steel string you can often greatly decrease this quality just by switching to flatwounds, this is part of the flatwound sound, it shifts the timbrel content into the players technique but if you want much timbrel content with flatwounds you need heavy strings and a high action, and the hand strength and technique that sort of setup requires.
Before the rise of the steel string and the Spanish guitar, guitars tended to be more even across their range and also had less bass which helped even them out, and now that sound is what we are used to. There have always been niches that wanted that more even sound, but for most that just makes it more difficult to play all that music that developed around these quirks, so they remain niches.
I'm not doing fancy AI stuff but I have worked a lot with my own bespoke supercollider system where I record whole fretboards of guitars and then play alternative notes based off of certain rules. For whatever dumb reason though, the most natural sounding thing is really just playing, e.g., any random D4 from its possibilities at any given moment.
Timbral differences also exist depending on force, the manner plucked, the already ringing overtones... It's hard to know what you want, but the most natural thing is always going to be some organic variation in the notes in general.
If you have a good ear, you aren't, I don't think, hearing so much the timbral diff in the individual open or fretted notes as much as the fact that a barre chord and an open chord is a different voicing of the same harmony.
No, I'm going off the timbral differences - same way I identify which pickup position is being used. There's a specific 'thickness' I cue in on to determine pickup and specific note placement.
SUNO is pretty close. It still has some weird things going on with high frequency artifacts and phase between left and right channels but if you aren't listening on a good system (like a phone) most people probably wont notice.
In the early days of FM synthesis it was not uncommon to hear the refrain "FM synthesis can reproduce any sound you can hear on the radio" from some of the wilder-haired synth nerds of the time.
Aphex Twins' MIDI Mutant came pretty close (quite a few years ago now) to delivering on that promise:
I'm pretty sure another pass at this problem would prove quite fruitful - as others have noted elsewhere in this thread, there are tools like SynPlant which promise this kind of functionality, although - for my needs - I much prefer AT's approach, having it all in a single box.
Seems to me that the Zynthian/Monome[1] folks might have something like this in their toolkits, somewhere. Might be time to catch up with those projects...
Slightly off-topic. Now that 1920s jazz music is falling into public domain, has anyone tried to reinvigorate the music using AI and generative adversarial approaches? Pre-1940s music didn't have high-fidelity sound, so the strong bass lines weren't captured. In theory, we could "downgrade" modern recordings to sound like 1920s recordings, then use adversarial techniques to train the machine on how to restore the antique recordings. Anyone know of any work being done in this area?
It might be easier than that. Are the bass lines totally missing or are they just very weak? If you can capture a recording using vintage equipment and the placing of it, you can get the system response. Run the original recordings through an inversion of the response and you should get really close. Another possible method is to find the transform between an identical modern recording of the song and use the difference between the two recordings to make your transform.
The problem might be more complicated. In those times, they might not use a separate mic for every instrument (and the mics probably were not great), they might might not do the mastering properly, the amps could distort the sound, and instruments could overlap each other. And if you try to simply amplify lower frequencies, you might end up getting too much noise.
Neither. You can hear them if you listen carefully, just the recording tech plus lack of amplification makes it harder than modern music.[1]
Source: have degree and postgrad in jazz and used to be a bass player. Have made transcriptions of early bass players from original recordings. (by ear without any kind of fancy tech)
[1] and the playing technique for various reasons.
> Are the bass lines totally missing or are they just very weak?
I think it might be that it's missing a large part of the lower frequencies, not that entire bass sound is missing. And I guess it'd be hard to faith-fully regenerate those, if we simply don't have a lot of samples.
So the idea would be to reconstruct the low frequency components from whatever upper harmonics are left in the recording? If you know the instruments and positioning of the recording device and something of its(the instruments, recorder, environment, etc.) characteristics, it might be possible to solve that using classic methods. There would be huge numbers of parameters, it is an interesting thought. Is there a large easily/freely available corpus of those recordings?
To do this, I think you are right that you would need to 'downgrade' modern recordings to sound old so that you have both sides of the training data covered.
This would be a cool project to work on. Ideally you would buy some vintage gear and then run the audio through both, but that would be very expensive. You could may be find some vst emulations though and get decent results.
I could take my sequencer and crank the tempo up to a level on a Chopin etude that would smoke Yuja Wang too.
Who cares? The performance that is interesting is a human performance under these artistic constraints.
We didn't need transformers for algorithmic jazz or algorithmic composition in general.
It is also the bullshit of algorithmic Bach. Bach produced 1,100 works and most people haven't listened to even 1% of arguably the greatest artist who ever lived. What is the point of generating more?
I have three (and pray I do not come up with any more) needs for AI audio apps.
One, a ubiquitous restoration model. Find degraded copies of music in the wild, old YouTube's, transcodes, vinyl rips, bad masters, half destroyed tapes... Pair them with modern pristine lossless encodes of the same music, train. Then use that model on music we don't have pristine copies of.
The second is similar but more specific. There are so many stems floating around from popular music. My idea is to compare individual stems against the results from MVS/Spleeter(same song, same instrument). This would surely stand a chance of pushing that tech forward, so we can treat the FFT artefact heavy sound of new efforts.
Thirdly, from a creative point of view, I wanna do the equivalent of image to image on my tracks... But I actually want it to hallucinate in the manner of the early deep dream images, I want to be able to play with that space..
I can knock out musak to spek in minutes already, gen music is just reducing low effort to nearly no effort, preventing people with needs from networking with creators.... Uhh.. but I think that's a very general issue with Gen AI away from the corporate/entrepreneurial dev space
I sound design a lot of stuff (in fact I made some of the default kicks in the app), but this is just a different tool, and I wanted some practice training and deploying a generative AI model.
Articles like this are why I come back to HN. Interesting technically, kinda novel and fun. Got me thinking about datasets that may be sitting on old HDD, got TBs of old video and audio from projects of past. Blogs like this help point the way.. Now if only I had the time..
Interesting! I had not seen this. On their website they mention diffusion but not the other models so it might not be identical but its definitely similar.
It reminded me of the (possibly apocryphal) story about Liam Gallagher trashing a hotel room on tour - when asked by a reporter "why? It's been done before." he supposedly replied "yeah, but not by me".
Sometimes the "by me" is the interesting / fun / instructive part.
The compression is the OTT which stands for Over The Top compression. It was originally a multiband compressor preset in ableton and is now used widely throughout dance music.
Did you save any of the "failed" results? I'd love to hear what kind of weird sounds it makes out of distribution (e.g. on the keywords it didn't have much data for).
Not sure if there's something wrong with the player, or if it's just me, but they both sound like noise. I guess the first sounds vaguely kick drum-like (but distorted), the second is just noise.
the spectrograms are 128x173 (128 mel frequency bins by 173 time frames)
the encoder is downsampling 4 stages of stride 2 convolutions so it halves dimensions 4 times
0: 128 x 173
1: 64 x 87
2: 32 x 44
3: 16 x 22
4: 8 x 11
Then i used 4 separate channels.
This was somewhat arbitrary due to the local training constraint. This would be a hyper parameter worth tuning if I had time to dig into this more.
I trained this a few month ago and don't remember exactly what I tried before I arrived here, but I only ran the whole process 2 or 3 times because of how long it took to train.
Hope this answers your question!
I wouldn't exactly say it's trying to solve a problem. It's to explore and see what happens which is what music is all about. It's also a unique niche model I haven't seen before.
Decomposing sounds from (fully produced?) tracks into underlying components, and then giving the user the option to synthesize them with different parameter settings. I think.
I was trying (and failing) to do this the other day. It’s a really interesting problem space and I love to see someone with a more solid foundation give it a try.
There is better software, although it might not meet OP's goal. There's e.g. Melodyine, which can identify (and change) notes from individual instruments in polyphonic passages, and there are also tools to estimate and remove reverb and other forms of processing. Those are based on classical DSP. OP just wanted to use "AI".
If you are committed the model should work about the same on any type of one shot sample. The code is public and documented so if you have the snare collection and a macbook you could probably point claude/chatgpt at it and it would be able to train on your laptop.
This is a really really fun sounding project - ironically, because there are no audio samples provided at all. I would have thought a music producer creating samples for music would naturally let you listen to what they were making.
I always roll my eyes when I see LLM weirdos talk about getting models to run on "old" hardware and finding out it's hardware that's still better than what most people have access to.
It doesn't make it any less impressive to those who know what hardware requirements for LLMs usually is/are but for those with no idea it usually ends up reinforcing bitterness towards it as they feel annoyed that their own hardware is somehow worse and yet are unable to upgrade because of said LLMs stealing all the hardware in the world all while RAM/memory/storage manufacturers manipulate the market(s) against them.
The Geforce GTX 1060 launched 10 years ago with a MSRP of $249. It spend 5 years and 4 months as the #1 card according to the Steam Hardware Survey. That makes it hard to feel that it is fair to accuse it of still being better than what most people have access to, unless you are asserting that most people have access to no GPU at all, which is likely accurate, but not likely to be accurate here, nor in any sort of enthusiast circumstance. If you lump the Intel Xe built in graphics (started with the 11th gen Core Is) and the Intel UHD (launched with 8th gen Core Is) together, the combined group would come in 6th place, with the 5 places above that in commonness for people who are actively playing steam games all being considerably faster than the Geforce GTX 1060 or Geforce GTX 1660 cards.
Interestingly, now the #1 GPU is the GeForce RTX 4060 Mobile version, which I believe is the first time the top has been a laptop chip instead of desktop chip.Items #2 and #3 on the list are the 2 generation old RTX 3060, followed by the 1 generation newer RTX 4060. 4th and 5th are RTX 5070 and RTX 3050.
If you are curious I used a NVIDIA GeForce GTX 1660 SUPER
So to be exact, it came out 7 years ago (I upgraded at some point on this desktop a long time ago and didn't remember the exact year) (I updated the article to reflect this now)
This cost $230 new and you can get one now for $100 which I don't think is too out of reach.
> but for those with no idea it usually ends up reinforcing bitterness towards it as they feel annoyed that their own hardware is somehow worse
I don't think "those with no idea" spend much time thinking about their hardware at all. They respond to marketing and peer-pressure influences, but most of them are not upgrading phones or laptops because they can't run AI on it.
Most people I know have been wanting upgrade cycles to slow down for quite some time, now. I think that those people will survive deferred retail therapy for a few years.
1. you can try to describe a sound with some tags and it will try to generate a sound to capture the feeling of these tags
2.you can feed it with a sound sample and it will try to re-synthesize the sound with its synth engine. Though the end result will usually be just a "re-imagined" version of your input sample.
My guess is the underlying model is not a "deep" model. The main benefit is that the end result is not a wave file, but a list of generated parameters that can be synthesized by the synthplant engine. And now it comes the interesting part: you can tweak these parameters to finetune the generated sound. These parameters have actual meanings (FM ratio, reverb etc.)
[0]: https://soniccharge.com/synplant
reply