Hi! First of all, a warning. I am trying to understand this stuff for fun and without sufficient background to understand serious textbooks, so stupid questions ahead. I basically know what I know by reading and trying to understand random threads on this subreddit.
Say I have an audio effect and I don't know how it works. It is a function of the current input sample and possibly older input samples (a simple example would be a soft clipper, which maps any input sample to the range [-1, 1] and depends only on the current input sample, and a complex one may be "playing a sound trough my speakers and recording it with a cheap microphone from under the desk", which will depend on a lot of old input samples).
I was thinking of generating a very long audio signal, which contains a lot of different audio material (music, drums, vocals, noise, sinusoids, and so on), and passing it trough the effect to produce the output signal. Then I would make a neural network learn this function.
Questions in no particular order.
- Am I just wasting time or does it make some kind of sense to try this? Since I have never really done any machine learning it would be nice to know in advance if it's not working because it cannot work (easily). :p
- What learning algorithm should I use? I think I should use SGD by choosing random points in the audio signals at each iteration.
- What kind of neural network should I use? I am confused a lot on this one. I don't think I understand exactly how a convolutional network works, but If I'm not completely wrong they do not have anything to do with what I'm trying to do and I should use a fully connected MLP.
- Is this feasible for more complex effects, with hundreds of inputs? Is it feasible in real time?
[link][18 comments]