IP Library Granted Patent US 7,705,231
Granted Patent B2
US 7,705,231 · App. 11/945,805 · Granted Apr 27, 2010

Automatic accompaniment for vocal melodies

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,705,231
App. No.
11/945,805
Granted
Apr 27, 2010
Kind
B2
Abstract

A method for generating an accompaniment for a recorded audio melody includes providing a recorded audio melody that includes segments; performing a frequency analysis of the recorded audio melody; summing the total duration of each fundamental frequency within a segment of the melody; based on the summing, computing a probability for each possible chord for each segment; based on the computed probabilities, selecting a set of chords for the segments; and outputting the set of chords as an accompaniment for the recorded audio melody. Various other methods, devices, systems, etc. are also disclosed.

Claims (41)

1. A method for generating an accompaniment for a recorded audio melody, the method comprising:

creating individual maior-key and minor-key chord transition matrices comprising learned chord transition probabilities based on each chord in a set of songs;

creating individual maior-key and minor-key melody observation matrices comprising learned note duration probabilities based on each note in each chord in the set of songs;

blending the maior-key and the minor-key chord transition matrices into a resultant chord transition matrix; and

blending the maior-key and a minor-key melody observation matrices into a resultant melody observation matrix;

providing a recorded audio melody that comprises segments;

performing a frequency analysis of the recorded audio melody;

summing the total duration of each fundamental frequency within a segment;

based on the summing, computing a probability for each possible chord for each segment;

based on the computed probabilities, selecting a set of chords for the segments wherein the selecting a set of chords comprises using a Hidden Markov Model that has been trained using the resultant chord transition matrix and the resultant melody observation matrix; and

outputting the set of chords as an accompaniment for the recorded audio melody.

2. The method of claim 1 wherein the performing a frequency analysis comprises using an autocorrelation technique.

3. The method of claim 1 further comprising shifting pitches of the melody to align the pitches with standard musical notes.

4. The method of claim 1 further comprising weighting or extending the duration of staccato notes in the melody.

5. The method of claim 1 wherein the computing a probability for each possible chord for each segment comprises computing probabilities for a number of predetermined chord types.

6. The method of claim 1 wherein the selecting comprises using the Viterbi Algorithm to compute a sequence of chords that maximizes the likelihood of the observations of the Hidden Markov Model.

7. The method of claim 1 wherein the selecting comprises selecting based at least in part on state transition probabilities from the resultant chord transition matrix.

8. The method of claim 1 wherein each hidden node of the Hidden Markov Model represents one segment.

9. The method of claim 1 wherein each hidden node of the Hidden Markov Model represents one segment and wherein observed data comprises a histogram of pitch values.

10. The method of claim 1 further comprising blending one or more transition matrices with the resultant chord transition matrix, wherein each of the one or more transition matrices corresponds to a musical genre.

11. The method of claim 1 further comprising outputting a ranking of chords for a segment wherein the ranking is based at least in part on probability.

12. The method of claim 1 wherein the outputting comprises outputting a listing of chords associated with segments.

13. The method of claim 1 wherein the outputting comprises a key for the melody.

14. One or more computer-readable storage media comprising computer-executable instructions for the performing, the summing, the computing, the selecting and the outputting of claim 1 .

15. A Hidden Markov Model (HMM) for musical accompaniment generation, implemented at least in part by a computing device, the HMM comprising:

hidden nodes wherein each hidden node represents a segment of a musical melody;

states wherein each state represents a chord for a respective one of the hidden nodes and wherein the states represent a set of chords for the hidden nodes, wherein each state is defined by a blending of a maior-key and a minor-key melody observation matrix, the maior-key and the minor-key melody observation matrices comprising learned note duration probabilities based on each note in each chord in a set of songs or song representations; and

state transition probabilities that represent chord transition probabilities for generating a musical accompaniment to the musical melody, wherein each chord transition probability is defined by a blending of a maior-key and a minor-key chord transition matrix, the maior-key and the minor-key chord transition matrices comprising learned chord transition probabilities based on each chord in the set of songs or song representations.

16. The HMM of claim 15 wherein each state is selected from a set of possible states and wherein the set of possible states is based at least in part on a number of chord types.

17. The HMM of claim 15 wherein observed data for the HMM comprises pitch vectors for the musical melody.

18. The HMM of claim 15 wherein the Viterbi Algorithm provides for computation of the sequence of chords that maximizes the likelihood of the observations for the HMM.

19. One or more computer-readable storage media comprising computer-executable instructions for generating musical accompaniment using on the Hidden Markov Model of claim 15 .

20. A method, implemented at least in part by a computing device, the method comprising:

inputting note and chord information from a music database, the note information comprising individual maior-key and minor-key melody observation matrices comprising learned note duration probabilities based on each note in each chord in a set of songs, the chord information comprising individual maior-key and minor-key chord transition matrices comprising learned chord transition probabilities based on each chord in the set of songs;

blending the maior-key and the minor-key chord transition matrices into a resultant chord transition matrix; and

blending the maior-key and a minor-key melody observation matrices into a resultant melody observation matrix;

training a Hidden Markov Model using the resultant chord transition matrix and the resultant melody observation matrix, wherein the Hidden Markov Model comprises states that correspond to chords;

identifying a state transition matrix as being associated with a style of music in the music database wherein the state transition matrix comprises chord transition probabilities extracted from the resultant chord transition matrix; and

implementing the state transition matrix in a system configured to generate a musical accompaniment to a musical melody.

21. The method of claim 20 further comprising identifying multiple state transition matrices wherein each state transition matrix is associated with one or more styles of music in the music database.

22. One or more computer-readable storage media comprising computer-executable instructions for the inputting, the training and the identifying of claim 20 .

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034542/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 19, 2009
From: MORRIS, DAN; BASU, SUMIT; SIMON, IAN
To: MICROSOFT CORPORATION
Reel/Frame 023542/0466 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 14, 2008
From: MORRIS, DAN; BASU, SUMIT; SIMON, IAN
To: MICROSOFT CORPORATION
Reel/Frame 020807/0617 →