Over the past several decades, video games and other applications have become increasingly popular and have evolved to include highly sophisticated graphics, music, and game concepts. Most popular video games and applications focus on pure entertainment, keeping players busy and engaged, but offer little in the way of education.
While there are several video games and applications that do offer educational opportunities, some users may see these games as “boring”, and prefer to spend most of their time playing the sophisticated games that were created purely for entertainment. Accordingly, there is a need for games and applications that tie entertainment and education together, particularly in the area of music composition.
In particular embodiments, a non-transitory computer-readable medium stores computer-executable instructions for: (A) allowing a user to build a first music track by: (1) selecting a first plurality of music loops from a first pallet of music loops for inclusion in the first music track; and (ii) specifying a sequential order in which the first plurality of music loops are to be played. In various embodiments, the non-transitory computer-readable medium further stores computer-executable instructions for allowing the user to build a second music track by: (1) selecting a second plurality of music loops from a second pallet of music loops for inclusion in the second music track; and (ii) specifying a sequential order in which the second plurality of music loops are to be played. In particular embodiments, the non-transitory computer-readable medium further stores computer-executable instructions for substantially simultaneously replaying the first and second music tracks as tracks of a particular song.
A computer system, according to various embodiments, comprises at least one process and memory. In particular embodiments, the computer system is configured for: (1) allowing a user to build a first music track by: (i) selecting a first plurality of music loops from a first pallet of music loops for inclusion in the first music track: and (ii) specifying a sequential order in which the first plurality of music loops are to be played; (2) allowing the user to build a second music track by: (i) selecting a plurality of music loops from a second pallet of music loops for inclusion in the second music track: and (ii) specifying a sequential order in which the second plurality of music loops are to be played; and (3) rendering a song based at least in part on the first music track and the second music track.
A non-transitory computer-readable medium, according to particular embodiments, stores computer-executable instructions for: (A) providing an interface to a user for allowing the user to build one or more music tracks; (2) receiving, form the user, a selection of one or more music loops for inclusion in each of the one or more music tracks; (C) sending metadata to a server, the metadata comprising the one or more music tracks; and (D) rendering a song based at least in part on the metadata.
In the context of this disclosure, reference will be made to the accompanying drawings, which are not necessarily drawn to scale, and wherein:
Various embodiments will now be described more fully hereinafter with reference to the accompanying drawings, in which various relevant embodiments are shown. The invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Like numbers refer to like elements throughout.
Overview
Application systems according to various embodiments are adapted to allow users to assemble an instrument performance for a particular song by: (1) displaying a music loop pallet that includes a plurality of different music loops that each contain music played by a particular musical instrument (e.g., guitar, bass, drums, piano, etc.); and (2) allowing a user to assemble the instrument performance by indicating (a) which of the plurality of music loops will be included in the instrument performance, and (b) in which order the music loops will be played during the instrument performance. In certain embodiments, a game system is configured to allow a user to include a single music loop multiple times within a particular instrument performance, and may further allow the user to not use all of the available loops from the pallet in the instrument performance. In various embodiments, this may, for example, provide the user with a substantial amount of artistic freedom in assembling the instrument performance.
In various embodiments, each of the plurality of music loops in a particular pallet is of at least about the same length, contains music of at least about the same tempo, and/or contains music of the same general musical style as the other loops in the pallet. In addition, all of the music loops in a particular pallet may be configured so that a user can assemble them in any order to produce a substantially continuous, cohesive, and fluid instrument performance. This may be helpful in allowing users who are inexperienced in writing music to assemble pleasing individual instrument performances. In particular embodiments, each music loop in any particular music loop pallet includes only the music of a particular musical instrument. In other embodiments, each music loop in any particular music loop pallet includes music from a plurality of instruments as well as other sounds (e.g., drum and bass, piano and guitar, etc.).
In particular embodiments, the system is configured to allow users to use the techniques described above to assemble multiple instrument performances that may be played together simultaneously as multiple tracks of a new song. In particular embodiments, this process is facilitated by providing the user with a “song pack” that includes a plurality of pre-selected loops for each of a plurality of instruments. Each of the plurality of music loops in the song pack may be, for example, of at least about the same style and tempo of music. In addition, the music loops may be selected so that any instrumental performance created using the loops in the pallet for that particular instrument will match, in style, length, and tempo, any other possible instrumental performances created using the song pack. This may, for example, allow even inexperienced users to create new, high-quality multi-instrument songs with little training or effort.
After creating a particular song, the system may allow the user to play back (“perform”) the song in a variety of different venues, and to obtain experience, feedback, and virtual rewards during the course of the performances. This may, for example, allow users to begin the game as a small, unknown band and grow in popularity and influence.
In particular embodiments, the system may be adapted to allow users to learn the basics of music composition within the context of a game. In addition, the system may be adapted to allow users to compose their own loops for use in their compositions (e.g., using real instruments or virtual instruments). Furthermore, the system may be configured to allow users to share songs that were written in the context of a particular game with individuals outside of the context of the game. In various embodiments, the game is adapted to be played on a social networking site, such as Facebook, and songs composed within the context of the game may be shared with others.
In various embodiments, the system is adapted to allow multiple users to play the game at the same time (e.g., on a performance or collaborative basis). For example, in a particular embodiment, the system is adapted to allow users to invite their friends (e.g., up to 3 or any other predetermined number of friends) to collaborate on composing a particular song. This may be done, for example, by assigning one or more particular tracks of the song to different individuals to work on. For example, a first individual may be assigned to compose the song's drum track, a second individual may be assigned to compose the song's bass track, a third individual may be assigned to compose the songs lead guitar track, etc. The friends may then work together to compose a particular song for use within the context of the game, or outside of the context of the game.
Exemplary Technical Platforms
As will be appreciated by one skilled in the relevant field in view of this disclosure, the present invention may be embodied as a method, a data processing system, or a computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of a computer program product on a computer-readable storage medium having computer-readable program instructions (e.g., software) embodied in the storage medium. More particularly, the present invention may take the form of web-implemented computer software and mobile software. Any suitable computer-readable storage medium may be utilized including hard disks, DVDs, CD-ROMs, optical storage devices, flash drives, and/or magnetic storage devices.
Various embodiments of the system are described below with reference to block diagrams and flowchart illustrations of methods, apparatuses (e.g., systems) and computer program products according to a particular embodiment. It will be understood that each block of the block diagrams and flowchart illustrations, and combinations of blocks in the block diagrams and flowchart illustrations, respectively, may be implemented by computer program instructions. These computer program instructions may be loaded onto a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions which execute on the computer or other programmable data processing apparatus create a means for implementing the functions specified in the flowchart block or blocks.
The computer program instructions may also be stored in a computer-readable memory that may direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including computer-readable instructions for implementing the function specified in the flowchart block or blocks. The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process such that the instructions that execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart block or blocks.
Accordingly, blocks of the block diagrams and flowchart illustrations support combinations of means for performing the specified functions, combinations of steps for performing the specified functions and program instruction means for performing the specified functions. It will also be understood that each block of the block diagrams and flowchart illustrations, and combinations of blocks in the block diagrams and flowchart illustrations, may be implemented by special purpose hardware-based computer systems that perform the specified functions or steps, or combinations of special purpose hardware and computer instructions and other hardware executing appropriate computer instructions.
Exemplary System Architecture
In addition, the Application Server 30 includes at least one storage device 63, such as a hard disk drive, a floppy disk drive, a CD Rom drive, or optical disk drive, for storing information on various computer-readable media, such as a hard disk, a removable magnetic disk, or a CD-ROM disk. As will be appreciated by one of ordinary skill in the art, each of these storage devices 63 is connected to the system bus 61 by an appropriate interface. The storage devices 63 and their associated computer-readable media provide nonvolatile storage for the Application Server 30. It is important to note that, in various embodiments, the computer-readable media described above could be replaced by any other type of computer-readable media (e.g., magnetic cassettes, flash memory cards, digital video disks, and Bernoulli cartridges).
A number of program modules may be stored by the various storage devices and within RAM 67. Such program modules include an operating system 80 and a Song Composition Module 100 and a Song Ranking Module 200. The Song Composition Module 100 and Song Ranking Module 200 control certain aspects of the operation of the Game Server 30, as is described in more detail below, with the assistance of the processor 60 and an operating system 80.
Also located within the Application Server 30 is a network interface 74 for interfacing and communicating with other elements of a computer network. It will be appreciated by one of ordinary skill in the art that one or more of the Application Server 30 components may be located geographically remotely from other Application Server 30 components. Furthermore, one or more of the components may be combined, and additional components performing functions described herein may be included in the Application Server 30.
As noted above, various aspects of the system's functionality may be executed by certain system modules, including the system's Song Composition Module 100 and Song Ranking Module 200. Exemplary steps performed by these modules are shown in
Exemplary System Architecture
As noted above, various aspects of the system's functionality may be executed by certain system modules, including the system's Song Composition Module 100 and Song Ranking Module 200. These modules are discussed in greater detail below.
Song Composition Module
The system begins at Step 110 by allowing a user to build a first music track by (A) selecting a plurality of music loops from a first pallet of music loops for inclusion in the first music track; and (B) specifying a sequential order in which the user desires the selected music loops to be played. In particular embodiments, individual music loops comprise musical loops containing a single particular instrument (e.g., drums, keyboard, bass, vocals, guitar, etc.). In other embodiments, music loops comprise different instruments or sounds and/or multiple instruments or multiple sounds. For example, a particular loop may be a vocal loop, a lead loop (e.g., which may include both guitar and piano music), a bass loop, or a drum loop. In various embodiments, a lead loop may include instruments that play notes that are typically at a relatively high frequency (e.g., guitar, piano, violin, etc.), while a bass loop may include instruments that typically play notes that are at a relatively low frequency (e.g., a bass guitar, cello, etc.). In other embodiments, music loops may contain any other suitable sounds (e.g., sounds other than sounds created by an instrument) for inclusion in a song.
In various embodiments, each of the plurality of music loops in a particular pallet is of at least about the same length, contains music of at least about the same tempo, and/or contains music of the same general musical style as the other loops in the pallet (e.g., country music, rock music, alternative music, electronic music, rap music, etc.). In particular embodiments, the system is configured to allow a user to select from a plurality of pre-recorded music loops. In other embodiments, the system is configured to allow a user to record his or her own music loops (e.g., using a virtual instrument via an on-screen interface, using a real instrument and recording the instrument using a microphone, or in any other suitable manner).
The system continues, at Step 120, by allowing a user to build a second music track by (A) selecting a plurality of music loops from a second pallet of music loops for inclusion in the second music track; and (B) specifying a sequential order in which the user desires the selected music loops to be played. In various embodiments, the system is configured to allow the user to create any number of music tracks (e.g., up to five music tracks) for inclusion in a complete song. In particular embodiments, any individual music track may comprise distinct instruments (e.g., the instrument on a first music track may include guitar, and the instrument on a second music track may include drums, etc.). In various embodiments, all of the music tracks comprise music of the same genre (e.g., country, rock, hip hop, rhythm and blues, alternative, electronic, etc.). In other embodiments, the music tracks comprise cross genre music (e.g., music from more than one genre such as hip hop and electronic, rock and electronic, etc.).
The system then, at Step 330, simultaneously replays the first and second music tracks as tracks of a particular song in the course of a virtual performance. As a particular example, if the first music track were drum music and the second music track contained guitar music, the system would replay the guitar and drum music simultaneously to form a single song (e.g., by starting the playback of the first and second music tracks at the same time). The system may replay the particular song at the request of the user, or may substantially automatically (e.g., automatically) play the song once the music tracks are all completed by the user.
In various embodiments, the system continues, at Step 140 by sending metadata containing the first and second music tracks to a server, and renders a song on the server based at least in part on the metadata. In various embodiments, the server is a computer other than the device used by the user to access the system (e.g., such as a centralized game server such as the game server 30 shown in
Song Ranking Module
When executing this module, the system begins at Step 210 by receiving at least one song. In various embodiments, the at least one song is a song created by a user, e.g., using the Song Composition Module described above. In particular embodiments, the system, at Step 210, receives songs created by a plurality of users (e.g., all users of the system). The system may receive songs, for example, when those songs are shared by particular users of the system, when the songs are rendered (e.g., on the system server as described above), or through any other suitable mechanism.
The system continues at Step 220 by ranking the songs received at Step 210 based at least in part on one or more chart performance factors. Chart performance factors may include, for example, social activity, which may by measured by the number a times a particular song has been shared (e.g., via Facebook, Twitter, e-mail, text message, or other social networking site or suitable sharing method). Chart performance factors may further include a number of times a particular song has been downloaded or saved by various users of the system, a number of impressions (e.g., views or listens, shares or ‘likes’ in the context of the application itself or on various social networks such as Facebook) of the particular songs by various users of the system (e.g., or others with whom the songs have been shared), and a number of times the song has been played (e.g., including whether the song was played all the way through, paused during playback, or only partially played).
The system continues, at Step 230, by displaying the songs in order of the ranking determined at Step 220. The system may display the songs in order of ranking on any suitable device (e.g., a mobile device, personal computer, laptop, tablet etc.).
Exemplary User Experience
The operation of exemplary embodiments of the Song Composition Module 100, Sharing Module 200, and Song Ranking Module 300 are perhaps best understood by reviewing particular examples. The following examples describe the experience of the user within each module.
Song Composition Experience
In particular embodiments, application systems are played, for example, on a user's computer (desktop or laptop), tablet, or phone (e.g., in a browser on any of these various devices). First-time users to the application system may begin their experience by composing a song. In various embodiments, users chose from four available “song packs” that represent four music genres, such as hip hop, country, rock, and techno. In other embodiments, users choose from any number of available song packs from any number of genres or music styles. As shown in
In particular embodiments, a plurality of music icons or text appear in the Track Selector 314. Users begin by selecting (e.g., clicking on) an instrument or sound (e.g., such as vocals 322, lead 324, bass 326, or drums 328) in the Track Selector 314. Loops 302A-E available for the selected instrument appear above the Song Grid 316. Users can listen to a preview of each music loop (e.g., by selecting the loop), and drag and drop loops to the appropriate music track 304-312 on the Song Grid 316. At any point during song composition, users can preview the song as it has been created so far, for example, by selecting a Play button 318.
As an example, a user creating a song begins by creating the drum track. The user clicks the drum icon 328 in the Track Selector 314, and five available drum loops 302 appear above the Song Grid 316. The user can hear a preview of a drum loop by clicking the loop 302. After deciding on a drum loop, the user drags the desired loop and drops in into an available space 304 on the drum track 306. As may be understood from
The user may repeat this process to finish creating tracks for the remaining instruments (e.g., vocals, guitar, and bass). Tracks may be finished when the user has placed an instrument loop in each available space 304 (e.g., time segment) in the music track. When this step is complete, the user can click Play 318 to review the completed track. During play back, each of the corresponding tracks for the various instruments are played substantially simultaneously (e.g., simultaneously) so that they begin at substantially the same time (e.g., the same time) and so that each of the respective loops within each track begins and ends at substantially the same time (e.g., the same time). If the user wants to edit any of the tracks, the user can delete loops or move them to different positions within the appropriate track by repositioning the loops within the track, placing a new loop in a desired space 304 (e.g., time segment) within the track, etc.
When the user is satisfied with the composed song, the user may click the Finish Song button 320 to render the song. In various embodiments, rendering the song includes creating a single song file (e.g., an MP3, etc.) that contains the music tracks and loops as arranged by the user. At this point the browser passes song metadata to a server, which then uses the metadata to render the song. The metadata may include, for example, information about the placement by the user of various loop patterns 302 in particular locations within the Song Grid 316. In particular embodiments, the metadata includes, for each track, the identification of the instrument loop that the user has selected to play within each individual time segment. The server uses the metadata to render the song by creating a song file (e.g., an MP3) that includes all of the instrument loops in their respective positions within each music track. The rendered song is saved on the server for later playback and sharing by the user who composed the song, or by other users.
After rendering the song, the system may ask the user if the user wishes to play the song. In particular embodiments, the user chooses an avatar 322 and a venue in which the user can play the song, or perform a gig that includes multiple songs.
After playing the gig, the user can compose new songs, either with song packs that are currently available to the user, or with song packs that the user may purchase in an on-line store 400 such as the store shown in
In certain embodiments, after a user reaches a predefined level in the game, the user may import existing songs, such as current pop songs, into the game and create music loops from those songs.
In certain embodiments, users are able to add bandmates (e.g., up to five bandmates), thus allowing them to collaborate by having each bandmate compose one or more separate tracks of the same song. In various embodiments, the bandmates may compose the song asynchronously or at the same time.
Song Sharing Experience
In various embodiments, after rendering songs and playing gigs, users can share songs with other members of the game community, members of various social networking sites (e.g., Facebook, Twitter, etc.), or with friends or others via e-mail, text message, etc. As shown in
In particular embodiments, the system may be adapted to monitor the number of times that the song is accessed, played back, edited, etc. . . . via, for example, a suitable client or server application. This information may be used, for example, in the context of the song ranking experience described below.
Song Ranking Experience
In various embodiments, after a user shares a song, the system places the song on one or more “charts”.
As the user's song moves up the rankings in the chart, the user may receive virtual rewards. These achievements may cause the system to unlock more functionality within the game, such as the ability to: (1) buy more song packs, (2) add instruments and band members, and (3) play gigs in additional (e.g., progressively larger) venues. The user can refer to the system dashboard 500, shown in
Alternative Embodiments
Various embodiments of the gaming system may include features or functionality that differs or is in addition to the functionality described above.
Mixed Song Packs
In various embodiments, the gaming system allows users to mix song packs together, creating a cross-genre mix-up. In particular embodiments, the application uses an algorithm that shifts the key and tempo of song packs to make the respective loops within the song packs compatible (e.g., shifts one song pack into a key and tempo that is musically compatible with another song pack). For example, in various embodiments, it may be possible to create a song using instrument loops from both a song pack in the electronic genre in the key of ‘E” at 160 beats per minute (BPM) and a song pack in the country music genre in the key of ‘G’ sharp at 100 BPM.
Substantially Automatic Song Creation
In some embodiments, the application combines artificial intelligence (AI) and/or business intelligence (BI) in a randomized feature that uses popular patterns to generate song packs. The AI portion predicts song packs and loops that are compatible (e.g., song packs and instrument loops that will sound good together), while the BI portion uses a user's past song preference to predict what the user will like in terms of auto-generated songs (e.g., by choosing genres of music that the user frequently rates highly).
In some embodiments, the application tracks the types of songs people have produced in the past and use that BI to identify song packs that the user might like. For example, the system may assign a rating to particular music genres, such as a 5 for hip hop and a 2 for electronica. Based on these ratings, the system may substantially automatically identify song packs for the user that are heavy in hip hop with an electronica flavor.
User-Provided Instrument Loops
In particular embodiments, the system is configured to allow users to provide their own instruments loops. In certain embodiments, users can record real instruments (e.g., using a microphone, MIDI-compatible musical instrument, computer, or mobile device) to create instrument loops that may be combined with other user created instrument loops or system provided instrument loops. In particular embodiments, users can share their user-created instrument loops with other users, and the other users may incorporate those loops into songs of their own. In various embodiments, the system is adapted to allow users to create instrument loops using virtual instruments, for example, using an on-screen keyboard, drum pad, or similar virtual instrument. In a particular embodiment, users can use a device containing an accelerometer (e.g., a smart phone) to substantially simulate (e.g., simulate) an instrument or a sound such as a maraca, tambourine, shaker, etc.
Collaborative Song-Writing
In particular embodiments, the system is configured to allow one or more users to collaborate to create a single song. In various embodiments, the system is configured to allow users to each compile different music tracks to create a single song. For example, a first user may assemble an music track for the guitar, while another user may assemble the music track for the drums. The system then combines the drum and guitar tracks assembled by the two users to render a complete song.
Progressive Complexity
In various embodiments, the system is configured to provide the user with more advanced content (e.g., more complicated instrument loops) for use in creating songs as the user progresses in the game. The user may progress in the game, for example, by creating a particular number of songs (e.g., to gain more experience with song creation), sharing a particular number of songs, playing a particular number of gigs, etc. In various embodiments, the system is configured to allow users with greater musical acumen (e.g., users whose songs have a high ranking, users with higher progression levels within the game, etc.) to create more advanced songs (e.g., songs with more tracks, songs with more complicated loops, etc.).
Loop Timing and Alignment
In particular embodiments, music loops may contain meta-data that identifies and labels the timing of each musical beat as well as the musical meter and tempo of the music loop. In various embodiments, music loops may be in a compatible tempo but contain a different number of musical beats. These loops of differing lengths can be mixed by aligning the musical beats and measures instead of simply aligning the beginning and end time of each music loop. In such embodiments, users can build tracks using music loops that contain different numbers of musical beats.
In particular embodiments, the system is configured to substantially automatically (e.g., automatically) place a loop that has pre and/or post audio at a musically compatible moment in time (e.g. a vocal loop that has pre audio of the vocalist taking a breath before the first beat may be placed so the first beat aligns with the first beat of another loop).
Conclusion
Many modifications and other embodiments of the invention will come to mind to one skilled in the art to which this invention pertains having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. Therefore, it is to be understood that the invention is not to be limited to the specific embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of the appended exemplary concepts. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for the purposes of limitation.
This application claims priority from U.S. Provisional Patent Application 61/544,881, entitled “Game Systems and Methods”, which was filed on Oct. 7, 2011, and which is hereby incorporated by reference in its entirety.
Number | Name | Date | Kind |
---|---|---|---|
6888999 | Herberger et al. | May 2005 | B2 |
7732697 | Wieder | Jun 2010 | B1 |
7982121 | Randle et al. | Jul 2011 | B2 |
8207438 | Humphrey | Jun 2012 | B2 |
8278543 | Humphrey | Oct 2012 | B2 |
8278544 | Humphrey | Oct 2012 | B2 |
8283545 | Humphrey | Oct 2012 | B2 |
20020166440 | Herberger et al. | Nov 2002 | A1 |
20090164034 | Cohen et al. | Jun 2009 | A1 |
20090164902 | Cohen et al. | Jun 2009 | A1 |
20100319517 | Savo et al. | Dec 2010 | A1 |
20100322042 | Serletic et al. | Dec 2010 | A1 |
20110179941 | Humphrey | Jul 2011 | A1 |
20110179942 | Humphrey | Jul 2011 | A1 |
20130220102 | Savo et al. | Aug 2013 | A1 |
Number | Date | Country | |
---|---|---|---|
20130269504 A1 | Oct 2013 | US |
Number | Date | Country | |
---|---|---|---|
61544881 | Oct 2011 | US |