schrum2 / MM-NEATv2

MM-NEAT version 2.0 is no longer supported. Please get MM-NEAT 3+ from https://github.com/schrum2/MM-NEAT
Other
11 stars 5 forks source link

Enhanced Sound Remixer #435

Open schrum2 opened 7 years ago

schrum2 commented 7 years ago

We want to find a way for the sound remixer to stretch and distort the input sounds. Most of our brainstorming revolved around having an additional CPPN output that affects how the sounds are generated. Here are some possibilities we considered:

Duration output: For each set of inputs (t, sin(t), and original sound amplitude) output an amplitude and a duration. In the output amplitude wave, the amplitude for input t would play for a sustained duration of time before the next value of t was sampled. Note that if you try this approach, it might make sense to greatly reduce the sample rate that t is being divided by.

Frequency output: The sin(t) input is technically sin(2pif*t/rate) where f is the frequency. It might change things up a bit to have a frequency output for the CPPN. In this approach, we could start with a default frequency f0. Using this frequency, we would generate inputs for time t0, resulting in an amplitude output a0 and a frequency output f1. The reason the output is f1 is that the frequency output value would be the value multiplied inside the sin input for the next time t1.

Note that both of these approaches will require appropriate/clever scaling of input/output values to make sense.

If you have any other interesting ideas, then post them in this GitHub issue.