Answers.Body: <p>You have to define a function between voice and a corresponding sound, but there is no a best way to do it, it depends on what kind od output you care, for example you could create an algorithm that receives music and siging as separate "files" and then that algorithm finds the relation between them now you can give that algorithm a new music only file and it will create the singing part with the function of the previous music-singing "system".
  This is sing this music as the other one was sang.</p>
  
  <p>At least that is the way i would do it.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-07-20T22:12:14.237Z
Answers.Text: I don’t believe your answer is the correct answer subjectively nor objectively, but it sure has an interesting concept and a step in the right direction. +1
Answers.UserDisplayName: vaid
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-07-20T21:12:52.253Z
Answers.LastActivityDate: 2018-07-20T21:12:52.253Z
Answers.UserDisplayName: Fuel
Body: <p>I have heard and read about HyperGAN, LSTM and a few other techniques, but I have a hard time piecing the overall concept together.</p>
  
  <p><strong>End Goal</strong></p>
  
  <p>Being able to input an instrumental and get an output of how to sing to that instrumental.</p>
  
  <p><strong>My Dataset</strong></p>
  
  <p>I have extracted pitch points from thousands of actual acapellas from real songs.</p>
  
  <p><strong>My Theory</strong></p>
  
  <p>Feed the AI a pitch point PLUS say 19 thousand points of the original song instrumental.</p>
  
  <p><strong>Illustration</strong></p>
  
  <p><a href="https://i.sstatic.net/s7rJ0.jpg" rel="nofollow noreferrer"><img src="https://i.sstatic.net/s7rJ0.jpg" alt="enter image description here"></a></p>
  
  <p>The red line (on top) is the pitch viewed vertically (lower pitch down, higher pitch up) of the voice sung by the singer over time viewed horizontally.</p>
  
  <p>The bottom image is the song's frequency viewed vertically (lower freq down, higher freq up) viewed horizontally over time.</p>
  
  <p>We take a point in time of the instrumental, say 0 minutes 30 seconds, and extract 19k points of the FFT spectrum vertically and call this a frame.</p>
  
  <p>We also take the same point in time of the voice pitch, and also refer to this as a frame.</p>
  
  <p>So now we have a frame which contains 20 thousand data points, one being the pitch of the voice, and the rest being the frequencies of the songs content.</p>
  
  <p><strong>QUESTION</strong></p>
  
  <p>What kind of model could be used to teach the AI the correlation of the voice and the instrumental?</p>
  
  <p>And also, I have a hard time understand how, once the AI is trained, how could just an instrumental be fed to the AI to output pitch values of how one COULD sing along to the song.</p>
  
  <p>Like, training we need to input 20 thousand values, but when we want the AI to sing for us using just an instrumental, would it not still expect voice pitch input?
  At what layer would the instrumental be tapped into? At the outer most right layer?</p>
  
  <p><strong>EDIT</strong></p>
  
  <p>My mind has been working on this in the background throughout the day,
  and I am wondering if instead of feeding 19k points of instrumental data each frame (which would be points from the frequency domain), one could just feed the instrumental frame points (which would be points from the time domain).</p>
  
  <p><em>Maybe</em> that would be better, but then maybe the AI would get less "resolution" to work with, but could be trained faster (less computing power needed).</p>
  
  <p>Let's say the frequency domain is fed (higher resolution), the AI could potentially find correlations from low notes, mid notes and high notes, in any combination (more computing power needed).</p>
  
Tags: <machine-learning><reinforcement-learning><long-short-term-memory>
Title: What would be the best approach to teach an AI to learn how to "sing" along a beat?
UserDisplayName: vaid
ThreadText: # What would be the best approach to teach an AI to learn how to "sing" along a beat?
  
  (Asked by: username_0 on 2018-07-19)
  
  I have heard and read about HyperGAN, LSTM and a few other techniques, but I have a hard time piecing the overall concept together.
  
  **End Goal**
  
  Being able to input an instrumental and get an output of how to sing to that instrumental.
  
  **My Dataset**
  
  I have extracted pitch points from thousands of actual acapellas from real songs.
  
  **My Theory**
  
  Feed the AI a pitch point PLUS say 19 thousand points of the original song instrumental.
  
  **Illustration**
  
  [![enter image description here](https://i.sstatic.net/s7rJ0.jpg)](https://i.sstatic.net/s7rJ0.jpg)
  
  The red line (on top) is the pitch viewed vertically (lower pitch down, higher pitch up) of the voice sung by the singer over time viewed horizontally.
  
  The bottom image is the song's frequency viewed vertically (lower freq down, higher freq up) viewed horizontally over time.
  
  We take a point in time of the instrumental, say 0 minutes 30 seconds, and extract 19k points of the FFT spectrum vertically and call this a frame.
  
  We also take the same point in time of the voice pitch, and also refer to this as a frame.
  
  So now we have a frame which contains 20 thousand data points, one being the pitch of the voice, and the rest being the frequencies of the songs content.
  
  **QUESTION**
  
  What kind of model could be used to teach the AI the correlation of the voice and the instrumental?
  
  And also, I have a hard time understand how, once the AI is trained, how could just an instrumental be fed to the AI to output pitch values of how one COULD sing along to the song.
  
  Like, training we need to input 20 thousand values, but when we want the AI to sing for us using just an instrumental, would it not still expect voice pitch input?
  At what layer would the instrumental be tapped into? At the outer most right layer?
  
  **EDIT**
  
  My mind has been working on this in the background throughout the day,
  and I am wondering if instead of feeding 19k points of instrumental data each frame (which would be points from the frequency domain), one could just feed the instrumental frame points (which would be points from the time domain).
  
  *Maybe* that would be better, but then maybe the AI would get less "resolution" to work with, but could be trained faster (less computing power needed).
  
  Let's say the frequency domain is fed (higher resolution), the AI could potentially find correlations from low notes, mid notes and high notes, in any combination (more computing power needed).
  
  **Tags:** machine-learning, reinforcement-learning, long-short-term-memory
  
  ---
  
  ## 1 answers
  
  ### Answer by username_1 on 2018-07-20. Score: 1
  
  You have to define a function between voice and a corresponding sound, but there is no a best way to do it, it depends on what kind od output you care, for example you could create an algorithm that receives music and siging as separate "files" and then that algorithm finds the relation between them now you can give that algorithm a new music only file and it will create the singing part with the function of the previous music-singing "system".
  This is sing this music as the other one was sang.
  
  At least that is the way i would do it.
  
  > **Comments:**
  > **username_0**: I don’t believe your answer is the correct answer subjectively nor objectively, but it sure has an interesting concept and a step in the right direction. +1  
  
  ---
  
  