The present invention relates to video games, and, more specifically, rhythm-action games which simulate the experience of playing musical instruments.
Music making is often a collaborative effort among many musicians who interact with each other. One form of musical interaction may be provided by a video game genre known as “rhythm-action,” which involves a player performing phrases from an assigned, prerecorded musical composition using a video game's input device to simulate a musical performance. If the player performs a sufficient percentage of the notes or cues displayed for the assigned part, the player may score well for that part and win the game. If the player fails to perform a sufficient percentage, the player may score poorly and lose the game. Two or more players may compete against each other, such as by each one attempting to play back different, parallel musical phrases from the same song simultaneously, by playing alternating musical phrases from a song, or by playing similar phrases simultaneously. The player who plays the highest percentage of notes correctly may achieve the highest score and win.
Two or more players may also play with each other cooperatively. In this mode, players may work together to play a song, such as by playing different parts of a song, either on similar or dissimilar instruments. One example of a rhythm-action game with different instruments is the ROCK BAND® series of games, developed by Harmonix Music Systems, Inc. ROCK BAND® simulates a band experience by allowing players to play a rhythm-action game using various simulated instruments, e.g., a simulated guitar, a simulated bass guitar, a simulated drum set, or by singing into a microphone.
Past rhythm-action games that have been released for home consoles have utilized a variety of controller types. For example, GUITAR HERO II, published by Red Octane, could be played with a simulated guitar controller or with a standard game console controller.
The present disclosure is directed at methods and systems for implementing and scoring a vocal improvisation feature in a music video game. This feature can allow players of music video games to sing improvised harmonies for a song using a microphone controller. The improvised harmonies can correspond to a pre-authored melody track programmed into the music video game. The improvised harmonies can comprise pre-authored notes programmed into the pre-authored melody track, or can be generated by the music video game during run-time based on the pre-authored melody track. The music video game can also display guidelines visually showing permissible harmony tracks in relation to the pre-authored melody track.
In one aspect, the present disclosure is directed at a computer system for evaluating a player's vocal performance when the vocal performance comprises at least some vocal improvisation that does not correspond to a melody of a musical track. The system can comprise a game console having a memory that stores the musical track, the musical track having a first set of notes corresponding to the melody. The system can also comprise at least one processor configured to determine, based on the first set of notes, a second set of notes corresponding to potential harmonies that, when sung in combination with the first set of notes (i.e., when sung in combination with the melody), can create a pleasing and musically consonant sound. The at least one processor can also be configured to receive vocal input corresponding to the player's vocal performance, to determine if a pitch of the vocal input falls within a pre-determined range of at least one note of the first set of notes or at least one note of the second set of notes, and to increase a score of the player when the pitch of the vocal input falls within the pre-determined range of at least one note of the first set of notes or at least one note of the second set of notes.
In some embodiments, the at least one processor can be configured to decrease or leave unchanged the score of the player when the pitch of the vocal input does not fall within the pre-determined range of at least one note of the first set of notes or at least one note of the second set of notes.
In some embodiments, the system can include a video rendering module coupled to the at least one processor, wherein the at least one processor is further configured to transmit to the video rendering module display data comprising a lane having a first set of cues corresponding to the first set of notes, and a second set of cues corresponding to the second set of notes.
In some embodiments, the at least one processor can be further configured to change, via the video rendering module, the appearance of a selected cue in the second set of cues when the pitch of the vocal input falls within the pre-determined range of a note that corresponds to the selected cue.
In some embodiments, the score of the player can a score for a musical phrase, the score being subdivided into a first part and a second part, and the at least one processor can be configured to increase the first part of the score when the pitch of the vocal input falls within the pre-determined range of at least one note of the first set of notes, and to increase the second part of the score when the pitch of the vocal input falls within the pre-determined range of at least one note of the second set of notes.
In some embodiments, the at least one processor can also be configured to determine if a rhythm of the vocal input corresponds to a rhythm associated with the musical track, and if so, to increase the score of the player.
In some embodiments, the at least one processor can be configured to determine the second set of notes during run-time.
In some embodiments, the musical track does not contain any authored information corresponding to the second set of notes.
In some embodiments, the at least one processor can be configured to determine the second set of notes based on root notes of musical chords associated with the first set of notes.
In some embodiments, the at least one processor can be configured to determine the second set of notes based on metadata associated with the musical track.
In some embodiments, the system can further comprise a sound synthesize coupled to the at least one processor, wherein the at least one processor is further configured to transmit to the sound synthesizer an audible soundtrack corresponding to the musical track while receiving the vocal input.
In some embodiments, the second set of notes does not correspond to an audible harmony in the audible soundtrack.
In another aspect, the present disclosure is directed at a method for evaluating a player's vocal performance comprising at least some vocal improvisation that does not correspond to a melody of a musical track. The method can comprise loading data corresponding to the musical track into memory, the data including a first set of notes corresponding to the melody. The method can also comprise accessing the data corresponding to the musical track from at least one memory. The method can also comprise determining, based on the first set of notes, a second set of notes corresponding to potential harmonies that, when sung in combination with the first set of notes, can create a pleasing and musically consonant sound. The method can also comprise receiving vocal input corresponding to the player's vocal performance, and determining if a pitch of the vocal input falls within a pre-determined range of at least one note of the first set of notes or at least one note of the second set of notes. The method can also comprise increasing a score of the player when the pitch of the vocal input falls within the pre-determined range of at least one note of the first set of notes or at least one note of the second set of notes.
In some embodiments, the method can comprise decreasing or leaving unchanged the score of the player when the pitch of the vocal input does not fall within the pre-determined range of at least one note of the first set of notes or at least one note of the second set of notes.
In some embodiments, the method can comprise displaying, via a video rendering module, a lane having a first set of cues corresponding to the first set of notes, and a second set of cues corresponding to the second set of notes.
In some embodiments, the method can comprise changing the appearance of a selected cue in the second set of cues when the pitch of the vocal input falls within the pre-determined range of a note that corresponds to the selected cue.
In some embodiments, the score of the player can be subdivided into a first part and a second part, and the method can further comprise increasing the first part of the score when the pitch of the vocal input falls within the pre-determined range of at least one note in the first set of notes, and increasing the second part of the score when the pitch of the vocal input falls within the pre-determined range of at least one note of the second set of notes.
In some embodiments, the method can also comprise determining if a rhythm of the vocal input corresponds to a rhythm associated with the musical track, and if so, increasing the score of the player.
In some embodiments, the determination of the second set of notes can occur during run-time.
In some embodiments, the data corresponding to the musical track does not contain any authored information corresponding to the second set of notes.
In some embodiments, the determination of the second set of notes is based on root notes of musical chords associated with the first set of notes.
In some embodiments, the determination of the second set of notes is based on metadata associated with the musical track.
In some embodiments, the method can also comprise transmitting an audible soundtrack corresponding to the musical track while receiving the vocal input.
In some embodiments, the second set of notes does not correspond to an audible harmony in the audible soundtrack.
In another aspect, the present disclosure is directed at non-transitory computer readable media storing machine-readable instructions that are configured to, when executed by at least one processor, cause the at least one processor to access the musical track from at least one memory in communication with the at least one processor, the musical track having a first set of notes corresponding to the melody. The instructions can further cause the at least one processor to determine a second set of notes corresponding to potential harmonies that are musically consonant with the melody, receive vocal input corresponding to the player's vocal performance, and determine if a pitch of the vocal input falls within a pre-determined range of at least one note of the first set of notes or at least one note of the second set of notes. The instructions can further cause the at least one processor to increase a score of the player when the pitch of the vocal input falls within the pre-determined range of at least one note of the first set of notes or at least one note of the second set of notes.
The foregoing and other objects, features, and advantages of the inventions herein, as well as the inventions themselves, will be more fully understood from the following description of various embodiments, when read together with the accompanying drawings, in which:
Embodiments of the disclosed subject matter can provide techniques for implementing a vocal improvisation feature that allows players of rhythm-action video games to sing improvised harmonies for a song using a microphone controller. In some embodiments, the improvised harmonies can correspond with a pre-authored melody track programmed into the rhythm-action video game. One of the objects of this improvised vocal improvisation feature is to create a new and exciting feature for vocal gameplay, and to make vocal gameplay feel less rote and restrictive. The vocal improvisation feature can also give expert vocalists opportunities to sing more expressively, and provide more variety to songs upon repeated playthroughs.
Referring now to
Still referring to
As the gems move along a respective lane, musical data represented by the gems may be substantially simultaneously played as audible music. In some embodiments, audible music represented by a gem is only played (or only played at full or original fidelity) if a player successfully “performs the musical content” by capturing or properly executing the gem. In some embodiments, a musical tone is played to indicate successful execution of a musical event by a player. In other embodiments, a stream of audio is played to indicate successful execution of a musical event by a player. In certain embodiments, successfully performing the musical content triggers or controls the animations of avatars.
In other embodiments, the audible music, tone, or stream of audio represented by a cue is modified, distorted, or otherwise manipulated in response to the player's proficiency in executing cues associated with a lane. For example, various digital filters can operate on the audible music, tone, or stream of audio prior to being played by the game player. Various parameters of the filters can be dynamically and automatically modified in response to the player capturing cues associated with a lane, allowing the audible music to be degraded if the player performs poorly or enhancing the audible music, tone, or stream of audio if the player performs well. For example, if a player fails to execute a game event, the audible music, tone, or stream of audio represented by the failed event may be muted, played at less than full volume, or filtered to alter its sound.
In certain embodiments, a “wrong note” sound may be substituted for the music represented by the failed event. Conversely, if a player successfully executes a game event, the audible music, tone, or stream of audio may be played normally. In some embodiments, if the player successfully executes several, successive game events, the audible music, tone, or stream of audio associated with those events may be enhanced, for example, by adding an echo or “reverb” to the audible music. The filters can be implemented as analog or digital filters in hardware, software, or any combination thereof. Further, application of the filter to the audible music output, which in many embodiments corresponds to musical events represented by cues, can be done dynamically, that is, during play. Alternatively, the musical content may be processed before game play begins. In these embodiments, one or more files representing modified audible output may be created and musical events to output may be selected from an appropriate file responsive to the player's performance.
In addition to modification of the audio aspects of game events based on the player's performance, the visual appearance of those events may be modified based on the player's proficiency with the game. For example, failure to execute a game event properly may cause game interface elements to appear more dimly. Alternatively, successfully executing game events may cause game interface elements to glow more brightly. Similarly, the player's failure to execute game events may cause their associated avatar to appear embarrassed or dejected, while successful performance of game events may cause their associated avatar to appear happy and confident. In other embodiments, successfully executing cues associated with a lane causes the avatar associated with that lane to appear to play an instrument. For example, the drummer avatar will appear to strike the correct drum for producing the audible music. Successful execution of a number of successive cues may cause the corresponding avatar to execute a “flourish,” such as kicking their leg, pumping their fist, performing a guitar “windmill,” spinning around, winking at the “crowd,” or throwing drum sticks.
In some embodiments, player interaction with a cue may comprise singing a pitch and or a lyric associated with a cue. For example, the player associated with lane 101 may be required to sing into a microphone to match the pitches indicated by the gem 124 (alternatively referred to herein as the “note tube 124”) as the gem 124 passes over the target marker 140. Referring ahead to
Still referring to
For example, when the player sings or speaks into the microphone, the microphone's input signal can be sampled (e.g., 60 times per second) and converted into a digital data stream. The digital data stream can be processed by a digital signal processing (DSP) module (not shown), which extracts pitch data from the digital data stream using known pitch extraction techniques. A compare module (not shown) can then compare a time stamp associated with a pitch sample from the player with one or more data records indicating the “correct” pitch associated with that time stamp in the song. If the player's vocal input exactly matches the pitch indicated by note tube 124, or if the player's vocal input is pitched within a “target range” (e.g., a range of pitches within a certain minimum and maximum pitch threshold around the “correct” pitch indicated by note tube 124), the player's score can rise. If the player's vocal input is pitched outside of the “target range,” (e.g., is pitched “flat” or “sharp” relative to the correct pitch) the player's score can stay the same or decrease.
In some cases, there can be a time difference between the sample time and the time stamp of the data records. This can occur if, for example, the sample times are not precisely synchronized with the data records. In some embodiments, the compare module can compare the sample time of a pitch sample with the timestamps of one or more data records. For example, a pitch sample taken at sample time t=3 T can be compared to two or more data records that are closest in time to the sample time t=3 T. If there is a tie between two data records, a predetermined tie breaking policy can be used to select a data record (e.g., always select the data record with the earlier timestamp). This can allow simplification of the comparison process by obviating the need to ensure that sample times are precisely synchronized with the time stamps of the data records.
In some embodiments, the video game can be set at different levels of difficulty, such as “Easy,” “Medium,” “Hard,” or “Expert.” At lower difficulty levels (e.g., “Easy” or “Medium”), the width of the pitch “target range” can increase so as to increase the game's tolerance for vocal input that does not exactly match the pitch indicated by note tube 124. At higher difficulty levels (e.g., “Hard” or “Expert”), the width of the “target range” can decrease so as to decrease the game's tolerance for vocal input that does not match the correct note. Further details regarding visual cues, input methods, scoring methods, and methods for varying a display based on user input for rhythm-action games can be found in application Ser. No. 12/139,819, filed Jun. 16, 2008, titled “SYSTEMS AND METHODS FOR SIMULATING A ROCK BAND EXPERIENCE.” The entire contents of this application are incorporated herein by reference. Further details regarding methods for analyzing and scoring a pitch sung by a player can also be found in U.S. Pat. No. 7,164,076, which corresponds to application Ser. No. 10/846,366, filed May 14, 2004, titled “SYSTEM AND METHOD FOR SYNCHRONIZING A LIVE MUSICAL PERFORMANCE WITH A REFERENCE PERFORMANCE.” The entire contents of this application are incorporated herein by reference. For example,
Referring now to
In some embodiments, the “lanes” containing the musical cues to be performed by the players may be on screen continuously. In other embodiments one or more lanes may be removed in response to game conditions, for example if a player has failed a portion of a song, or if a song contains an extended time without requiring input from a given player.
Although depicted in
In some embodiments, a lane does not extend perpendicularly from the image plane of the display, but instead extends obliquely from the image plane of the display. In further embodiments, the lane may be curved or may be some combination of curved portions and straight portions. In still further embodiments, the lane may form a closed loop through which the viewer may travel, such as a circular or ellipsoid loop.
When the vocal improvisation feature is enabled for the rhythm-action game, the rhythm-action game can be configured to display the improvisation guidelines 304a-d above and below the note tubes 124. Guidelines 304a-d can indicate acceptable pitches that a player can sing in harmony to the main melody of the song, indicated by the note tubes 124. Guidelines placed higher in lane 101 can indicate higher harmony pitches, while guidelines placed lower in lane 101 can indicate lower harmony pitches. In the example depicted in
In some embodiments, appropriate harmony pitches can be pre-authored and encoded into metadata accompanying a musical track associated with the game level. For example, the musical track can be broken into a plurality of segments, wherein each segment is associated with a root chord. For example, for a song in the key of G, the musical track can be divided into segments corresponding to the G-chord, C-chord, D-chord, E-minor chord, or other chords. Transitions between segments in the musical track can correspond to chord changes in the musical track. A set of appropriate harmony pitches can be determined for each chord segment, such that the appropriate harmony pitches can change whenever the musical track undergoes a chord change. The set of appropriate harmony pitches for each chord segment can be pre-authored by a human operator. In addition, the set of appropriate harmony pitches for each chord segment can also be partly or wholly determined by an automatic algorithm before run-time. Harmony pitches can correspond to pitches that are a certain number of intervals above or below the root note for that chord (e.g., a third or fifth interval above the root note). Harmony pitches can also correspond to notes that are an augmented or diminished fifth above the root note for that chord. Embodiments that use only one set of harmony pitches for the entire duration of a chord segment can simplify the task of determining harmony pitches for both human operators and automatic algorithms.
Each chord segment can be associated with a set of harmony pitches. The set of pitches 706aa-af illustrate an exemplary set of six pitches that are associated with the chord segment between segment divider 704a and 704b. Although not labeled, each chord segment can also be associated with other sets of six pitches. Musical tracks or chord segments with fewer or greater number of harmony pitches are also possible. In some embodiments, the pitches 706aa-af can be encoded as metadata within the musical track and can be pre-authored by a human operator, or determined automatically using an algorithm as described above. Each pitch 706aa-af can be rendered into a different guideline 304a-d in
In other embodiments, the rhythm-action game can determine appropriate harmony pitches by adding or subtracting a certain number of intervals from the note being played by the main melody line at that moment (e.g., a third or fifth above the note being played by the main melody line). Since the melody can change notes multiple times within one chord segment, determining harmony pitches in this way can require switching harmony pitches even within one segment with a common root chord. Other methods for determining the appropriate harmony note to go with the main melody line are also possible. In general, harmony notes are notes that are musically consonant with the main melody. Any method known to music theory for generating harmonies that are musically consonant with the main melody of the song can be used.
In some embodiments, the rhythm-action game being executed by the game console can determine the appropriate harmony pitches during run-time. Determining the appropriate harmony pitches during run-time can comprise determining the appropriate pitches after a song has been selected but before the song starts playing (e.g., while the song is loading). Determining harmony pitches during run-time can also comprise determining pitches while the song is playing. In general, the determination of appropriate harmony pitches can be done using any of the same algorithms described above for determining harmony pitches before run-time for encoding as part of the musical track's metadata. For example, if the musical track does not contain metadata that divides the musical track into chord segments (e.g., if the musical track does not contain segment dividers 704a-h), the rhythm-action game can analyze the melody line during run-time to divide the musical track associated with the game level into a plurality of chord segments, wherein each segment corresponds to a chord with a specific root note. For each segment, the rhythm-action game can determine harmony pitches based on the notes that correspond to the chord for that segment. Also as described above, the rhythm-action game can also determine harmony pitches by adding or subtracting a specified number of intervals from the main melody line. In some embodiments that determine harmony notes during run-time, no pre-authored information in addition to the main melody line is required. This can allow the rhythm-action game to implement the vocal improvisation feature even with legacy songs that only have pre-authored information pertaining to the main melody line.
A musical track corresponding to the current game level can be divided into a plurality of musical phrases, each of which can be separated by phrasemarker 410. As illustrated in
In some embodiments, players must follow the rhythm of the authored note tubes 124 in order to increase their score, but may choose to sing any of the harmony tones as dictated by the guide-lines 304a-d. In some embodiments, following the rhythm of the authored note tubes 124 can comprise starting to sing only when the note tubes 124 instruct the player to sing, and/or refraining from singing when the note tubes 124 instruct the player to stop singing. In yet other embodiments, the rhythm-action game can increase a player's score even if the player does not start or stop singing precisely at the right point(s) in time, but does so within a pre-determined “rhythm-tolerance window” that starts at a predetermined start time before the correct time and ends at a predetermined stop time after the correct time. The predetermined start time can be computed by subtracting a first time duration from the correct time, and the predetermined stop time can be computed by subtracting a second time duration from the correct time. The first time duration and the second time duration can be the same time duration, or one of these two time durations can be longer than the other.
The player can be considered to sing a particular harmony note correctly if the player's vocal input exactly matches the pitch of that harmony note (as indicated by guidelines 304a-d), or if the vocal input falls within a “target range” around one of said harmony notes. If the player is singing a particular harmony note correctly, arrow 108 can change appearance (e.g., change shape, color, size, or brightness). The guideline corresponding to the harmony note the player is singing can also be “etched” into lane 101 as it moves past now bar 140 from right to left. In
Scoring for the player can be determined on a phrase-by-phrase basis. As used herein, a musical “phrase” can refer to a section of the musical track. Musical track phases can have uniform length or variable length throughout a musical track, and can encompass multiple measures or chord changes. For example, a phrase may encompass two, three, or four measures. In some cases, a single measure or chord segment can also contain multiple phrases. Scoring “pie” 404, which comprises a melody scoring meter 406 portion and a harmony scoring meter 408 portion, can indicate the player's score for the current musical phrase. If the player correctly sings the melody line in a phrase (e.g., sings within a pre-determined target range), the melody scoring meter 406 portion of the scoring pie 404 can fill starting from the 12 o'clock position in a counter-clockwise direction. If the player correctly sings one of the harmony lines (e.g., sings within a pre-determined target range) the improvisation scoring meter 408 portion of the scoring pie 404 can fill starting from the 12 o'clock position in a clockwise direction. In some embodiments, the melody scoring meter 406 and the improvisation scoring meter 408 can be rendered in different colors (e.g., blue for the melody scoring meter, and orange for the improvisation scoring meter). If the player correctly sings the melody line for the entire duration of the phrase, the scoring pie 404 can be completely filled with the melody scoring meter 406 (e.g., with blue) by the end of the phrase. If the player correctly sings one or more harmony lines for the entire duration of the phrase, the scoring pie 404 can be completely filled with the improvisation scoring meter 408 (e.g., with orange) by the end of the phrase. If the player correctly sings a mixture of melody and improvised harmony for the entire duration of the phrase, the scoring pie will be partially filled with the melody scoring meter 406 (e.g., with blue) and partially filled with the improvisation scoring meter 408 (e.g., with orange), but the scoring pie 404 will be completely filled by the combination of the two meters. For example, if the player correctly sings 70% of the phrase using the melody, and correctly sings 30% of the phrase using an improvised harmony, the scoring pie 404 will be completely filled: 70% of scoring pie 404 will be filled with the melody scoring meter 406 (e.g., with blue) and 30% of scoring pie 404 will be filled with the improvisation scoring meter 408 (e.g., with orange). If the scoring pie 404 is completely filled by the end of a phrase (whether with the melody scoring meter or improvisation scoring meter), the player can receive a perfect rating for that phrase. In some embodiments, if a player sings a phrase with a certain minimum amount of improvisation (e.g., if the improvisation scoring meter 408 spans at least 30% of scoring pie 404), the words “Improviser!” (or a similar statement) can appear on the screen after the player completes the phrase. At the end of a song, the video game can tabulate the percentage of the time that the player correctly sang a melody note, as well as the percentage of the time that the player correctly sang an improvised harmony note. The video game can also provide an overall score for the player, which can be based on the sum of the percentage corresponding to melody notes, and the percentage corresponding to improvised harmony notes. If the player fails to sing either the melody line or one of the permissible harmony lines correctly, the player can “fail” out of the game, thus causing the lane 101 to disappear from the game display. Failure to sing either the melody or the harmony lines correctly can also cause other aspects of the game's visual display to change. For example, the avatar associated with the player playing as a vocalist can appear embarrassed or dejected, or game interface elements may appear more dimly. Conversely, successfully singing either the melody of the harmony lines can cause the player's avatar to appear happy or confident, and/or execute a “flourish.”
At step 502, process 500 can load musical track data. The musical track data can be retrieved from a database, from a computer-readable media, or over a network, and can be stored in quick-access memory (e.g., volatile memory such as Random Access Memory (RAM)). The musical track data can comprise pre-authored notes and cues corresponding to a particular song, and can be encoded in the form of a MIDI file format. The musical track data can be loaded at the beginning of a song before play begins. Alternatively, the musical track data can be loaded during the song, as the song progresses from one musical phrase to the next.
At step 504, process 500 can determine the melody notes corresponding to that musical phrase. The melody notes can be determined from the pre-authored notes and cues encoded in the musical track data.
At step 506, process 500 can determine permissible harmony improvisation notes. As discussed previously, permissible harmony improvisation notes can be based on pre-authored metadata in the musical track data, or determined at runtime. The harmony notes can also be based on the melody notes, and/or on the current chord of the musical phrase. In some embodiments, each musical phrase can comprise only one chord, while in other embodiments, the musical phrase can comprise multiple chords.
At step 508, process 500 can render guidelines corresponding to both the main melody line of the musical track, as well as guidelines for permissible harmony lines. These guidelines can be displayed on the track 101, and correspond to note tubes 124 for the melody, and the guidelines 304a-d for permissible harmony lines. The placement of these guidelines can correspond to the melody notes and permissible harmony notes determined in steps 504 and 506, and also to the rhythm of the song.
At step 510, process 500 can receive vocal input from the player. The vocal input can be received via a microphone controller.
At step 512, process 500 can compare the vocal input against the melody and determine if the player's vocal input matches both the rhythm and the pitch of the melody line. At step 512, process 500 can make this comparison and determination using the methods described above in relation to
At step 516, process 500 compares the vocal input against the permissible harmony notes for the phrase. At step 516, process 500 can also make this comparison using the methods described above in relation to
At step 520, process 500 determines if the current musical phrase has ended. If the phrase has not ended, the video game branches back to step 510, where it again receives vocal input from the user. If the phrase has ended, process 500 branches to step 522, where it ends.
As discussed previously, some embodiments of the video game can be played at different difficulty settings, such as “Easy,” “Medium,” “Hard,” and “Expert.” These settings can be differentiated by the width of the target range. In these embodiments, if the target ranges for easier difficulty settings (e.g., “Easy” or “Medium”) are too wide, they can interfere with scoring for the vocal improvisation feature. For example, the target range associated with the melody line can be so wide as to encompass some or all of the harmony pitches. In these embodiments, it can be advantageous to disable the vocal improvisation feature for easier difficulty settings. Instead, the vocal improvisation feature can be enabled only for harder difficulty settings (e.g., “Hard” or “Expert”) where the target ranges are narrow enough to minimize interference with scoring vocal improvisations. In some embodiments, the target range associated with the melody line can be wider than the target range associated with some or all of the harmony pitches. If the target range associated with the melody line overlaps with the target range associated with one or more harmony pitches, and a player's vocal input falls within the overlapping region, the video game can be configured to give preference to the melody line by determining that the player has sung the melody.
Memory 602 can include musical track data that comprises pre-authored notes and cues corresponding to a particular song. Memory 602 can also include machine-readable instructions for execution on processor 604. Memory can take the form of volatile memory, such as Random Access Memory (RAM) or cache memory. Alternatively, memory can take the form of non-volatile memory, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks. In some embodiments, memory 602 can be configured to retrieve and store musical track data from portable data storage devices, including magneto-optical disks, and CD-ROM and DVD-ROM disks. In other embodiments, memory 602 can be configured to retrieve and store musical track data over a network via a network interface (not shown).
Processor 604 can take the form of a programmable microprocessor executing machine-readable instructions. Alternatively, processor 604 can be implemented at least in part by special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit) or other specialized circuit. Processor 604 can be configured to execute the steps in process 500, described above in relation to
Processor 604 can be coupled with controller interface 610, which can be any interface configured to be coupled with an external controller. As depicted in
Processor 604 can also be coupled to video rendering module 606 and sound synthesizer 608. While both modules are depicted as separate hardware modules outside of processor 604 (e.g., as stand-alone graphics cards or sound cards), other embodiments are also possible. For example, one or both modules can be implemented as specialized hardware blocks within processor 604. Alternatively, one or both modules can be implemented purely as software running within processor 604. Video rendering module 606 can be configured to generate a video display based on instructions from processor 604, while sound synthesizer 608 can be configured to generate sounds accompanying the video display. Video rendering module 606 and sound synthesizer 608 can be coupled to an audio/video device 220, which can be a TV, monitor, or other type of device capable of displaying video and accompanying audio sounds. While
The above-described techniques can be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. The implementation can be as a computerized method or process, or a computer program product, i.e., a computer program tangibly embodied in a machine-readable storage device, for execution by, or to control the operation of, data processing apparatus, e.g., a programmable processor, a computer, a game console, or multiple computers or game consoles. A computer program can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program can be deployed to be executed on one computer or game console or on multiple computers or game consoles at one site or distributed across multiple sites and interconnected by a communication network.
Method steps (such as method steps in process 500) can be performed by one or more programmable processors executing a computer or game program to perform functions of the invention by operating on input data and generating output. Method steps can also be performed by, and apparatus can be implemented as a game platform such as a dedicated game console, e.g., PLAYSTATION®3, PLAYSTATION®4, or PLAYSTATION®VITA manufactured by Sony Computer Entertainment, Inc.; WII™, WII U™, NINTENDO 2DS™, or NINTENDO 3DS™ manufactured by Nintendo Co., Ltd.; or XBOX®, XBOX 360®, or XBOX ONE® manufactured by Microsoft Corp.; or special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit) or other specialized circuit. Modules can refer to portions of the computer or game program or gamer console and/or the processor/special circuitry that implements that functionality.
Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer or game console. Generally, a processor receives instructions and data from a read-only memory or a random access memory or both. The essential elements of a computer or game console are a processor for executing instructions and one or more memory devices for storing instructions and data. Generally, a computer also includes, or is operatively coupled, to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto-optical disks, or optical disks. Data transmission and instructions can also occur over a communications network. Information carriers suitable for embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The processor and the memory can be supplemented by, or incorporated in special purpose logic circuitry.
To provide for interaction with a player, the above described techniques can be implemented on a computer or game console having a display device, e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor, a television, or an integrated display, e.g., the display of a PLAYSTATION®VITA or Nintendo 3DS. The display can in some instances also be an input device such as a touch screen. Other typical inputs include simulated instruments, microphones, or game controllers. Alternatively, input can be provided by a keyboard and a pointing device, e.g., a mouse or a trackball, by which the player can provide input to the computer or game console. Other kinds of devices can be used to provide for interaction with a player as well; for example, feedback provided to the player can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the player can be received in any form, including acoustic, speech, or tactile input.
The above described techniques can be implemented in a distributed computing system that includes a back-end component, e.g., as a data server, and/or a middleware component, e.g., an application server, and/or a front-end component, e.g., a client computer or game console having a graphical player interface through which a player can interact with an example implementation, or any combination of such back-end, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communication networks include a local area network (“LAN”) and a wide area network (“WAN”), e.g., the Internet, and include both wired and wireless networks.
The computing/gaming system can include clients and servers or hosts. A client and server (or host) are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
The invention has been described in terms of particular embodiments. The alternatives described herein are examples for illustration only and not to limit the alternatives in any way. The steps of the invention can be performed in a different order and still achieve desirable results.
This application claims benefit under 35 U.S.C. §119(e) of U.S. Provisional Patent Application No. 62/233,721, filed Sep. 28, 2015, entitled “Vocal Improvisation,” the content of which is incorporated by reference in its entirety.
Number | Name | Date | Kind |
---|---|---|---|
3897711 | Elledge | Aug 1975 | A |
4128037 | Montemurro | Dec 1978 | A |
4295406 | Smith | Oct 1981 | A |
4794838 | Corrigau, III | Jan 1989 | A |
5109482 | Bohrman | Apr 1992 | A |
5140889 | Segan et al. | Aug 1992 | A |
5393926 | Johnson | Feb 1995 | A |
5469370 | Ostrover et al. | Nov 1995 | A |
5510573 | Cho et al. | Apr 1996 | A |
5513129 | Bolas et al. | Apr 1996 | A |
5557057 | Starr | Sep 1996 | A |
5739457 | Devecka | Apr 1998 | A |
5777251 | Hotta et al. | Jul 1998 | A |
6075197 | Chan | Jun 2000 | A |
6111179 | Miller | Aug 2000 | A |
6162981 | Newcomer et al. | Dec 2000 | A |
6225547 | Toyama et al. | May 2001 | B1 |
6252153 | Toyama | Jun 2001 | B1 |
6268557 | Devecka | Jul 2001 | B1 |
6342665 | Okita et al. | Jan 2002 | B1 |
6347998 | Yoshitomi et al. | Feb 2002 | B1 |
6369313 | Devecka | Apr 2002 | B2 |
6379244 | Sagawa et al. | Apr 2002 | B1 |
6390923 | Yoshitomi et al. | May 2002 | B1 |
6410835 | Suzuki et al. | Jun 2002 | B2 |
6425822 | Hayashida et al. | Jul 2002 | B1 |
6438611 | Hara et al. | Aug 2002 | B1 |
6461239 | Sagawa et al. | Oct 2002 | B1 |
6482087 | Egozy et al. | Nov 2002 | B1 |
6483018 | Mead | Nov 2002 | B2 |
6541692 | Miller | Apr 2003 | B2 |
6555737 | Miyaki et al. | Apr 2003 | B2 |
6645067 | Okita et al. | Nov 2003 | B1 |
6653545 | Redmann et al. | Nov 2003 | B2 |
6663491 | Watabe et al. | Dec 2003 | B2 |
6685480 | Nishimoto et al. | Feb 2004 | B2 |
6699123 | Matsuura et al. | Mar 2004 | B2 |
6835887 | Devecka | Dec 2004 | B2 |
6850252 | Hoffberg | Feb 2005 | B1 |
6905413 | Terao et al. | Jun 2005 | B1 |
6924425 | Naples et al. | Aug 2005 | B2 |
6936758 | Itoh | Aug 2005 | B2 |
6987221 | Platt | Jan 2006 | B2 |
7078607 | Alferness | Jul 2006 | B2 |
7083519 | Toyoshima | Aug 2006 | B2 |
7164076 | McHale et al. | Jan 2007 | B2 |
7208672 | Camiel | Apr 2007 | B2 |
7220910 | Plastina et al. | May 2007 | B2 |
7223913 | Knapp et al. | May 2007 | B2 |
7232949 | Hruska et al. | Jun 2007 | B2 |
7320643 | Brosius et al. | Jan 2008 | B1 |
D569382 | Yow et al. | May 2008 | S |
7459324 | Ptasinski et al. | Dec 2008 | B1 |
7459624 | Schmidt et al. | Dec 2008 | B2 |
7525036 | Shotwell et al. | Apr 2009 | B2 |
7559834 | York | Jul 2009 | B1 |
7789741 | Fields et al. | Sep 2010 | B1 |
7840288 | Graepel et al. | Nov 2010 | B2 |
7855333 | Miyajima et al. | Dec 2010 | B2 |
7855334 | Yamashita et al. | Dec 2010 | B2 |
7935880 | Stoddard et al. | May 2011 | B2 |
7982114 | Applewhite et al. | Jul 2011 | B2 |
8003872 | Lopiccolo | Aug 2011 | B2 |
8017857 | Chiu et al. | Sep 2011 | B2 |
8026435 | Stoddard et al. | Sep 2011 | B2 |
8076574 | Irmer et al. | Dec 2011 | B2 |
8173883 | Willacy et al. | May 2012 | B2 |
8198526 | Izen et al. | Jun 2012 | B2 |
8324494 | Packouz | Dec 2012 | B1 |
8449360 | Stoddard et al. | May 2013 | B2 |
8663013 | Egozy et al. | Mar 2014 | B2 |
8690670 | Kay | Apr 2014 | B2 |
9033795 | Yum | May 2015 | B2 |
9324216 | Janosov | Apr 2016 | B2 |
20020002900 | Cho | Jan 2002 | A1 |
20020025842 | Nobe et al. | Feb 2002 | A1 |
20020032054 | Hosoya | Mar 2002 | A1 |
20020088337 | Devecka | Jul 2002 | A1 |
20020128736 | Yoshida et al. | Sep 2002 | A1 |
20020142818 | Nakatsuka et al. | Oct 2002 | A1 |
20020160824 | Goto et al. | Oct 2002 | A1 |
20020169014 | Egozy et al. | Nov 2002 | A1 |
20030014262 | Kim | Jan 2003 | A1 |
20030083130 | Toyoshima | May 2003 | A1 |
20030164084 | Redmann et al. | Sep 2003 | A1 |
20040132518 | Uehara et al. | Jul 2004 | A1 |
20040148159 | Crockett et al. | Jul 2004 | A1 |
20040229685 | Smith et al. | Nov 2004 | A1 |
20040244566 | Steiger | Dec 2004 | A1 |
20050070359 | Rodriquez et al. | Mar 2005 | A1 |
20050101364 | Onoda et al. | May 2005 | A1 |
20050120865 | Tada | Jun 2005 | A1 |
20050235809 | Kageyama | Oct 2005 | A1 |
20050255914 | McHale et al. | Nov 2005 | A1 |
20050273319 | Dittmar et al. | Dec 2005 | A1 |
20060058101 | Rigopulos | Mar 2006 | A1 |
20060127053 | Lee | Jun 2006 | A1 |
20060191401 | Ueshima et al. | Aug 2006 | A1 |
20060205506 | Toyoshima | Sep 2006 | A1 |
20060258450 | Ishihata et al. | Nov 2006 | A1 |
20060266200 | Goodwin | Nov 2006 | A1 |
20060287106 | Jensen | Dec 2006 | A1 |
20060290810 | Mallinson | Dec 2006 | A1 |
20070015571 | Walker et al. | Jan 2007 | A1 |
20070059670 | Yates | Mar 2007 | A1 |
20070081562 | Ma | Apr 2007 | A1 |
20070087835 | Van Luchene | Apr 2007 | A1 |
20070111802 | Ishihara et al. | May 2007 | A1 |
20070140510 | Redmann | Jun 2007 | A1 |
20070163427 | Rigopulos et al. | Jul 2007 | A1 |
20070163428 | Salter | Jul 2007 | A1 |
20070232374 | Lopiccolo et al. | Oct 2007 | A1 |
20070234881 | Takehisa | Oct 2007 | A1 |
20070234885 | Schmidt et al. | Oct 2007 | A1 |
20070243915 | Egozy et al. | Oct 2007 | A1 |
20070245881 | Egozy et al. | Oct 2007 | A1 |
20080009346 | Jessop et al. | Jan 2008 | A1 |
20080076497 | Kiskis et al. | Mar 2008 | A1 |
20080102958 | Kitamura et al. | May 2008 | A1 |
20080113698 | Egozy | May 2008 | A1 |
20080200224 | Parks | Aug 2008 | A1 |
20080220864 | Brosius et al. | Sep 2008 | A1 |
20080255914 | Oren et al. | Oct 2008 | A1 |
20080268943 | Jacob | Oct 2008 | A1 |
20080280680 | Dutilly et al. | Nov 2008 | A1 |
20080311969 | Kay et al. | Dec 2008 | A1 |
20080311970 | Kay et al. | Dec 2008 | A1 |
20090075711 | Brosius et al. | Mar 2009 | A1 |
20090088249 | Kay et al. | Apr 2009 | A1 |
20090104956 | Kay et al. | Apr 2009 | A1 |
20090107320 | Willacy et al. | Apr 2009 | A1 |
20090258686 | McCauley et al. | Oct 2009 | A1 |
20100009749 | Chrzanowski, Jr. et al. | Jan 2010 | A1 |
20100016079 | Jessop | Jan 2010 | A1 |
20100041477 | Kay et al. | Feb 2010 | A1 |
20100137049 | Epstein | Jun 2010 | A1 |
20100300264 | Foster | Dec 2010 | A1 |
20100300265 | Foster et al. | Dec 2010 | A1 |
20100300266 | Stoddard et al. | Dec 2010 | A1 |
20100300268 | Applewhite et al. | Dec 2010 | A1 |
20100300269 | Applewhite | Dec 2010 | A1 |
20100300270 | Applewhite | Dec 2010 | A1 |
20100304810 | Stoddard | Dec 2010 | A1 |
20100304811 | Schmidt et al. | Dec 2010 | A1 |
20100304863 | Applewhite et al. | Dec 2010 | A1 |
20100307321 | Mann et al. | Dec 2010 | A1 |
20100319517 | Savo et al. | Dec 2010 | A1 |
20110028214 | Bright et al. | Feb 2011 | A1 |
20110086705 | Chiu et al. | Apr 2011 | A1 |
20110251840 | Cook et al. | Oct 2011 | A1 |
20110306397 | Fleming et al. | Dec 2011 | A1 |
20140020546 | Sumi | Jan 2014 | A1 |
20140318347 | Wang et al. | Oct 2014 | A1 |
20150161978 | Packouz | Jun 2015 | A1 |
20160240179 | Uemura et al. | Aug 2016 | A1 |
20160343362 | Brosius et al. | Nov 2016 | A1 |
20170025107 | Packouz | Jan 2017 | A1 |
20170025108 | Packouz | Jan 2017 | A1 |
20170092252 | Lopiccolo et al. | Mar 2017 | A1 |
20170092254 | Lopiccolo et al. | Mar 2017 | A1 |
Number | Date | Country |
---|---|---|
19833989 | Feb 2000 | DE |
1 029 566 | Aug 2000 | EP |
1081680 | Mar 2001 | EP |
1 096 468 | May 2001 | EP |
1145749 | Oct 2001 | EP |
1 825 896 | Aug 2007 | EP |
2000288254 | Oct 2000 | JP |
2001075579 | Mar 2001 | JP |
WO-8601927 | Mar 1986 | WO |
WO-2004008430 | Jan 2004 | WO |
WO-2007055522 | May 2007 | WO |
WO-2007115072 | Oct 2007 | WO |
WO-2007115299 | Oct 2007 | WO |
Entry |
---|
“HF Transceiver and Receiver VFO Calibration: Methods #1 and #2”, http://web.archive.org/web/20071119171602/http://www.hflink.com/calibration/, accessed May 21, 2012 (2 pages). |
Association of British Scrabble Players, “Rolling System”, ABSP, URL<http://www.absp.org.uk/results/ratings—detail.shtml>, accessed May 25, 2011 (4 pages). |
Audio Grafitti: “Audio Graffiti: Guide to Drum & Percussion Notation”, URL:http://web/mit.edu/merolish/Public/drums.pdf, Aug. 2004 (4 pages). |
Dance Dance Revolution Max, Game Manual, Konami Corporation, released in the US on Oct. 29, 2009 (2 pages). |
Definition of “Magnitude”, Google.com, https://www.google.com/search?q=define%3Amagnitude&sugexp=chome,mod=1&sourceid=chrome . . . , retrieved Aug. 16, 2012 (2 pages). |
European Extended Search Report issued in EP16170347.5, dated Sep. 23, 2016 (8 pages). |
GamesRadar Guitar Hero Summary, http://www.web.archive.org/web/20080212013350/http://www.gamesradar.com/ps2/ . . . /g-2005121692014883026, accessed Jul. 8, 2012 (3 pages). |
Guitar Hero (video game)—Wikipedia, the free encyclopedia, Release Date Nov. 2005, http://en.wikipedia.org/w/index.php?title=guitary—hero&oldid=137778068, accessed May 22, 2012 (5 pages). |
Guitar Hero—Wikipedia, the free encyclopedia—Released Nov. 8, 2005, http://en.wikipedia.org/wiki/Guitar—Hero—(series), accessed Mar. 20, 2009 (25 pages). |
Guitar Hero Reviewed by T. Prime, http://www.gamefaqs.com/console/ps2/review/R113400.html, accessed Jan. 2, 2010 (2 pages). |
Guitar Hero Review by Misfit119, Retrieved Jan. 2, 2010. http://www.gamefaqs.com/console/ps2/review/R110926.html (1 page). |
Guitar Hero Review by Ninjujitsu. Retrieved Jan. 2, 2010. http://www.gamefaqs.com/console/ps2/review/R94093.html (1 page). |
Guitar Hero Review by SaxMyster. Retrieved Jan. 2, 2010, http://www.gamefaqs.com/console/ps2/review/R109815.html (1 page). |
GuitarFreaks—Wikipedia, the free encyclopedia—(Publisher—Konami, Konami Digital Entertainment) Release Date 1998, http://en/wikipedia.org/wiki/GuitarFreaks,http://en.wikipedia.org/wiki/List—of—GuitarFreaks—and—Drummania—Games, accessed Mar. 19, 2009 (5 pages). |
Index of /Partitions, entersandman.com, http://web.archive.org/web/20061021231758/http://batterieandcosite.free.fr/Partitions, pp. 1, 22, and 36, accessed Oct. 2, 2008 (3 pages). |
Lohman, T., “Rockstar vs Guitar Hero”, UNLV: The Rebel Yell—Nov. 13, 2008, http://unlvrebelyell.com/2008/11/13/rockstar-vs-guitar-hero/, accessed Mar. 19, 2009 (5 pages). |
Nakano, T., et al., “Voice Drummer: A Music Notation Interface of Drum Sounds Using Voice Percussion Input”, UIST '05—Adjunct Proceedings of the 18th Annual ACM Symposium on User Interface Software and Technology, Oct. 23-27, 2005, Seattle, WA, USA (2 pages). |
NCSX.com: Game Synopsys of Guitar Freaks & DrumMania Masterpiece Gold, with a date of Mar. 8, 2007, and with an Archive.org Wayback Machine verified date of May 17, 2007, downloaded from http://web.archive.org/web/20070517210234/http://www.ncsx.com/2007/030507/guitarfreaks—gold.htm, National Console Support, Inc., accessed Jun. 7, 2011 (4 pages). |
Ramsey, Aaron, “GuitarFreaks & DrumMania Masterpiece Gold FAQ v1.04”, with a revision date of Apr. 2, 2007, and with an Archive.org Wayback Machine verified date of Apr. 22, 2007, downloaded from http://web/archive.org/web/20070422184212/http://www.gamefaqs.com/console/ps2/file/9 . . . , accessed Jun. 10, 2011 (52 pages). |
RedOctane. “Guitar Hero II Manual”, game manual, Activision Publishing, Inc., 2006 (13 pages). |
Rock Band (video game), Wikipedia, the free encyclopedia, http://en.wikipedia.org/wiki/Rock—Band—(video—game), accessed Jul. 26, 2011 (29 pages). |
Rock Band Wii Instructional Booklet, Harmonix Music Systems, Inc., 2008 (15 pages). |
Sheet Music: “Enter Sandman”, by Metallica, URL:http://batterieandcosite.free.fr/Partitions/entersandman.pdf (4 pages). |
Taiko Drum Master Instruction Manual, NAMCO, 2004 (18 pages). |
Virginia Tech Multimedia Music Dictionary: “P: Phrase”, Virginia Tech University URL:<http://www.music.vt.edu/musicdictionary/textp/Phrase.html>, accessed May 25, 2011 (7 pages). |
Number | Date | Country | |
---|---|---|---|
20170092252 A1 | Mar 2017 | US |
Number | Date | Country | |
---|---|---|---|
62233721 | Sep 2015 | US |