Which plugin idea should I develop?

DSP, Plugin and Host development discussion.
RELATED
PRODUCTS

Post

:hihi:
Last edited by Vertion on Sat Jun 08, 2019 9:40 am, edited 1 time in total.
SLH - Yes, I am a woman, deal with it.

Post

Hrmm. What about a recommendation system for preset and effects combinations? i.e. given a collection of data points (presets/effects/ratings by the user), recommend to the user a new combination and have him/her rate it. The objective is to maximize user ratings under an exploration/exploitation paradigm.

Post

just hack them all together asap oc.

i'd like to provoke you into considering something better than penny ante, as per a recent thread in 'site stuff' - make a standalone that makes music for the purpose of entertainment. something meant to be listened to, not interactive, tho maybe parametric.

the idea i'm promoting is that this kind of activity actualises better if accepted as arbitrary - a music generator standalone doesn't have to do all things, just make some kinda music using some kinda method. the more arbitrary it is, the more provocative it is toward the further realisation of the medium.

you sound like you have some foundation in method that would produce a result worth developing.


perhaps similarly,
i don't get the deal with finding things "you might also like" - if you analyse a set of user preferences, *please* extrapolate beyond the boundaries instead of within them. outbreed not teh inbred.
you come and go, you come and go. amitabha neither a follower nor a leader be tagore "where roads are made i lose my way" where there is certainty, consideration is absent.

Post

xoxos, First off let me say you have some excellent freeware plugins, unique and inspirational.. here is a quick riff I made with Fauna

https://soundcloud.com/user-755254643/l ... -your-lady

True, true. :)

I remember you made a few plugins with the right idea... ready to go music in a vst. This is my ultimate goal.. to allow just anyone to get up and make music. I feel that the user must be able to make a contribution to interact with the music though. I divided this up in to 3 input streams as per my experience and watching DM5 at work. Chord Progression, Patterns/Rhythms, Sound/Instrument Selection. I love the kaossilator because it can pull of a good amount of this.

In order to pull this off, the user must be able to access all data quickly.. so how to do this. All possible noises do not make music, so there is a subset of all possible combinations.. I find it easier to look for well-known points/regions to constrain a user into and allow them to maneuver in those spaces or just randomly jump around.

Patterns can be manually entered by a user (audio loopers, midi loops, automation loops) per the users input timing. But I think overall the chord progressions need to come from another source.. it can take hours of fiddling with notes to get a novel and great-feeling chord progression.. so then the challenge has been analyzing 'why' certain intervals feel so good on not-so.. obviously consonance (regular repetition) has to do with it. Finally I was thinking of using the preset navigator to quickly move around to get new sounds from pre-existing known presets/sounds.. thus the person can use some measure of prediction to know how to get a brand new sound in mind, with only a couple of gestures.. and without any thought.. pre-known reference points are a must (known presets).

Patterns can be users entered manually per timing and velocities or from a pattern generator.. which seems to be some form of interacting or iterative loops (looking at axon, otomata, etc). The pattern generator would also have it's own preset navigator, since it's just about setting the input params on the fly (or external controller automation).

The finally goal would be a single app that generates music for anyone to use with a very low learning curve and intuitive interface. I only have my free time to develop it, but so far I have sketched and visualized to see what the experience with the final product would be like. 'uber fun' and 'omg this is awesome' : I think are the words I would use to describe it. However the product you name is a big product to tackle in my free time, especially for my first release.. I'd hate to throw out a real hello world during my hello world. If I could ask questions to an expert in this field as I go ..eh hem.. I might go for the big project up front. :)
SLH - Yes, I am a woman, deal with it.

Post

nonnaci wrote:Hrmm. What about a recommendation system for preset and effects combinations? i.e. given a collection of data points (presets/effects/ratings by the user), recommend to the user a new combination and have him/her rate it. The objective is to maximize user ratings under an exploration/exploitation paradigm.
nonnaci, I love your higher dimensional reverb plugin, very unique, very smart. I would love to come up with more high dimensional algorithm ideas with you.

Your suggestion is certainly possible.. you then interpolate new ratings via the available points and/or create falloff distances for each rating point to make up suggestions.... however.. As we are building high dimensional map into further detail (which as you know is subject to detail and combinatoric explosion as R goes up). It might be best for this solution to put a pragmatic cap on the ranking points set size (before thinking of starting a database).

In this instance I think it might be better to use a smaller set of points to find a more 'accurate' yet simplified map for the contours/regions (a simplified, but overall accurate image). Using a 2D image as an easy frame of reference, it would look like a blurred version of a much sharper image. The ranking points we get are all we know of a more detailed map. I came up with falloff radiuses and interpolation of the ranking values for the solution because it's generally true, but can also be completely wrong. *shrugs* I suppose there exist some attempts at generally increasing low resolution in 1D-4D using known references, but it all becomes a waste of resources requiring preexisting data sets anyway IMO (such algorithms as below).

SLH - Yes, I am a woman, deal with it.

Post

Vertion wrote: Your suggestion is certainly possible.. you then interpolate new ratings via the available points and/or create falloff distances for each rating point to make up suggestions.... however.. As we are building high dimensional map into further detail (which as you know is subject to detail and combinatoric explosion as R goes up). It might be best for this solution to put a pragmatic cap on the ranking points set size (before thinking of starting a database).
It may be possible to leverage data from other users. Consider the netflix challenge of recommending movies to users based on low-dimensional SVD subspaces of genre preference per user. Here instead of films, effects/presets could be uploaded onto a site and then recommended to the user. The trick is to develop what would be the analogy of film genre into a broader conception of the effects/preset feature space (e.g. sci-fi like instrument vs snare drum). Maybe an unsupervised approach + classifier will be necessary here.

Post

xoxos wrote:just hack them all together asap oc.
Do that. Also, make sure it's not too hard to reuse the code elsewhere. Haven't done much algorithmic composition myself (except a simple hack that tried to generate random ghost notes for a MIDI snare drum), but I have a hunch that e.g. the chord progression generator and loop pitcher might open up some interesting possibilities when combined. :)

Post

I was recently challenged to make an algorithmic composition Twitter bot -- since Twitter only does video embeds up to 30 seconds, I was freed from having to work on large-scale composition structure, which made the problem a lot more tractable. Ironically, I now think I know how I want to do the large-scale composition, but that will have to wait til I have some more free time.

The bot is spitting out a piece every two hours here: https://twitter.com/tediousneobrain
Image
Don't do it my way.

Post

Borogove wrote:I was recently challenged to make an algorithmic composition Twitter bot -- since Twitter only does video embeds up to 30 seconds, I was freed from having to work on large-scale composition structure, which made the problem a lot more tractable. Ironically, I now think I know how I want to do the large-scale composition, but that will have to wait til I have some more free time.

The bot is spitting out a piece every two hours here: https://twitter.com/tediousneobrain
I love it! Following you now. :)
Incomplete list of my gear: 1/8" audio input jack.

Post

nonnaci wrote: It may be possible to leverage data from other users. Consider the netflix challenge of recommending movies to users based on low-dimensional SVD subspaces of genre preference per user. Here instead of films, effects/presets could be uploaded onto a site and then recommended to the user. The trick is to develop what would be the analogy of film genre into a broader conception of the effects/preset feature space (e.g. sci-fi like instrument vs snare drum). Maybe an unsupervised approach + classifier will be necessary here.
Fred likes scary movies and hates romance comedies. Jill loves romance comedies and hates scary movies. Recommendations like this work if the preference 'mapping' are similar. Fred's mapping looks like an orange, Jill looks like a monkey... typo.. I mean Jill's mapping looks like a monkey. The contrast means that there would be regions of conflicting preferences from that point of view.

However, you can potentially solve this by keeping relationship between users based on the similarity of their preferences (mappings), and say.. keep the 20 closest ones handy for lookup. I wouldn't want to look up a huge database with millions of users all of the time for each recommendation, given practical resources. One idea is to keep a quantitative representation (group) of users .. place into categories.. say use a Kohonen map or something simple like that (vector quantization) in an effort to quickly match a user up to another with similar preferences. There are a lot of potential algorithms to use for this, take your pick (NFL theorem). Anyhow, one could store this quantitized vector in the db along with the users record for much faster cross-reference/lookups to similar mappings.
SLH - Yes, I am a woman, deal with it.

Post

Borogove wrote:I was recently challenged to make an algorithmic composition Twitter bot -- since Twitter only does video embeds up to 30 seconds, I was freed from having to work on large-scale composition structure, which made the problem a lot more tractable. Ironically, I now think I know how I want to do the large-scale composition, but that will have to wait til I have some more free time.

The bot is spitting out a piece every two hours here: https://twitter.com/tediousneobrain
Wonderful idea! That would be a fun project indeed. Possible addition: If the parametric space that drives the generation looks friendly, it might be possible to use an idea like preset navigation to stay with the 'good' music and avoid the 'not so good' music (individual preference as above).. although subjective, I wouldn't want to experience every possible song I don't like to get to a good one.

Allowing the users to interact and quickly find something to put them in a great mood can be a major contribution to everyone's life experiences.. it can potentially help heal the sick ..it can cause Bill and Ted to bring harmony to the entire universe.. and the sensation of 'creating music' is a feeling makes the process of listening to the result all that more enjoyable.
SLH - Yes, I am a woman, deal with it.

Post

Vertion wrote: Fred likes scary movies and hates romance comedies. Jill loves romance comedies and hates scary movies. Recommendations like this work if the preference 'mapping' are similar. Fred's mapping looks like an orange, Jill looks like a monkey... typo.. I mean Jill's mapping looks like a monkey. The contrast means that there would be regions of conflicting preferences from that point of view.
Use soft-margins or assume there are latent variables that you can marginalize over during inference.
However, you can potentially solve this by keeping relationship between users based on the similarity of their preferences (mappings), and say.. keep the 20 closest ones handy for lookup. I wouldn't want to look up a huge database with millions of users all of the time for each recommendation, given practical resources. One idea is to keep a quantitative representation (group) of users .. place into categories.. say use a Kohonen map or something simple like that (vector quantization) in an effort to quickly match a user up to another with similar preferences. There are a lot of potential algorithms to use for this, take your pick (NFL theorem). Anyhow, one could store this quantitized vector in the db along with the users record for much faster cross-reference/lookups to similar mappings.
Yep, or do some clustering ontop of user preferences if sample size is large and feature space isn't too high dimensional (maybe do exploratory factor analysis to shrink feature space).

Post

nonnaci wrote: Yep, or do some clustering ontop of user preferences if sample size is large and feature space isn't too high dimensional (maybe do exploratory factor analysis to shrink feature space).
I'm all about lossy compression and shrinking feature space, especially if she's wearing high heels. :D However, the database would have to have been used for a while to really get a generally complete picture (feature space) of all user types and preferences before shedding any info for the sake of optimization. (Need to take the picture before compressing it.)
SLH - Yes, I am a woman, deal with it.

Post

I'm not sure if preset interpolation is a good idea. Many presets are based on sweet spots and lose their properties with differnet settings. Other presets are very creative and don't sit inbetween any other, as outlayers.
Blog ------------- YouTube channel
Tricky-Loops wrote: (...)someone like Armin van Buuren who claims to make a track in half an hour and all his songs sound somewhat boring(...)

Post

DJ Warmonger wrote:I'm not sure if preset interpolation is a good idea. Many presets are based on sweet spots and lose their properties with differnet settings. Other presets are very creative and don't sit inbetween any other, as outlayers.
That's often true. Ever played the game Battleship? That's what sampling is about, there is no way to know what a more detailed look of 'preset space' looks like without actually creating it the hard way, or some kind of prior experience/data, or some way to deduce it. We are stuck with the classic methods of guess work, trial and error, until a more complete picture is created. This is an everyday issue in the realm of optimization algorithms. Try search spaces that are completely random..oh how fun.. what if you were mapping out a googolplex dimensional hypercube of perlin noise with infinite octaves (subdiv technique), without having any access to it's method of generation. (Let's assume the randomness came from another universe). Or simply put, a very big picture of static noise that you have to inquire each pixel to see, very slowly.

Hopefully these mappings can be reconstructed with some set of continuous functions, thats really what we've got to keep our sanity.
SLH - Yes, I am a woman, deal with it.

Post Reply

Return to “DSP and Plugin Development”