The Quest for Good

DSP, Plugin and Host development discussion.
RELATED
PRODUCTS

Post

This is my dream.

I'm interested in this field for one reason, I see people sharing their hearts and healing through music. Through music I wish to express my compassion and affections to everyone.

You find yourself alone in the park, listening to your headphones. You find a new application listed on the app store that allows you to musically connect to everyone else. Out of impatient curiosity, you download the free app and load it up. Immediately, music starts to fade in slowly, but no idea where it is coming from. Was this prerecorded? Sounds beautiful. You notice there is an X/Y pad on your phone. You press it and hear a sound. You let go, and before long you hear the exact sound again, it's looping! You see you can even adjust a length of the loop a bit. Around the x/y is a circle around the pad, your press it and, the instrument changes into another (waveform). You notice it flows with the background music perfectly... and the music starts to change!!! As if the music adapted and responded to your sound!! You start pressing the x/y pad more and hear more notes when you press down with your finger. Now you are really getting into the groove with all the others who have the same application online, live.

You find you also have the ability to let others listen passively to what you are creating live, you have a dedicated url stream for your account that you give to your friends if they wish to be a passive audience.

You find out there is a DAW plugin as well for this.. and you wonder, how is that possible? You find there is an AU and a VST available. You download and install... it's exactly the SAME!? But what about the tempo of my DAW? What about synchronization? So you change the BPM, and the loop slows down for you, but sounds the same. So you stop and start again, it's still going, as if start time and speed has no affect. You also find it has a MIDI out, and can send notes. So you hook up Diva 2, Dune 3, and Sylenth 2 and have a listen. You hook up the latest analog DSProphet, beautiful. Independent of bpm and start time, and always sounds great.

You run out and get on the train, you are going to go jamming at your friend's house, and plan to show this new awesome application. Still jamming live on the train, you notice someone else with headphones, oddly they seem to be reacting similarly to you.. and when you press certain notes, they seem to smile. The person notices you, you notice them, and notice that you keep smiling. :-)

** PPQ loops of user input, sent the server and other clients, no time sync, it's a loop, you will hear it on the next pass anyways.
** Time independant, every user has 3 ppq user input loops (for timbre, on/off, pitch, filter/volume)
** Each user can set the length of their own loop (to a rational extent)
** It's just playing PPQ loops and interpreting the data, speed and start time become more irrelevant to the experience, from the user's point of view, it's always on time (too much abstraction for the user to see past).

Step One - Market Intergration - get into the market - (presets, reviews/tips)
Step Two - Parts of a Synth - integrated synth can be simple, not my style though..
- Synth - High-resolution oscillators, Convolution-based filter and delay/reverb type effects by synthesizing impulse responses similar in fashion to oscillator waveform generation (I will have to clean this description up later)
Step Three - Online PPQ Looper - Update as available, send all loop data, receive all loop data, loop updates are retrolinear for maximum smooth updates (it's all decimals after)
Step Four - Neural Network Modulation - Give a bot a instrument, with the objective function to maximize user input activity (keep things moving)
Step Five - Expansion - Bring people together with the joy of expressing their heart without limitation!

I'm not in it for the money, I'm in it for positive results. To see you smile, to see everyone happier because they could say what they deeply really wanted to, and bring people together with their own hearts. All help is welcome in this direction, and help will be given to all that move in this direction. :-)

https://www.youtube.com/watch?v=JZ6ZzJeWgpY
1.jpg
SLH - Yes, I am a woman, deal with it.

Post

I'll just ramble a little.

In the good old days when I was young, Commodore Amiga was the best machine and sound trackers were popular.
These happen to be the last time I had managed to make some music with a computer, because the concept was simple, and I have always been more of a programmer than a musician, I guess that's why it worked.

I couldn't see how the X/Y pad on a phone or tablet could be used to achieve something similar, but - I guess what you have in mind is something entirely different. I'm aware that such pads are a part of synth controllers but like everything about electronic music I'm not particularly enthusiastic about them either.

What was right about trackers was that they were programmable. It's just a piano roll and simple.
What's wrong with them is that you cannot programmatically specify a structure; copy-paste is the only way to express patterns and variations of them. Another problem is that programming by its nature has no connection to "the moment" and its feeling, it's quite unlike playing an instrument and is a lot less enjoyable for that reason. The only way to achieve such a connection and still be able to create something that resembles a complete tune is to improvise on the piano - that's a skill that takes a lot of time to gain and not very practical for that reason. As a consequence, trying to compose something with a tracker requires a lot of repetitive listening, and that turns out to be boring.

A lot has changed since then but that simple-to-see programming structure is either obscured in modern DAWs or they do not support it at all - they are more like tools for musicians than being tools for programmers. Playing a single instrument is one thing, recording what a band would play together alone by recording each track separately is quite a different one. It requires planning - you can have a plan only if you already have a finished composition. As for electronic music, I have no clue - I guess they find something interesting in the loops that loop forever - something I fail to see where the fun factor might be. (OK, one can add a moduletable filter to that loop and create some interesting sounds...it's not hard to see why VA filters are so popular.) It's true that the music that was made with trackers were similar in nature, but you could do different things with them, although it required effort.

Old school trackers still exist of course, but they are still trackers and they don't improve upon the idea. Perhaps any improvement would obscure the simplicity.
~stratum~

Post

TL;DR !


Anyway, you are aware what happens if you let "the masses" control one piece of art/work? I can't find it now, but I saw this vid where thousands tried to control a gameboy game by democracy. The action hero could not move three steps forward (the obvious direction to go) without sabotagers moving it back.

People are so weird online ...

Anyway, yoo start with making a Minimal Viable Product and iteratively add functionality.

Good luck!
We are the KVR collective. Resistance is futile. You will be assimilated. Image
My MusicCalc is served over https!!

Post

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

Post

If syncing turns out to be a problem you can buffer a complete bar and may still have something acceptable.

p.s. old shamanic tribes were doing what you have described back in the time. it's probably true that they were more spiritual than todays culture. apparently people living your home country have rediscovered that. :wink:
~stratum~

Post

stratum wrote:If syncing turns out to be a problem you can buffer a complete bar and may still have something acceptable.

p.s. old shamanic tribes were doing what you have described back in the time. it's probably true that they were more spiritual than todays culture. apparently people living your home country have rediscovered that. :wink:
This is a spiritual application, it is intended solely to heal the community. This is a pit stop to the future, communication will evolve and become even tighter.. words sometimes just get in the way of expressing what we truly wish and never have the words for.

I think this old prototype code was an FL plug.. but it uses JUCE too. I can write flawless pseudo code all day, but having the time for cross-referencing functions and apis can eat a lot of time, and I've dealt with so many ;languages/libraries/apis/sdks/ddks, I take no point in remember except the most common apis.

I would love to bring forth a challenge like the nada challenge, but I have no idea how to challenge people in that fashion.
Last edited by Vertion on Sat Jun 08, 2019 9:58 am, edited 1 time in total.
SLH - Yes, I am a woman, deal with it.

Post

This kind of app needs peer to peer communication via UDP to reduce latency. Most PCs are behind a firewall hosted by an ADSL modem, they don't have an IP address on the network unless the modem is configured to forward data. For smartphones, probably not a problem. Even then, chances are high it would be necessary to buffer one bar of midi data and tempo either needs to be specified or be detected in some way. I don't know about US, but the supposedly "3G" networks (opps they have started calling it 4.5G on paper) are not blinding fast here, so I cannot judge its feasibility.
~stratum~

Post

Lets google it:)

https://www.quora.com/Is-there-any-way- ... technology

Looks like the situation is a bit complicated..
~stratum~

Post

stratum wrote:Lets google it:)

https://www.quora.com/Is-there-any-way- ... technology

Looks like the situation is a bit complicated..
hmm....
I see how peer to peer is useful and fast, how would it contrast with server client for this situation? If I do client/server and am willing to sacrifice more time, I could use HTTP polling... perhaps that's a bit old school... but I am old school.. nintendo 8-bit old school, not punch-card old school.
SLH - Yes, I am a woman, deal with it.

Post

TCP adds considerable delay because it makes sure that the data packets you receive is correct, not duplicated, lost, etc.

What you would do in a local network is to use UDP multicast because it not only avoids the overload introduced by TCP but also sends data packets to all subscribers on the same network, therefore you do not need to send each packet to every peer (the network infrastructure someknow knows which machines are interested on the packets that you send, it's not the same as broadcasting, but I haven't looked at the details, but the packets are still delivered to the all interested peers without the network physically sending them more than once)

Having that fail (will fail on a wide area network, unless you own that network and can configure it), the next best thing you could use is to use peer to peer UDP. The disadvantage is that you are sending each packet to each peer, increasing network traffic, but that's the best you can do on a wide area network. In theory you could do better, some day: http://www.kecl.ntt.co.jp/people/tani.s ... APSITT.pdf You can find many such papers, some even talk about 3G networks http://www.academia.edu/21492355/Multic ... G_networks but I wouldn't hold my breath.

Having that also fail, anything goes, that network is not really suitable for the app you are making, but if it is fast, it may work.

I don't have any experience with mobile networks, so I cannot say what choices are realistically available.
~stratum~

Post

stratum wrote:TCP adds considerable delay because it makes sure that the data packets you receive is correct, not duplicated, lost, etc.

What you would do in a local network is to use UDP multicast because it not only avoids the overload introduced by TCP but also sends data packets to all subscribers on the same network, therefore you do not need to send each packet to every peer (the network infrastructure someknow knows which machines are interested on the packets that you send, it's not the same as broadcasting, but I haven't looked at the details, but the packets are still delivered to the all interested peers without the network physically sending them more than once)

Having that fail (will fail on a wide area network, unless you own that network and can configure it), the next best thing you could use is to use peer to peer UDP. The disadvantage is that you are sending each packet to each peer, increasing network traffic, but that's the best you can do on a wide area network. In theory you could do better, some day: http://www.kecl.ntt.co.jp/people/tani.s ... APSITT.pdf You can find many such papers, some even talk about 3G networks http://www.academia.edu/21492355/Multic ... G_networks but I wouldn't hold my breath.

Having that also fail, anything goes, that network is not really suitable for the app you are making, but if it is fast, it may work.

I don't have any experience with mobile networks, so I cannot say what choices are realistically available.

I was also looking at the possibility of using the web audio api to accomplish this as well, that way anyone with a browser can jump aboard.. in fact.. i think I will start there and expand outwards.. that way it starts online and moves towards mobile, plugins and advanced synthesis.. thoughts on this direction?
SLH - Yes, I am a woman, deal with it.

Post

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

Post

This is mandatory reading:

http://sudoscript.com/reddit-place/
We are the KVR collective. Resistance is futile. You will be assimilated. Image
My MusicCalc is served over https!!

Post

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

Post

So... did you learn something from that in respect to your own future project? Is creating music simular enough to painting pixels?
We are the KVR collective. Resistance is futile. You will be assimilated. Image
My MusicCalc is served over https!!

Post Reply

Return to “DSP and Plugin Development”