U.S. Pat. No. 11,508,345
SYSTEMS AND METHODS FOR FACILITATING TRANSACTIONS OF MUSICAL STEMS BETWEEN USERS OF AN ONLINE GAMING PLATFORM AND MIXING OF THE MUSICAL STEMS
AssigneeMythical, Inc.
Issue DateMarch 9, 2020
Illustrative Figure
Abstract
Systems and methods for facilitating transactions of musical stems between users of an online gaming platform and mixing of the musical stems are disclosed. Exemplary implementations may: store information regarding tracks; transmit a purchase request regarding a given stem; receive a notification of the assignment of the right to use the given stem, wherein the assignment is recorded on a blockchain; obtain the given stem, generate an arrangement based on one or more stored tracks and the given stem, and playing back the generated arrangement.
Description
DETAILED DESCRIPTION FIG. 1illustrates a system100configured for facilitating transactions of musical stems between users of an online gaming platform and mixing of the musical stems, in accordance with one or more implementations. An online game may be provided and/or hosted by one or more online gaming platforms105(simply referred to as gaming platform(s)105). As used herein, gaming platform105may refer to either an individual game, a type of gaming console and its ecosystem, and/or any combination of these. Within gaming platforms105(e.g., within the online game), users may play tracks (e.g., songs, musical arrangements and/or other sounds) for themselves and/or other users. For example, a user may host a virtual party that other users can participate in, and at which music is played that attendees can listen to. In some implementations, system100may include one or more servers102, one or more processors140, electronic storage138, one or more client computing platforms104, one or more gaming platforms105, one or more online sales platforms142, one or more blockchains144, one or more user interfaces146, and/or other components. Server(s)102may be configured to communicate with one or more client computing platforms104according to a client/server architecture and/or other architectures. Client computing platform(s)104may be configured to communicate with other client computing platforms via server(s)102and/or according to a peer-to-peer architecture and/or other architectures. Users may access system100via client computing platform(s)104. The users may include a first user, a second user, a third user, and so forth. Server(s)102may be configured by machine-readable instructions106. Machine-readable instructions106may include one or more instruction components. The instruction components may include computer program components. The instruction components may include one or more of storage component108, purchase request component110, assignment component112, track component114, mix component116, playback component118, presentation component120, user input component122, account component124, game component126, and/or other instruction components. Storage component108may be configured to electronically store information in electronic ...
DETAILED DESCRIPTION
FIG. 1illustrates a system100configured for facilitating transactions of musical stems between users of an online gaming platform and mixing of the musical stems, in accordance with one or more implementations. An online game may be provided and/or hosted by one or more online gaming platforms105(simply referred to as gaming platform(s)105). As used herein, gaming platform105may refer to either an individual game, a type of gaming console and its ecosystem, and/or any combination of these. Within gaming platforms105(e.g., within the online game), users may play tracks (e.g., songs, musical arrangements and/or other sounds) for themselves and/or other users. For example, a user may host a virtual party that other users can participate in, and at which music is played that attendees can listen to.
In some implementations, system100may include one or more servers102, one or more processors140, electronic storage138, one or more client computing platforms104, one or more gaming platforms105, one or more online sales platforms142, one or more blockchains144, one or more user interfaces146, and/or other components. Server(s)102may be configured to communicate with one or more client computing platforms104according to a client/server architecture and/or other architectures. Client computing platform(s)104may be configured to communicate with other client computing platforms via server(s)102and/or according to a peer-to-peer architecture and/or other architectures. Users may access system100via client computing platform(s)104. The users may include a first user, a second user, a third user, and so forth.
Server(s)102may be configured by machine-readable instructions106. Machine-readable instructions106may include one or more instruction components. The instruction components may include computer program components. The instruction components may include one or more of storage component108, purchase request component110, assignment component112, track component114, mix component116, playback component118, presentation component120, user input component122, account component124, game component126, and/or other instruction components.
Storage component108may be configured to electronically store information in electronic storage138. The stored information may include a set of tracks that can be played back to generate audible sound. The tracks may include a first track, a second track, a third track, a fourth track, and so forth. A track may include an arrangement of a set of musical elements. Upon playback, the generated sound represents the arrangement. The first track may have a progress length spanning a first number of beats. In some implementations, individual tracks may include four stems, each having the same progress length as the track. The first track may include pitched musical elements in a first key when played back in a first tempo, the second track may include pitched musical elements in a second key when played back in a second tempo, and so forth. If the same track is played back faster (so the tempo increases), the key will increase too (unless the track is otherwise modified).
A stem may include a (subset of the) set of musical elements that are included in the arrangement of a track. For example, a first stem may be referred to as the drum stem, and may include the rhythmic content of a track, such as drum loops, percussion, non-pitched sound effects, and/or other musical elements. A second stem may be referred to as the bass stem, and may include the bassline of a track, such as bass guitar, cello, and/or other low-pitched musical elements. A third stem may be referred to as the harmony stem, and may include the musical elements that form the harmony of a track, such as keys, rhythm guitars, brass sections, choirs, pads, synths, and/or other musical elements that form pitched content that is mid-range to high-range. A fourth stem may be referred to as the melody stem, and may include the musical elements that form the melody or topline of a track, such as lead guitars, vocals, lead synths, brass hooks, synth hooks, and/or other musical elements. These four stems may have a hierarchy, from melody to harmony to bass to drums, that indicates least to most preferred for modification of key and/or tempo. In other words, a melody stem is least preferred to be modified, and will instead often be used as the master key/tempo for the other stems in a generated arrangement. In some implementations, a simultaneous combination of all the individual ones of the four subsets of a given track may equal the full set of musical elements of the given track. In other words, any musical element of a track is part of at least one stem. In some implementations, each musical element of a track is part of exactly one stem. Different stems from different tracks may be mixed and/or otherwise blended together (with the expectation that the result will probably sound in tune, harmonious, and/or in musical consonance) provided that the different musical elements as blended have the same tempo and the same key (or at least are in keys so close that it sounds like the same key). By placing certain limitations and/or restrictions on tracks and stems, stems may be modified such that mixing and/or blending may be likely to produce harmonious results.
In some implementations, the limitations and/or restrictions may include one or more of the following: (i) individual tracks must include exactly four stems (and these must be a drum stem, a bass stem, a harmony stem, and a melody stem), (ii) all stems of an individual track must have the same progress length, (iii), individual tracks must use a constant tempo and key, (iv) individual tracks must use a constant and common time signature of44, (v) individual tracks must have a ratio of its key in Hertz divided by its tempo in BPM that is within 0.1% of 4.36, (vi) individual tracks must have a progress length of 72 bars (i.e. 288 beats), (vii) individual tracks must use an equal tempered scale in which A4is 440 Hertz, (viii) individual tracks must use an equal tempered scale based on a speed of sound of 345 m/s or equivalent, and/or other limitations and/or restrictions. In some implementations, fewer limitations may be used, or limitations may be further modified.
By placing certain limitations and/or restrictions on the mixing and/or blending process, the resulting arrangements may be likely to be harmonious. In some implementations, these limitations and/or restrictions may include one or more of the following: (i) individual resulting arrangements must include exactly four stems (and these must be a drum stem, a bass stem, a harmony stem, and a melody stem), (ii) individual resulting arrangements must not include multiple stems of the same type (such as two bass stems), (iii) individual resulting arrangements must use the key and tempo of the melody stem that was selected from a set of available melody stems (or of the harmony stem if no melody stem is used), and/or other limitations and/or restrictions. In some implementations, fewer limitations may be used, or limitations may be further modified.
In some implementations, a track and/or stem may be divided into a sequence of portions such that each portion has a shorter progress length than the entire track and/or stem, and such that the sum of the progress lengths of all of the portions equals the full progress length of the entire track and/or stem. In some implementations, individual portions may have a previously agreed-upon number of bars, such as 8 bars, 16 bars, 24 bars, 32 bars, and/or another number of bars. In some implementations, the full progress length of an entire track and/or stem may have a previously agreed-upon number of bars, such as 64 bars, 72 bars, 80 bars, 88 bars, 92 bars, 100 bars, and/or another number of bars. Each bar may include four beats in the44time signature (a.k.a. common time signature). In some implementations, individual portions may be assigned specific names and/or indicators, such as, by way of non-limiting example, Intro, Verse, Chorus, Bridge, Build, Outro, Theme A, Theme B, Theme C, and/or other names and/or indicators. In some implementations, individual tracks may include a specific sequence of assigned portions. For example, a first specific sequence may include an Intro, Theme A, Theme B, Theme C, Theme A, outro. For example, a second specific sequence may include Intro, Verse, Chorus, Verse, Chorus, Bridge, Verse, Chorus, Outro. For example, a third specific sequence may include Intro, Verse, Chorus, Bridge, Chorus, Outro. Numerous specific sequences may be used in a library of tracks and/or stems. If different tracks use the same sequence (or at least a similar sequence of portions having the same numbers of bars and thus beats) then mixing and/or blending of these different tracks may be likely to produce harmonious results. By way of non-limiting example,FIG. 4Aillustrates a sequence400of a track401as may be used in system100. As depicted, track401includes four stems (melody stem, harmony stem, bass stem, and drum stem, labeled on the left). Track401uses the following sequence of portions, from left to right: Intro, Theme A, Theme B, Build, Theme C, Outro. As shown by the individual widths of the portions, Intro, Build, and Outro may include fewer bars than Theme A, Theme B, and Theme C.
Referring toFIG. 1, purchase request component110may be configured to transmit requests, including but not limited to purchase requests. In some implementations, purchase requests may be transmitted from client computing platform104to one or more of server102, gaming platform105, online sales platform142, and/or blockchain144. In some implementations, purchase requests may be transmitted from server102to one or more of gaming platform105, online sales platform142, and/or blockchain144. In some implementations, purchase requests may be transmitted from gaming platform105to online sales platform142and/or blockchain144. By way of non-limiting example, a particular purchase request may be transmitted from a particular client computing platform via a software application to a particular server, which in turn transmits specific instructions (that are based on the particular purchase request) to a particular blockchain. In some implementations, a purchase request may indicate that a particular user wishes and/or offers to purchase a right to use a given track or stem. For example, a given track may include between one and four stems. For example, a given stem may include a given arrangement of one or more musical elements in a given key when played back in a given tempo, having a given progress length. In some implementations, the right to use may not be exclusive. In some implementations, a purchase request may indicate that a particular user wishes and/or offers to purchase a given track or stem. In some implementations, subsequent to completion of a purchase, either the track and/or stem itself may be added to the user inventory of the purchaser. In some implementations, subsequent to completion of a purchase of a right, a license key and/or other purchaser-specific information that indicates the track and/or stem may be added to the user inventory of the purchaser.
In some implementations, purchase request component110may be configured to effectuate payments between different accounts, different users, and/or different entities within system100. For example, purchase request component110may receive payments related to purchase requests from (prospective) buyers. For example, purchase request component110may transfer received payments (in part or in their entirety) to sellers (e.g., other users, online sales platform142, and/or other entities within system100). In some implementations, portions of payments may be shared with other stakeholders, including but not limited to a creator or musician who created a particular track and/or stem.
Assignment component112may be configured to receive notifications and/or effectuate assignments. In some implementations, receipt of a notification may indicate the right to use a given track or stem has been assigned to a particular user. In some implementations, an assignment may be part of a transaction that has been (or will be) recorded on a decentralized database that stores a registry of assets and transactions, such as, by way of non-limiting example, blockchain144. In some implementations, subsequent to receipt of a particular notification, the particular user may use the given track and/or stem. Usage may include one or more of playback, mixing, blending, modifying (e.g., pitch-shifting), and/or other types of usage. In some implementations, the right to use may exclude to right to re-sell to other users.
In some implementations, a decentralized database (e.g., blockchain144or another structure of blocks) may be maintained by a distributed computing platform (not shown inFIG. 1). In some implementations, the distributed computing platform may be implemented by a set of client computing platforms and/or servers. The distributed computing platform may support a virtual machine (not shown inFIG. 1). The distributed computing platform and/or the virtual machine may form a runtime environment for smart contracts. In some implementations, the distributed computing platform may include electronic storage configured to store part or all of blockchain144. The smart contracts may be stored on blockchain144. In some implementations, the distributed computing platform may be Ethereum. In some implementations, the distributed computing platform may be the EOSIO platform. In some implementations, the virtual machine may be a Turing-complete and decentralized virtual machine.
Blockchain144may act as a decentralized database that stores a registry of assets and transactions across one or more networks13. A given asset may be owned by a particular user. An asset may include anything of material value or usefulness that is owned by or on behalf of a person or company, according to some implementations. A right pertaining to an object may be an asset, the object being a physical or a virtual item. Multiple rights may form a set of rights or a bundle of rights that may be transferred and/or otherwise acted on or operated on together. For example, rights may include a right to use, a right to sell, a right to destroy, and/or other rights. Tracks and/or stems may be assets. The ownership of rights pertaining to tracks and/or stems may change through transactions on blockchain144.
In some implementations, blockchain144may record ownership of assets. Alternatively, and/or simultaneously, blockchain144may record transactions that modify ownership of assets. A smart contract may be a type of asset. In some implementations, once a smart contract has been added to blockchain144, the smart contract may be referred to as published, recorded, and/or posted. Elements of blockchain144may be grouped together in units that are referred to as blocks. For example, an individual block may include one or more assets and one or more transactions.
Blockchain144may be publicly accessible and append-only. In some implementations, existing blocks of a distributed ledger can substantially not be altered or deleted, unless multiple copies of the blockchain are altered. This is unlikely to happen provided that multiple copies of the blockchain are stored on different computing platforms, e.g., in different geographical locations. The blockchain may be replicated (in part or in its entirety) on multiple computing platforms, preferably in multiple different geographical locations.
In some implementations, ownership of virtual items (including tracks and/or stems) may be established by and/or based on assignment of the ownership to particular user accounts and/or inventories. In some implementations, ownership of virtual items may be recorded in blockchain144and/or other mechanism that includes electronic storage. For example, assignments of the ownership of a particular virtual item may be recorded on blockchain144that stores a registry of assets and transactions. In some implementations, the assets of blockchain144may include particular tracks and/or stems. In some implementations, ownership of a track may be assigned, prior to a sale, to a first user account. This may be referred to as the first user owning the first track. Responsive to a sale to the second user (or another event that triggers a transaction), ownership of the track may be assigned to a second user account, so that the second user owns the first track. In some implementations, multiple users may own the right to use a track and/or stem. In some implementations, tracks and/or stems may be stored externally, e.g., on external resources136.
Track component114may be configured to obtain and/or otherwise effectuate the receipt of tracks and/or stems. In some implementations, tracks and/or stems may be received from one or more of server102, gaming platform105, online sales platform142, blockchain144, and/or external resource136(e.g., external electronic storage). For example, in some implementations, track component114may be configured to download a given stem from an external repository such as external electronic storage. In some implementations, operations by track component114may be performed subsequent to the completion of a purchase, such as the purchase of a given track and/or stem. In some implementations, operations by track component114may be performed subsequent to the completion of a particular event, such as achieving a task or goal within online gaming platform105. For example, a user may earn or otherwise be awarded with a given track and/or stem.
Mix component116may be configured to generate arrangements of musical elements. In some implementations, mix component116may be configured to generate a set of arrangements by combining stems from a local library of tracks with stems from purchased tracks, e.g., without requiring user input. In some implementations, an individual generated arrangement may include between two and four stems. In some implementations, generation of arrangements may include modifying stems (e.g., pitch-shifting to have a particular key and/or tempo), combining multiple stems, synchronizing elements (portions, bars, beats, etc.) of different stems, enforcing certain limitations and/or restrictions, dynamically controlling audio characteristics throughout the generated arrangement (volume, panning, balancing, fading, compression, filtering, equalization, applying effects, reverb, delay, adjusting frequency response, etc.), and/or other types of audio processing. In some implementations, operations by mix component116may be fully automated, e.g., requiring no user input to automatically generate a set of arrangements, such that the generation of an individual arrangement includes automatically selecting a melody stem, automatically selecting up to three additional stems, automatically modifying the additional stems as needed to match the master key of the melody stem, and automatically combining the melody stem with the additional stems. In some implementations, operations by mix component116may be, partially or fully, under user control, for example through user interface146. For example, mix component116may generate a particular arrangement that includes a first stem and a second stem. Based on built-in rules (or on user input), the first key and the first tempo of the first stem may be used as the master key/tempo. Mix component116may modify the second stem (e.g., by pitch-shifting) such that the second key and tempo match the first key and tempo. In some implementations, the modified second key may be within 10 cents of the first key. As used herein, each semitone is divided into 100 cents. In some implementations, the modified second key may be within 5 cents of the first key, which is typically close enough to sound in tune, harmonious, and/or in musical consonance. Subsequent to modification of the second stem (and/or other types of audio processing), mix component116may combine the first stem and the modified second stem into a newly generated arrangement (here, the particular arrangement).
Mix component116may be able to generate arrangements that are in tune, harmonious, and/or in musical consonance by virtue of certain limitations and/or restrictions on tracks and/or stems. In particular, individual (pitched) tracks and/or stems may need to have a particular combination of key and tempo. By way of non-limiting example,FIG. 3illustrates an annotated piano chart300as may be used by system100. Annotated piano chart300illustrates a set of Major keys (keys 32 noted at the bottom of the chart) ranging from F (on the left) through C (in the center) to G (on the right). This set may be extended in either direction. As is known from musical theory, each Major key corresponds exactly (i.e., has the same notes in the scale) to a (Natural) Minor Key (noted here below the Major Key). For example, Major F corresponds to D Minor (labeled “Dm”), Major C corresponds to A minor (labeled “Am”), Major G corresponds to E Minor (labeled “Em”), and so forth. Each key is combined with a particular tempo (tempo 31 in beats per minute or BPM). For example, Major F on the left corresponds to 80.10 BPM, Major C corresponds to 120 BPM, Major G on the right corresponds to 179.80 BPM, and so forth. Additionally, annotated piano chart300illustrates these keys are equal tempered, where a frequency 33 depicts that A4is 440 Hertz, C4is 523.25 Hertz, F4is 698.46 Hertz, and so forth. Individual combinations of key and tempo have the same ratio as determined by dividing the frequency of the key (in Hertz) by the tempo in BPM. In some implementations, the individual tempos are selected such that this ratio equals 4.36, or falls within 0.1% of 4.36, or falls within 0.01% of 523.25 Hz/120 BPM, or is as close as possible to 523.25 Hz/120 BPM while being limited to 0.01 Hz increments. In some implementations, the equal tempered scale may be based on a speed of sound (in air) of 345 m/s or equivalent, even though the speed of sound varies based on temperature, pressure, humidity, and frequency. By virtue of the restrictions depicted inFIG. 3, stems in different keys may be blended harmoniously.
Referring toFIG. 1, in some implementations, mix component116may be configured to select and/or determine a particular sequence of portions for a to-be-generated arrangement, and subsequently modify up to four stems to fit this particular sequence prior to being combined, such that all the stems match a particular master key/tempo, as well as the selected and/or determined sequence of portions.
In some implementations, mix component116may be configured to determine and/or select a master key/tempo that is different from any of the two to four stems that are being used to generate a new arrangement. For example, responsive to a determination that the difference and/or distance (between the various frequencies) exceeds a particular predetermined maximum pitch-shifting threshold (say, 5 or more semitones, or a shift of 500 cents), mix component116may select a master key/tempo such that none of the (pitched) stems need to pitch-shift more than 5 semitones. In some implementations, such an approach may be used between a melody and harmony stem, and may be performed such that the melody stem has a smaller pitch-shift than the harmony stem.
By way of non-limiting example,FIG. 4Billustrates a generation450of an arrangement460based on four tracks as may be performed by system100. As depicted, the four tracks include a track451, a track452, a track453, and a track454, each of which include four stems depicted in the same order as inFIG. 4A(top to bottom: melody stem, harmony stem, bass stem, and drum stem). Generated arrangement460includes the melody stem from track451, the harmony stem from track452, the bass stem from track453, and the drum stem from track454. The harmony, bass, and drum stems may have been modified (including but not limited to pitch-shifting) to match the key and tempo of the melody stem.
Referring toFIG. 1, playback component118may be configured to play back tracks and/or arrangements of musical elements to generate audible sound. In some implementations, playback component118may play tracks from a library or repository of tracks. In some implementations, playback component118may mix new tracks on-the-fly from a library or repository of tracks and/or stems. In some implementations, playback component118may play a newly generated arrangement though the speaker of a client computing platform. In some implementations, a library and/or repository may be user-specific and/or otherwise associated with a particular client computing platform104. For example, a first user may have access to a local library of tracks and stems (some of which may have been purchased as described above in relation to the operation of purchase request component110and other components of system100). Playback component118may be configured to automatically playback a set of newly generated arrangements to the first user without requiring user input from the first user. In some implementations, a library and/or repository may be (partially) public and/or otherwise available to multiple users.
Presentation component120may be configured to generate and/or present user interfaces to users. In some implementations, presentation component120may be configured to effectuate the generation and/or presentation of user interfaces to users. For example, presentation component120may present a first user interface on a first client computing platform associated with a first user.
User input component122may be configured to receive user input from users, for example through client computing platforms104. In some implementations, user input component may receive user input from a first user, a second user, and/or other users. For example, a user may, through user input, enter, select, and/or confirm which tracks and/or stems are to be used for a newly generated arrangement. For example, a user may, through user input, enter, select, and/or confirm the particular stem to be used as including the master key/tempo for a newly generated arrangement. In some implementations, user input component122may be implemented through user interface(s)146.
Account component124may be configured to manage user accounts for users, including but not limited to the users of online gaming platform105. In some implementations, account component124may be configured to manage user inventories for users, including but not limited to the users in an online game. Individual ones of the user accounts may be associated with individual ones of the users. For example, a first user account may be associated with a first user, a second user account may be associated with a second user, and so forth. The individual ones of the user accounts may include individual user inventories of virtual items (including tracks and/or stems) that are usable by the individual ones of the users. For example, the first user account may include a first user inventory, the second user account may include a second user inventory, and so forth. The virtual items included in an inventory may include virtual objects, characters, avatars, skills, abilities, virtual currency, virtual content of the online game, usage rights for tracks and/or stems, access rights within the online game, rights to (future) benefits within the online game, and/or other valuables within the online game.
In some implementations, account component124may be configured to manage user accounts in one or more online sales platforms142. In some implementations, account component124may be configured to facilitate a link or connection between user accounts of users within online gaming platform105and user accounts in one or more online sales platforms142.
Game component126may be configured to execute an instance of an online game within gaming platform105. Game component126may be configured to implement the instance of an online game by receiving and executing commands (e.g., from players, through client computing platforms104). At least part of the online game may take place in a virtual space that includes a simulated topography. The commands may be received from players through client computing platforms104associated with the players. Execution of the commands may facilitate interactions between the players. The execution of the commands may further facilitate locomotion of user-controlled objects within the simulated topography of the virtual space. The user-controlled objects may include one or more characters. Implementing the instance of the online game may include determining view information for presentation of the online game to the players on client computing platforms104.
Game component126may be configured to present view information of the online game to players. For example, the presented view information may include visual representations of one or more characters. In some implementations, the presented view information may include the particular visual representation of particular characters within the simulated topography of the virtual space.
User interfaces146may be configured to facilitate interaction between users and system100and/or between users and client computing platforms104. For example, user interfaces146may provide an interface through which users may provide information to and/or receive information from system100. In some implementations, user interface146may include one or more of a display screen, touchscreen, monitor, a keyboard, buttons, switches, knobs, levers, mouse, microphones, speakers, sensors to capture voice commands, sensors to capture body movement, sensors to capture hand and/or finger gestures, and/or other user interface devices configured to receive and/or convey user input. In some implementations, one or more user interfaces146may be included in one or more client computing platforms104. In some implementations, one or more user interfaces146may be included in system100.
Online sales platforms142may allow users to make purchases, including purchases of virtual items and/or objects that may be usable within online gaming platform142. For example, in some implementations, one or more online sales platforms142may allow users to purchase tracks and/or stems. In some implementations, online sales platforms142may include a first online sales platform142that allows users to make purchases using a fiat currency, a second online sales platform142that allows users to make purchases using a cryptocurrency, and/or other online sales platforms142. Examples of a fiat currency may include U.S. dollars, euros, Japanese yen, and/or other currencies. Examples of a cryptocurrency may include Bitcoin, Litecoin, Ether, Ripple, EOS, and/or other currencies. In some implementations, online sales platform142may allow a user to make purchases using a virtual currency, such as an in-game or in-platform currency. In some implementations, online sales platform142may support a marketplace for selling and/or re-selling tracks and/or stems. In some implementations, a marketplace for tracks and/or stems may use blockchain144to track transactions involving tracks and/or stems.
Referring toFIG. 1, in some implementations, server(s)102, client computing platform(s)104, and/or external resources136may be operatively linked via one or more electronic communication links. For example, such electronic communication links may be established, at least in part, via one or more networks13such as the Internet and/or other networks. It will be appreciated that this is not intended to be limiting, and that the scope of this disclosure includes implementations in which server(s)102, client computing platform(s)104, external resources136, and/or other components of system100may be operatively linked via some other communication media.
A given client computing platform104may include one or more processors configured to execute computer program components. The computer program components may be configured to enable an expert or user associated with the given client computing platform104to interface with system100and/or external resources136, and/or provide other functionality attributed herein to client computing platform(s)104. By way of non-limiting example, the given client computing platform104may include one or more of a desktop computer, a laptop computer, a handheld computer, a tablet computing platform, a NetBook, a Smartphone, a gaming console, and/or other computing platforms.
External resources136may include sources of information outside of system100, external entities participating with system100, and/or other resources. In some implementations, some or all of the functionality attributed herein to external resources136may be provided by resources included in system100. In some implementations, external resource136may include external electronic storage, e.g., for a set of tracks and/or stems.
Server(s)102may include electronic storage138, one or more processors140, and/or other components. Server(s)102may include communication lines, or ports to enable the exchange of information with a network and/or other computing platforms. Illustration of server(s)102inFIG. 1is not intended to be limiting. Server(s)102may include a plurality of hardware, software, and/or firmware components operating together to provide the functionality attributed herein to server(s)102. For example, server(s)102may be implemented by a cloud of computing platforms operating together as server(s)102.
Electronic storage138may include non-transitory storage media that electronically stores information. The electronic storage media of electronic storage138may include one or both of system storage that is provided integrally (i.e., substantially non-removable) with server(s)102and/or removable storage that is removably connectable to server(s)102via, for example, a port (e.g., a USB port, a firewire port, etc.) or a drive (e.g., a disk drive, etc.). In some implementations, the electronic storage media of electronic storage138may include one or both of local storage that is provided integrally (i.e., substantially non-removable) with client computing platform(s)104and/or removable storage that is removably connectable to client computing platform(s)104via, for example, a port (e.g., a USB port, a firewire port, etc.) or a drive (e.g., a disk drive, etc.). Electronic storage138may include one or more of optically readable storage media (e.g., optical disks, etc.), magnetically readable storage media (e.g., magnetic tape, magnetic hard drive, floppy drive, etc.), electrical charge-based storage media (e.g., EEPROM, RAM, etc.), solid-state storage media (e.g., flash drive, etc.), and/or other electronically readable storage media. Electronic storage138may include one or more virtual storage resources (e.g., cloud storage, a virtual private network, and/or other virtual storage resources). Electronic storage138may store software algorithms, information determined by processor(s)140, information received from server(s)102, information received from client computing platform(s)104, and/or other information that enables server(s)102to function as described herein.
Processor(s)140may be configured to provide information processing capabilities in server(s)102. As such, processor(s)140may include one or more of a digital processor, an analog processor, a digital circuit designed to process information, an analog circuit designed to process information, a state machine, and/or other mechanisms for electronically processing information. Although processor(s)140is shown inFIG. 1as a single entity, this is for illustrative purposes only. In some implementations, processor(s)140may include a plurality of processing units. These processing units may be physically located within the same device, or processor(s)140may represent processing functionality of a plurality of devices operating in coordination. Processor(s)140may be configured to execute components108,110,112,114,116,118,120,122,124, and/or126, and/or other components. Processor(s)140may be configured to execute components108,110,112,114,116,118,120,122,124, and/or126, and/or other components by software; hardware; firmware; some combination of software, hardware, and/or firmware; and/or other mechanisms for configuring processing capabilities on processor(s)140. As used herein, the term “component” may refer to any component or set of components that perform the functionality attributed to the component. This may include one or more physical processors during execution of processor readable instructions, the processor readable instructions, circuitry, hardware, storage media, or any other components.
It should be appreciated that although components108,110,112,114,116,118,120,122,124, and/or126are illustrated inFIG. 1as being implemented within a single processing unit, in implementations in which processor(s)140includes multiple processing units, one or more of components108,110,112,114,116,118,120,122,124, and/or126may be implemented remotely from the other components. The description of the functionality provided by the different components108,110,112,114,116,118,120,122,124, and/or126described in this disclosure is for illustrative purposes, and is not intended to be limiting, as any of components108,110,112,114,116,118,120,122,124, and/or126may provide more or less functionality than is described. For example, one or more of components108,110,112,114,116,118,120,122,124, and/or126may be eliminated, and some or all of its functionality may be provided by other ones of components108,110,112,114,116,118,120,122,124, and/or126. As another example, processor(s)140may be configured to execute one or more additional components that may perform some or all of the functionality attributed to one of components108,110,112,114,116,118,120,122,124, and/or126. As another example, in some implementations, some or all of the functionality attributed to one of components108,110,112,114,116,118,120,122,124, and/or126may be performed locally, by one or more client computing platform(s)104.
FIG. 2illustrates a method200for facilitating transactions of musical stems between users of an online gaming platform and mixing of the musical stems, in accordance with one or more implementations. The operations of method200presented below are intended to be illustrative. In some implementations, method200may be accomplished with one or more additional operations not described, and/or without one or more of the operations discussed. Additionally, the order in which the operations of method200are illustrated inFIG. 2and described below is not intended to be limiting.
In some implementations, method200may be implemented in (or using) one or more processing devices (e.g., a digital processor, an analog processor, a digital circuit designed to process information, an analog circuit designed to process information, a state machine, and/or other mechanisms for electronically processing information). The one or more processing devices may include one or more devices executing some or all of the operations of method200in response to instructions stored electronically on an electronic storage medium. The one or more processing devices may include one or more devices configured through hardware, firmware, and/or software to be specifically designed for execution of one or more of the operations of method200.
At an operation202, information is stored in electronic storage. The information includes one or more tracks including a first track. The first track includes a first arrangement of a set of musical elements. The first track can be played back to generate an audible sound that represents the first arrangement. The first track has a first progress length spanning a first number of beats. The first track includes four stems. Individual ones of the four stems have the first progress length. Individual ones of the four stems include a subset of the set of musical elements such that a simultaneous combination of all of the individual ones of the four subsets equals the set of musical elements. At least one of the four stems includes one or more pitched musical elements in a first key when played back at a first tempo. In some embodiments, operation202is performed by a storage component the same as or similar to storage component108(shown inFIG. 1and described herein).
At an operation204, a purchase request is transmitted that indicates the first user offers to purchase a right to use a given stem. The given stem includes a given arrangement of one or more given musical elements in a given key when played back at a given tempo. In some embodiments, operation204is performed by a purchase request component the same as or similar to purchase request component110(shown inFIG. 1and described herein).
At an operation206, a notification is received of assignment of the right to use the given stem to the first user. The assignment is part of a transaction that has been recorded on a decentralized database that stores a registry of assets and transactions. The decentralized database represents a blockchain. In some embodiments, operation206is performed by an assignment component the same as or similar to assignment component112(shown inFIG. 1and described herein).
At an operation208, the given stem is obtained. In some embodiments, operation208is performed by a track component the same as or similar to track component114(shown inFIG. 1and described herein).
At an operation210, a second arrangement of musical elements is generated. The second arrangement includes the given stem and the at least one of the four stems included in the first track. Generation of the second arrangement includes modifying the given stem into a modified stem such that the given arrangement has a modified key when played back at the first tempo. The modified key is within 10 cents of the first key. Generation of the second arrangement includes combining the at least one of the four stems included in the first track and the modified stem such that the second arrangement has the first progress length. In some embodiments, operation210is performed by a mix component the same as or similar to mix component116(shown inFIG. 1and described herein).
At an operation212, the second arrangement of musical elements is played back to generate a second audible sound that represents the second arrangement. In some embodiments, operation212is performed by a playback component the same as or similar to playback component118(shown inFIG. 1and described herein).
Although the present technology has been described in detail for the purpose of illustration based on what is currently considered to be the most practical and preferred implementations, it is to be understood that such detail is solely for that purpose and that the technology is not limited to the disclosed implementations, but, on the contrary, is intended to cover modifications and equivalent arrangements that are within the spirit and scope of the appended claims. For example, it is to be understood that the present technology contemplates that, to the extent possible, one or more features of any implementation can be combined with one or more features of any other implementation.
Claims
- A system configured for facilitating transactions of musical stems between users of an online gaming platform and mixing of the musical stems, the users including a first user, the system comprising: electronic storage configured to electronically store information, wherein the information includes one or more tracks including a first track, wherein the first track includes a first arrangement of a set of musical elements, wherein the first track can be played back to generate an audible sound that represents the first arrangement, wherein the first track has a first progress length spanning a first number of beats, wherein the first track includes four stems, wherein individual ones of the four stems have the first progress length, wherein individual ones of the four stems include a subset of the set of musical elements such that a simultaneous combination of all of the individual ones of the four subsets equals the set of musical elements, wherein at least one of the four stems includes one or more pitched musical elements in a first key when played back at a first tempo;and one or more hardware processors configured by machine-readable instructions to: transmit a purchase request that indicates the first user offers to purchase a right to use a given stem, wherein the given stem includes a given arrangement of one or more given musical elements in a given key when played back at a given tempo;receive a notification of assignment of the right to use the given stem to the first user, wherein the assignment is part of a transaction that has been recorded on a decentralized database that stores a registry of assets and transactions, wherein the decentralized database represents a blockchain;obtain the given stem;generate a second arrangement of musical elements, wherein the second arrangement includes the given stem and the at least one of the four stems included in the first track, wherein generation of the second arrangement includes: (i) modifying the given stem into a modified stem such that the given arrangement has a modified key when played back at the first tempo, wherein the modified key is within 10 cents of the first key;(ii) combining the at least one of the four stems included in the first track and the modified stem such that the second arrangement has the first progress length;and playback the second arrangement of musical elements to generate a second audible sound that represents the second arrangement.
- The system of claim 1, wherein the one or more tracks further include a second track and a third track that each include four stems, wherein the second track has a second key when played back at a second tempo, wherein the third track has a third key when played back at a third tempo, wherein the one or more hardware processors are further configured by machine-readable instructions to: generate additional arrangements of musical elements, wherein individual ones of the additional arrangements include four stems selected from stems included in the first track, the second track, the third track, and the given stem, wherein generation of the additional arrangements includes modifying at least three of the four selected stems.
- The system of claim 2, wherein a first ratio of a first frequency of the first key divided by the first tempo in beats per minute (BPM) is the same as a second ratio of a second frequency of the second key divided by the second tempo.
- The system of claim 3, wherein the first frequency is 523.25 Hz and the first tempo is 120 BPM.
- The system of claim 4, wherein the first ratio and the second ratio are within 0.1% of 4.
- The system of claim 1, wherein the generation of the second arrangement further includes modifying the at least one of the four stems included in the first track, wherein playback of the second arrangement is done at a tempo between the first tempo and the given tempo.
- The system of claim 1, wherein the one or more hardware processors are further configured by machine-readable instructions to: generate and present a user interface to the first user;receive user input form the first user through the user interface;wherein the generation of the second arrangement is based at least in part on the received user input.
- The system of claim 1, wherein the four stems included in the first track include a drum stem, a bass stem, a harmony stem, and a melody stem.
- The system of claim 1, wherein the one or more tracks use a common time signature.
- The system of claim 1, wherein the one or more hardware processors are further configured by machine-readable instructions to: manage user accounts for the users of the online gaming platform, wherein individual ones of the user accounts are associated with individual ones of the users, wherein the individual ones of the user accounts include individual user inventories of virtual items that are usable within the online gaming platform by the individual ones of the users, wherein, subsequent to the first user purchasing the given stem, a first inventory of the first user includes the given stem.
- A method for facilitating transactions of musical stems between users of an online gaming platform and mixing of the musical stems, the users including a first user, the method comprising: electronically storing information, wherein the information includes one or more tracks including a first track, wherein the first track includes a first arrangement of a set of musical elements, wherein the first track can be played back to generate an audible sound that represents the first arrangement, wherein the first track has a first progress length spanning a first number of beats, wherein the first track includes four stems, wherein individual ones of the four stems have the first progress length, wherein individual ones of the four stems include a subset of the set of musical elements such that a simultaneous combination of all of the individual ones of the four subsets equals the set of musical elements, wherein at least one of the four stems includes one or more pitched musical elements in a first key when played back at a first tempo;and transmitting a purchase request that indicates the first user offers to purchase a right to use a given stem, wherein the given stem includes a given arrangement of one or more given musical elements in a given key when played back at a given tempo;receiving a notification of assignment of the right to use the given stem to the first user, wherein the assignment is part of a transaction that has been recorded on a decentralized database that stores a registry of assets and transactions, wherein the decentralized database represents a blockchain;obtaining the given stem;generating a second arrangement of musical elements, wherein the second arrangement includes the given stem and the at least one of the four stems included in the first track, wherein generation of the second arrangement includes: (i) modifying the given stem into a modified stem such that the given arrangement has a modified key when played back at the first tempo, wherein the modified key is within 10 cents of the first key;(ii) combining the at least one of the four stems included in the first track and the modified stem such that the second arrangement has the first progress length;and playing back the second arrangement of musical elements to generate a second audible sound that represents the second arrangement.
- The method of claim 11, wherein the one or more tracks further include a second track and a third track that each include four stems, wherein the second track has a second key when played back at a second tempo, wherein the third track has a third key when played back at a third tempo, the method further comprising: generating additional arrangements of musical elements, wherein individual ones of the additional arrangements include four stems selected from stems included in the first track, the second track, the third track, and the given stem, wherein generation of the additional arrangements includes modifying at least three of the four selected stems.
- The method of claim 11, wherein a first ratio of a first frequency of the first key divided by the first tempo in beats per minute (BPM) is the same as a second ratio of a second frequency of the second key divided by the second tempo.
- The method of claim 13, wherein the first frequency is 440 Hz and the first tempo is 100.90 BPM.
- The method of claim 14, wherein the first ratio and the second ratio are within 0.1% of 4.
- The method of claim 11, wherein the generation of the second arrangement further includes modifying the at least one of the four stems included in the first track, wherein playback of the second arrangement is done at a tempo between the first tempo and the given tempo.
- The method of claim 11, further comprising: generating and presenting a user interface to the first user;receiving user input form the first user through the user interface;wherein the generation of the second arrangement is based at least in part on the received user input.
- The method of claim 11, wherein the four stems included in the first track include a drum stem, a bass stem, a harmony stem, and a melody stem.
- The method of claim 11, further comprising: managing user accounts for the users of the online gaming platform, wherein individual ones of the user accounts are associated with individual ones of the users, wherein the individual ones of the user accounts include individual user inventories of virtual items that are usable within the online gaming platform by the individual ones of the users, wherein, subsequent to the first user purchasing the given stem, a first inventory of the first user includes the given stem.
- A system configured for facilitating transactions of musical tracks between users of an online gaming platform and mixing of stems included in the musical tracks, the users including a first user, the system comprising: electronic storage configured to electronically store information, wherein the information includes a set of tracks including a first track, wherein the first track includes a first arrangement of a set of musical elements, wherein the first track can be played back to generate an audible sound that represents the first arrangement, wherein the first track has a first progress length spanning a first number of beats, wherein the first track includes four stems, wherein individual ones of the four stems have the first progress length, wherein individual ones of the four stems include a subset of the set of musical elements such that a simultaneous combination of all of the individual ones of the four subsets equals the set of musical elements, wherein at least one of the four stems includes one or more pitched musical elements in a first key when played back at a first tempo;and one or more hardware processors configured by machine-readable instructions to: transmit a purchase request that indicates the first user offers to purchase a right to use a given track that includes four stems, wherein the given track includes a given arrangement of one or more given musical elements in a given key when played back at a given tempo;receive a notification of assignment of the right to use the given track to the first user, wherein the assignment is part of a transaction that has been recorded on a decentralized database that stores a registry of assets and transactions, wherein the decentralized database represents a blockchain;obtain the given track;generate a set of arrangements of musical elements, wherein the set of arrangements includes a given arrangement, wherein the given arrangement includes at least one stem from the given track and at least one stem selected from the set of tracks, wherein generation of an individual arrangement in the set of arrangements includes: (i) automatically selecting a melody stem, wherein the melody stem provides a master key and a master tempo;(ii) automatically selecting up to three additional stems from the set of tracks and the given track, such that the up to three additional stems have up to one harmony stem, up to one bass stem, and up to one drum stem;(iii) modifying the up to three additional stems into modified stems such that the individual arrangement is within 10 cents of the master key;and (iv) combining the melody stem and the up to three additional stems;and playback, to the first user, the set of arrangements including the individual arrangement to generate audible sound that represents the set of arrangements, wherein the generation of the set of arrangements and the playback of the set of arrangements occurs automatically without requiring user input from the first user.
Disclaimer: Data collected from the USPTO and may be malformed, incomplete, and/or otherwise inaccurate.