US4941387A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Method and apparatus for intelligent chord accompaniment
Assignee: National Semiconductor Corp
•
Filing: 1988-01-19
•
Granted: 1990-07-17
•
Expires: 2008-01-19
Abstract
Abstract A digital synthesizer type electronic musical instrument that has the ability to automatically accompany a pre-recorded song with appropriate chords. The pre-recorded song is transposed into the key of C major, divided into a number of musical sequences, and then stored in a data structure. By analyzing the data structure of each musical sequence, the electronic musical instrument also can provide intelligent accompaniment, such as voice leading, to the notes that the operator plays on the keyboard.
Inventors
- 👤 Anthony G. Williams
- 👤 David T. Starkey
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-10 02:29
CPC Classifications
G; G10; G10H; G10H1/00; G10H1/36; G10H1/38; G10H2210/00; G10H2210/571; G10H2210/591; G10H2210/596; G10H2210/601; G10H2210/606; G10H2210/616; G10H2210/626
Claims Analysis
Total Claims: 6
Claim 1
Independent Claim
251 words
A method for providing a musical performance by an electronic musical instrument comprising the steps of: a. transposing a song having a plurality of sequences, each of the sequences having a plurality of notes, into the key of C-major and pre-recording the song with its plurality of sequences; b. organizing the pre-recorded plurality of transposed sequences into a song data structure for playback by the electronic musical instrument; c. organizing data within the song data structure into a sequence of portions including a header portion, an introductory sequence portion, a normal musical sequence portion, and an ending sequence portion; d. reading from the song data structure status information stored in the header portion of the data structure; e. proceeding to a next sequential portion of the sequence of portions; f. getting a current time command from the header portion; g. determining if the time to execute a current command has arrived yet; h. continuing to step i. if the time has arrived, otherwise jumping back to step g.; i. fetching a current event; j. determining if a track of the current event is active; k. continuing to step l. if the track of the current event is active, otherwise jumping back to step g.; l. determining if a current track resolver of the current event is active; m. continuing if the current track resolver is active to step n.; n. selecting a resolver; o. resolving the current event note into wavetable data; and synthesizing the wavetable data into a musical note.
Claim 2
Independent Claim
251 words
A method for providing a musical performance by an electronic musical instrument comprising the steps of: a. transposing a song having a plurality of sequences, each of the sequences having a plurality of notes, into the key of C-major and pre-recording the song with its plurality of sequences; b. organizing the pre-recorded plurality of transposed sequences into a song data structure for playback by the electronic musical instrument; c. organizing data within the song data structure into a sequence of portions including a header portion, an introductory sequence portion, a normal musical sequence portion, and an ending sequence portion; d. reading from the song data structure status information stored in the header portion of the data structure; e. proceeding to a next sequential portion of the sequence of portions; f. getting a current time command from the header portion; g. determining if the time to execute a current command has arrived yet; h. continuing to step i. if the time has arrived, otherwise jumping back to step g.; i. fetching a current event; j. determining if a track of the current event is active; k. continuing to step l. if the track of the current event is active, otherwise jumping back to step g.; l. determining if a current track resolver of the current event is active; m. continuing if the current track resolver is active to step n.; n. selecting a resolver; o. resolving the current event note into wavetable data; and synthesizing the wavetable data into a musical note.
Claim 3
Dependent Claim
214 words
An electronic musical instrument for providing a musical performance comprising: means for transposing a song having a plurality of sequences, each sequence having a plurality of notes therein into the key of C-major, and pre-recording the song with its plurality of sequences; means for organizing the pre-recorded plurality of transposed sequences into a song data structure for playback by the electronic musical instrument; means for organizing data within a data structure of the song into a sequence of portions including a header portion, an introductory sequence portion, a normal musical sequence portion, and an ending sequence portion; means for reading from the data structure of the song status information stored in the header portion thereof; means for proceeding to a subsequent portion of the sequence of portions; means for getting a current time command from the header portion of the sequence of portions; means for determining if the time to execute the current time command has arrived yet; means for fetching a current event; means for determining if a track of the current event is active; means for determining if a track resolver of the current event is active; means for selecting a resolver; means for resolving the current event into wavetable data; and means for synthesizing the wavetable data into a musical note.
Claim 4
Dependent Claim
214 words
An electronic musical instrument for providing a musical performance comprising: means for transposing a song having a plurality of sequences, each sequence having a plurality of notes therein into the key of C-major, and pre-recording the song with its plurality of sequences; means for organizing the pre-recorded plurality of transposed sequences into a song data structure for playback by the electronic musical instrument; means for organizing data within a data structure of the song into a sequence of portions including a header portion, an introductory sequence portion, a normal musical sequence portion, and an ending sequence portion; means for reading from the data structure of the song status information stored in the header portion thereof; means for proceeding to a subsequent portion of the sequence of portions; means for getting a current time command from the header portion of the sequence of portions; means for determining if the time to execute the current time command has arrived yet; means for fetching a current event; means for determining if a track of the current event is active; means for determining if a track resolver of the current event is active; means for selecting a resolver; means for resolving the current event into wavetable data; and means for synthesizing the wavetable data into a musical note.
Claim 5
Independent Claim
294 words
A method for providing a musical performance by an electronic musical instrument comprising the steps of: a. transposing a song having a plurality of sequences, each sequence having a plurality of notes into the key of C-major and pre-recording the song and the plurality of sequences; b. organizing the pre-recorded plurality of transposed sequences into a song data structure for playback by the electronic musical instrument; c. organizing data within the song data structure into a header portion, an introductory sequence portion, a normal musical sequence portion, and an ending sequence portion; d. reading from the song data structure status information stored in the header portion of the song data structure; e. proceeding to a next portion of the sequence; f. getting a current time command from the sequence header; g. determining if the time to execute the current command has arrived yet; h. continuing to step i. if the time has arrived, otherwise jumping back to step g.; i. fetching the current event; j. determining if the track of the current event is currently active or if the track is currently muted by a muting mask; k. continuing to step l. if the track of the current event is active, otherwise jumping back to step g.; l. determining if a track resolver of the current event is active; m. continuing if the current track resolver is active to step n.; n. selecting a resolver; o. resolving the current event note into wavetable data; p. synthesizing the wavetable data into a musical note; and q. determining if the playback of the ending portion of the sequence has been completed, if it has been completed the playback of the song data structure is completed and the method terminates, otherwise the method returns to step e.
Claim 6
Independent Claim
294 words
A method for providing a musical performance by an electronic musical instrument comprising the steps of: a. transposing a song having a plurality of sequences, each sequence having a plurality of notes into the key of C-major and pre-recording the song and the plurality of sequences; b. organizing the pre-recorded plurality of transposed sequences into a song data structure for playback by the electronic musical instrument; c. organizing data within the song data structure into a header portion, an introductory sequence portion, a normal musical sequence portion, and an ending sequence portion; d. reading from the song data structure status information stored in the header portion of the song data structure; e. proceeding to a next portion of the sequence; f. getting a current time command from the sequence header; g. determining if the time to execute the current command has arrived yet; h. continuing to step i. if the time has arrived, otherwise jumping back to step g.; i. fetching the current event; j. determining if the track of the current event is currently active or if the track is currently muted by a muting mask; k. continuing to step l. if the track of the current event is active, otherwise jumping back to step g.; l. determining if a track resolver of the current event is active; m. continuing if the current track resolver is active to step n.; n. selecting a resolver; o. resolving the current event note into wavetable data; p. synthesizing the wavetable data into a musical note; and q. determining if the playback of the ending portion of the sequence has been completed, if it has been completed the playback of the song data structure is completed and the method terminates, otherwise the method returns to step e.
References Cited (Backward Citations)
US4179968A
Cited
US4129055A
Cited
US4300430A
Cited
US4248118A
Cited
US4508002A
Cited
US4292874A
Cited
US4339978A
Cited
US4282786A
Cited
US4499808A
Cited
US4470332A
Cited
US4311077A
Cited
US4387618A
Cited
US4381689A
Cited
US4406203A
Cited
US4630517A
Cited
US4519286A
Cited
US4561338A
Cited
US4539882A
Cited
US4520707A
Cited
US4489636A
Cited
US4467689A
Cited
US4468998A
Cited
US4619176A
Cited
US4664010A
Cited
US4681008A
Cited
US4602545A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1993-07-16 | 1994-01-15 | 1994-07-17 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 1997-07-16 | 1998-01-15 | 1998-07-17 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2001-07-16 | 2002-01-15 | 2002-07-17 | $7700.00 | Window Closed / Lapsed |