[go: up one dir, main page]

WO2015003218A1 - Collaborative media generation system - Google Patents

Collaborative media generation system Download PDF

Info

Publication number
WO2015003218A1
WO2015003218A1 PCT/AU2014/000712 AU2014000712W WO2015003218A1 WO 2015003218 A1 WO2015003218 A1 WO 2015003218A1 AU 2014000712 W AU2014000712 W AU 2014000712W WO 2015003218 A1 WO2015003218 A1 WO 2015003218A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
song
users
modified
file
Prior art date
Application number
PCT/AU2014/000712
Other languages
French (fr)
Other versions
WO2015003218A9 (en
Inventor
Tim HODGKINSON
Original Assignee
Chinese Whispers Music
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from AU2013902587A external-priority patent/AU2013902587A0/en
Application filed by Chinese Whispers Music filed Critical Chinese Whispers Music
Publication of WO2015003218A1 publication Critical patent/WO2015003218A1/en
Publication of WO2015003218A9 publication Critical patent/WO2015003218A9/en

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/0033Recording/reproducing or transmission of music for electrophonic musical instruments
    • G10H1/0041Recording/reproducing or transmission of music for electrophonic musical instruments in coded form
    • G10H1/0058Transmission between separate instruments or between individual components of a musical system
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/171Transmission of musical instrument data, control or status information; Transmission, remote access or control of music data for electrophonic musical instruments
    • G10H2240/175Transmission of musical instrument data, control or status information; Transmission, remote access or control of music data for electrophonic musical instruments for jam sessions or musical collaboration through a network, e.g. for composition, ensemble playing or repeating; Compensation of network or internet delays therefor

Definitions

  • the present invention relates to frameworks, devices and methodologies configured for enabling collaborative content generation.
  • Embodiments of the invention have been particularly developed for enabling the coordination of a plurality of concurrent collaborative music generation projects. While some embodiments will be described herein with particular reference to that application, it will be appreciated that the invention is not limited to such a field of use, and is applicable in broader contexts, including embodiments where users engage in standalone (solo) content generation processes.
  • One embodiment provides a computer implemented method for facilitating collaborative content generation the method including:
  • One embodiment provides a computer implemented method wherein the group generation process includes defining a plurality of groups of a predetermined size based on a random selection process.
  • One embodiment provides a computer implemented method wherein coordinating the collaboration process includes identifying a next user in an iterative chain, and prompting that next user to download an intermediate file, and upload a modified version of the intermediate file prior to a defined deadline.
  • One embodiment provides a computer implemented method wherein, in absence of identified next user uploading a modified version of the intermediate file prior to the defined deadline, the method includes identifying a further next user in the iterative chain, and prompting that next user to download the intermediate file, and upload a modified version of the intermediate file prior to a further defined deadline.
  • One embodiment provides a computer implemented method including operating a media file translation module thereby to enable conversion of the concept media files and/or intermediate files into one or more media formats.
  • One embodiment provides a computer implemented method wherein the file translation module is configured to convert a given intermediate file into an alternate media format in response to user-defined preferences for a next user in an iterative chain.
  • One embodiment provides a computer implemented method wherein the media file is published thereby to enable playback via a web-based interface.
  • One embodiment provides a computer-implemented method for defining collaboration groups, the method including:
  • commencement intermediate file for each group, defining a commencement intermediate file, wherein the commencement intermediate file includes a set of media tracks corresponding to the concept media files uploaded by the users defining the group.
  • identifying the subset of registered users includes comparing a set of system-set parameters for the collaborative process with a set of user-set parameters respectively defined by the plurality of users.
  • One embodiment provides a computer-implemented method wherein the selection process includes a random selection process.
  • One embodiment provides a computer-implemented method wherein the random selection process is constrained by a set of group creation rules.
  • One embodiment provides a computer-implemented method wherein each concept media file is associated with one or more properties, and wherein the set of group creation rules specify rules for creating groups based on properties of the users' concept media files.
  • One embodiment provides a computer-implemented method wherein the set of group creation rules include a rule preventing creation of a group where multiple of the members' concept media files share identical values for a given property.
  • One embodiment provides a computer-implemented method wherein the commencement intermediate file is made available for download by each of the members of the group, thereby to enable commencement of respective collaborative processes.
  • One embodiment provides a method for coordinating collaborative media creation process, the method including:
  • commencement intermediate file includes a plurality of file portions derived from the concept media files
  • One embodiment provides a method including, following (vi): [0035] (vii) following submission of the nth user's modified intermediate file, prompting the first user in the iterative chain to perform a creative iteration in respect of the latest modified intermediate file and, based upon the creative iteration, submit a modified intermediate file; and
  • One embodiment provides a method including repeating (vii) and (viii) for a predefined number of iterative loops.
  • One embodiment provides a method wherein, for a given creative iteration, the user is prompted to download the intermediate file using a first designated webpage, and upload the modified intermediate file using a second designated webpage.
  • One embodiment provides a method wherein the intermediate file is downloadable in a file format selected based upon user-defined preferences.
  • One embodiment provides a method wherein, in respect of a given creative iteration, an ith user is prompted to submit the modified intermediate file prior to a designated deadline and, in the event that a user does not submit the modified intermediate file prior to the designated deadline, the (i+1)th user in the iterative chain is prompted to perform a creative iteration in respect of the file previously prompted to the i th user.
  • One embodiment provides a method wherein a plurality of iterative processes are conducted for the group, wherein each of the plurality iterative processes is based upon a unique iterative chain order.
  • One embodiment provides a method, performed at a mobile device based on execution of software instructions, thereby to enable a media creation process, the method including:
  • One embodiment provides a method wherein each song is associated with a plurality of musical sub-tracks.
  • One embodiment provides a method wherein one or more of the plurality of musical sub- tracks are instrument-specific sub-tracks.
  • One embodiment provides a method wherein making available to the user a plurality of songs that are associated with the user account includes downloading , from a remote server, data indicative of one or more song data sets currently not stored in local memory of the mobile device.
  • One embodiment provides a method including enabling the user to associate one or more additional songs with the user account via in-app purchase.
  • One embodiment provides a method wherein the selected one of the songs includes a plurality of song portions, and (i) to (iii) are performed in respect of a particular one of the song portions.
  • One embodiment provides a method wherein the user performs (i) to (iii) in respect of the particular one of the song portions and all remaining song portions.
  • One embodiment provides a method wherein one or more additional users of further mobile devices which perform a method as described herein perform (i) to (iii) in respect of others of the song portions, thereby to collaboratively define a modified song version that is available for playback by the user and the one or more additional users.
  • One embodiment provides a method wherein the user is enabled to select between:
  • One embodiment provides a method including enabling the user to perform any one of (i) to (iii) for a song portion for a song in respect of which an invitation is received from a further user.
  • One embodiment provides a method performed at a mobile device based on execution of software instructions, thereby to enable a media creation process, the method including:
  • each song data set includes a plurality of musical sub-tracks
  • One embodiment provides a method wherein the selected one of the songs includes a plurality of song portions, and (i) to (iii) are performed in respect of a particular one of the song portions.
  • One embodiment provides a method wherein the user performs (i) to (iii) in respect of the particular one of the song portions and all remaining song portions.
  • One embodiment provides a method wherein one or more additional users of further mobile devices which perform a method as discussed herein perform (i) to (iii) in respect of others of the song portions, thereby to collaboratively define a modified song version that is available for playback by the user and the one or more additional users.
  • One embodiment provides a method wherein the user is enabled to select between:
  • One embodiment provides a method wherein the transformation includes a volume transformation.
  • One embodiment provides a method wherein enabling audible playback of the modified song version includes making the modified song version available via a web location.
  • One embodiment provides a computer implemented method, performed at a mobile device based on execution of software instructions, thereby to enable a media creation process, the method including:
  • One embodiment provides a computer program product for performing a method as described herein.
  • One embodiment provides a non-transitive carrier medium for carrying computer executable code that, when executed on a processor, causes the processor to perform a method as described herein.
  • One embodiment provides a system configured for performing a method as described herein.
  • any one of the terms comprising, comprised of or which comprises is an open term that means including at least the elements/features that follow, but not excluding others.
  • the term comprising, when used in the claims should not be interpreted as being limitative to the means or elements or steps listed thereafter.
  • the scope of the expression a device comprising A and B should not be limited to devices consisting only of elements A and B.
  • Any one of the terms including or which includes or that includes as used herein is also an open term that also means including at least the elements/features that follow the term, but not excluding others.
  • including is synonymous with and means comprising.
  • the term "exemplary" is used in the sense of providing examples, as opposed to indicating quality. That is, an "exemplary embodiment" is an embodiment provided as an example, as opposed to necessarily being an embodiment of exemplary quality.
  • FIG. 1 schematically illustrates a framework according to one embodiment.
  • FIG. 2A illustrates a method according to one embodiment.
  • FIG. 2B illustrates a method according to one embodiment.
  • FIG. 2C illustrates a method according to one embodiment.
  • FIG. 2D illustrates a method according to one embodiment.
  • FIG. 3 illustrates a client-server framework leveraged by various embodiments
  • FIG. 4 illustrates an exemplary mobile app arrangement.
  • FIG. 5 illustrates an exemplary method.
  • FIG. 6A to FIG. 6I illustrate exemplary mobile app screenshots.
  • Described herein are frameworks, devices and methodologies configured for enabling content generation, including collaborative content generation.
  • Embodiments of the invention have been particularly developed for enabling the coordination of a plurality of concurrent collaborative music generation projects. While some embodiments will be described herein with particular reference to that application, it will be appreciated that the invention is not limited to such a field of use, and is applicable in broader contexts.
  • Some embodiments described herein relate generally to a computer implemented framework that enables a plurality of users to participate in a collaborative creative process, driven by a time-based automated process.
  • users each submit an "idea” or "inspiration" for a collaborative project.
  • this occurs by way of each user uploading a concept media file.
  • this may be substantially any file in an allowable file format.
  • some embodiments relate to an audio-specific collaborative process, whereby specific forms of audio track formats are allowable (such as AIF, AIFF, MIDI, MP3, etc).
  • users may, for instance, upload the likes of a drum track, instrumental riff, vocal arrangement, or so on.
  • Limitations may optionally be defined subjectively by way of a set of user participation guidelines or the like. Users are then automatically arranged into groups of a predetermined size (or groups of multiple sizes), with each group being enabled to collaborate on a media project using the group members' respective concept media files as a starting point. For example, intermediate files may pass between the users, subject to a controlled process, through one or more iterative loops. At the completion of this process a finalised media file is generated, which is optionally published for playback.
  • FIG. 1 illustrates an exemplary framework according to one embodiment.
  • This framework is based around a collaboration management server 100 which, via a web interface 1 10, interacts with an exemplary user terminal 120 and a plurality of further user terminals 120'.
  • Server 100 may be defined by a single server component, or by a plurality of separate (and optionally distributed components).
  • Server 100 is configured to interact with databases 130, which may be defined across one or more storage devices.
  • User terminals 120 and 120' may be defined by substantially any forms of computing platforms, including the likes of PCs, notebooks, tables and mobile devices (for example Android and iOS devices).
  • user terminal 120 includes a microprocessor 121 coupled to a memory module 122.
  • Memory module 122 maintains computer executable code (software instructions) executable by way of processor 121.
  • Processor 121 is additionally coupled to a communications module 123 (for example an Ethernet or wireless Ethernet module, a cellular telecommunications module, or the like) which enables terminal 120 to communicate with server devices via the Internet (for example communication with server 100 via web interface 1 10).
  • Terminal 120 also includes a variety of other components, which are not shown due to their commonplace nature.
  • Software instructions maintained by memory module 120 include software instructions representative of a web browser application 124 (such as Internet Explorer, Chrome, Firefox, or the like), which enable rendering of code downloaded via web interface 1 10. This enables terminal 120 to display a user interface, via various webpages, which enable user interaction with server 100. In other embodiments a proprietary application may be used as an alternative to a web browser arrangement.
  • a web browser application 124 such as Internet Explorer, Chrome, Firefox, or the like
  • Software instructions maintained by memory module 120 include software instructions representative of a media editor application, such as Garage Band, Sony ACID, or the like. This enables a user to modify a media file, for example in the context of embodiments specifically considered herein a media file representative of multiple audio tracks.
  • Server 100 is described by reference to a plurality of modules, which are defined functionally. In this manner, the modules may be provided by one or more software components executing on terminals provided by and/or associated with server 100.
  • a user registration module 1 11 enables a user to create a user account. In particular, personal information is submitted via one or more web forms, and the submitted information stored in a user record in user database 131. The user record is also associated with login credentials (for example a username and password) thereby to enable identification of the relevant user. In some cases the user record is associated with one or more other services which personally identify the user (for example accounts with social media platforms, email, platforms, or the like). Association with such services enables server 100 to provide notifications (such as prompts and/or reminders, as discussed further below) to be communicated to the user via those services (for example provision of prompts via Facebook messages and/or notifications).
  • notifications such as prompts and/or reminders, as discussed further below
  • a user Upon registration and logging in, a user is provided with access to additional functionalities of server 100. This includes access to functionality provided by a concept media upload module 1 12, which allows a user to upload a concept media file (for example an AIFF file or the like).
  • a concept media file for example an AIFF file or the like.
  • a group formation module 1 13 is configured to arrange users who have uploaded concept media files into groups of predetermined size (or sizes), for example and described further below.
  • module 1 13 is configured to perform computer-implemented method for defining collaboration groups, the method including: maintaining access to a database of registered users; identifying a subset of the registered users eligible for participation in a collaborative process, wherein each of the users has uploaded a respective concept media file; performing a selection process, thereby to create a plurality of groups, each group being defined by a predetermined number of users selected from the subset of registered users; and for each group, defining a commencement intermediate file, wherein the commencement intermediate file includes a set of media tracks corresponding to the concept media files uploaded by the users defining the group.
  • a collaboration driving module 1 15 is confirmed for driving a time-based collaborative method. This is "time based" in the sense that users are prompted to perform actions within specified deadlines. If an action is not performed prior to expiry of a deadline, the action is skipped, such that the process can continue to a subsequent action.
  • a collaboration database 132 maintains data representative of such deadlines and actions, thereby to enable operation of a rules engine or the like within module 1 15 thereby to coordinate prompting and the like.
  • a computer implemented method performed by module 1 15 includes:
  • (ii) Defining an iterative chain order for the group of users, from a 1 st user to a n th user. This may be achieved by way of a random process. In some embodiments multiple collaborations are performed in respect of each group, each with different iterative chain orders. For example, in one embodiment groups of three are defined, and three collaborations are performed by each group (with each group member being the 1 st in chain order for one of these). (iii) Defining a commencement intermediate file, wherein the commencement intermediate file includes a plurality of file portions derived from the concept media files. For example, a multi-track audio file is automatically generated containing each of the group members' concept media files.
  • the commencement intermediate file may include a first file defining a project file for a media editor application, and a plurality of associated media files that are referenced and required by the project file.
  • the commencement intermediate file is defined simply by a download package (such as a ZIP file) containing the concept media files.
  • the commencement intermediate file, and other intermediate files generated and uploaded to server 100 during the collaboration process, are maintained in an intermediate file database 133.
  • these intermediate files are defined by (or associated with) a group of files.
  • FIG. 2D provides an example where three users partake in two iterative loops (discussed further below).
  • the finalised media file converted into a flattened media format (for example a stereo format, such as MP3), and stored in a finalised media database 134.
  • a media publishing module 1 16 is configured for allowing publishing of the finalised collaborative media file via a web-based service, for example to enable playback by one or more users via the Internet (for example via a streaming arrangement.
  • Media translation modules 1 14 are configured for enabling conversion of media between two or more file formats. In some embodiments these modules are wholly or partially omitted in favour of stipulating specific file formats in which users must upload concept and/or intermediate media files. Media translation modules may be configured for performing any one or more of the flowing:
  • FIG. 2A illustrates an exemplary collaborative process 200 according to one embodiment. It will be appreciated that variations in the nature and ordering of functional blocks may result in other embodiments.
  • Functional block 201 represents a user registration process, which is performed as a one- off event by each user. Following this registration, the user is able to identify himself/herself using a set of login credentials (which may be inherently linked to a social media account or the like).
  • Functional block 202 represents a process including upload, by a plurality of users, of respective concept media files. This precedes a group creation process 203 whereby users are autonomously grouped together to collaborate on the basis of their concept media files. Preferably the users are informed, prior to uploading of concept media files, of the next time at which process 203 is to be performed.
  • Functional blocks 204 and 205 represents the commencement and driving of a collaborative process. This involves a time-based process based upon a set of rules and/or algorithms which automatically prompt users to perform actions (and, in the event that actions are not taken in time, move on to a subsequent user and action).
  • a media finalisation/publishing process is performed at 206, whereby a finalised media file is generated and made available for playback (and/or download). Also following the collaboration driving process, users are released such that they can upload new concept items, and participate in further collaborations.
  • FIG. 2B illustrates an exemplary group creation process 210 according to one embodiment. It will be appreciated that variations in the nature and ordering of functional blocks may result in other embodiments.
  • Functional block 21 1 represents commencement of a group creation process. This may occur either subject to a time-based schedule, multiple rolling schedules, or based on system events (for example in response to a threshold number of users awaiting assignment to groups).
  • Functional block 212 represents a process including determining group parameters for process 210.
  • groups having different parameters may be formed. For instance, in some cases groups of random numbers may be formed (either within a given creation process, or a single random number for each creation process), or uses may select a preference for the size of group in which they wish to participate.
  • Functional block 213 represents a process including identifying eligible users.
  • eligible users are defined by the set of users that have uploaded concept media files, and are awaiting allocation to groups. In other cases, this may be dependent on parameters. For example, in one embodiment users specify the size of group in which they wish to work, and in the case that the group parameters for a given group creation process define a group size of n, only users wishing to participate in a group of size n are eligible. Other parameters may be a desired number of iterative loops, a desired level of past experience of other members, and/or a range of other possible filters.
  • Functional block 214 represents a group creation process based upon the eligible users. This may be a randomised process. In some embodiments the randomised process is limited by various levels of filtering. For example, the random selection process is constrained by a set of group creation rules. This may occur in embodiments where each concept media file is associated with one or more properties; the set of group creation rules may specify rules for creating groups based on properties of the users' concept media files. For instance, in respect of audio files, the properties may indicate whether the concept is a beat, riff, lyric, etc.
  • the set of group creation rules include a rule preventing creation of a group where multiple of the members' concept media files share identical values for a given property (for example to prevent formation of a group with multiple "beat" type concept media files).
  • the rules are implemented to encourage diversity between concept media file properties in a group.
  • Functional block 215 represents a process including updating group tables in the collaboration database. This informs the system as to which users belong to which group, thereby to enable driving of the collaborative process. Commencement intermediate files are then defined at 216, and collaboration commences at 217.
  • FIG. 2C illustrates an exemplary collaboration control/driving process 230 according to one embodiment. It will be appreciated that variations in the nature and ordering of functional blocks may result in other embodiments.
  • Method 230 relates to the driving of a single collaborative process (i.e. for one group). It will be appreciated that multiple instances of method 220 are concurrently performed for multiple unique collaborative processes.
  • Functional block 221 represents the commencement of a collaborative process.
  • block 222 which, on this first occasion, includes sending the commencement intermediate file to the first user in the iterative chain. Each time the method repeats to block 222, it is performed in respect of a sequentially next user in the chain (with the 1 st user sequentially following the n th user).
  • the term "sending" should be read to include both the sending of a file, or the provision of a link to enable downloading of a file.
  • the user is given a defined time period in which to perform a creative iteration by modifying the file (for example via a media editing software application) and upload a modified version (i.e. a new intermediate file).
  • Decision 223 includes determining whether a new intermediate file has been uploaded by the current user in the iterative chain. Decision 223 may be performed by way of a periodic monitoring process (for example a check at periodic intervals), or by way of an event-driven process (for example triggered by an upload). In the case that a new intermediate file is uploaded, the method progresses to 224. Otherwise, the method essentially progresses to 225 at the end of the iteration time limit (i.e. expiry of deadline for action by the user).
  • a periodic monitoring process for example a check at periodic intervals
  • an event-driven process for example triggered by an upload
  • FIG. 2D illustrates an exemplary iterative collaboration process. This is for a group of three users (User A, User B and User C), and involves two iterative loops.
  • the process commences at 240, with the downloading of a commencement intermediate file (Version 0) for a creative iteration at 241.
  • lines are each marked with a number representing a version number for the intermediate file that is uploaded and/or downloaded at that point in the process.
  • User A's creative iteration at 241 results with a Version 1 , which is uploaded to the server, and subsequently downloaded by user B (for example in response to a prompt) for a creative iteration at 242.
  • This results in a Version 2 which passes to User C (via upload and download) for a further creative iteration at 243, in turn resulting in a Version 3 which becomes available for creative iteration by User A (again at 241).
  • a second loop moves though versions 4, 5, and 6, before User A submits a finalised Version 7 for a finalisation process at 244.
  • Described below is an exemplary mobile app based implemented which provides to a user technology inspired by the preceding disclosure.
  • the collaborative process is modified, thereby to allow a first user to commence modification of a given musical track (which may be downloaded from a source), and then invite another user (or users) to continue the creative process in respect of that track.
  • each track has multiple sub-tracks, and the process is passed between users such that on each iteration another sub-track is creatively modified.
  • FIG. 4 illustrates an exemplary framework, whereby a mobile app 401 is stored on a memory module 402 of a user mobile device 403, and executes via an operating system 404 (for example iOS or Android).
  • the app 401 is configured to communicate with a server side framework 410, which operates in conjunction with a database 412 (which maintains, for example, data indicative of registered user accounts).
  • This server side framework provides an APNS module 41 1 , which enables the delivery of notification messages directly to the mobile device.
  • Framework 410 additionally, in the illustrated example, is configured to communicate with a web hosted audio platform 420 (such as Soundcloud) and a social media platform 430 (such as Facebook).
  • Mobile app 401 is configured to identify a user, the user having a user account defined at a central database. This is preferably a one-off login, with user credentials thereafter being remembered by the app. For new users, a registration process is performed, optionally piggybacking an existing online presence, such as a Facebook account.
  • App 401 then makes available to the user a plurality of songs that are associated with the user account.
  • the tern "song" in this context refers to the concept of a piece of music (with or without vocals).
  • the app provides a plurality of free songs by default, with an option for the user to download additional songs for a fee (for example via in-app purchase).
  • all songs which are available to a given user i.e. free and purchased are downloaded to the mobile device and stored in local memory.
  • a key functionality of app 401 is enabling a user to interact with a selected one of the songs via a graphical mixer interface.
  • This graphical mixer interface enables the user to perform a mixing process including:
  • each song is associated with a plurality of musical sub-tracks.
  • the plurality of musical sub-tracks are instrument-specific sub-tracks (for example bass, keyboards, synthesizers, vocals, drums, etc).
  • the number of sub-tracks may vary from song to song.
  • each available "song" is defined in memory of device 403 as a song data set which includes individual sub-track data.
  • the nature of available transformations may also vary between embodiments, and in one embodiment the transformations include (or are limited to) volume transformations. In this regard, by modifying the volume of one or more of the sub-tracks, the user is able to create a form of modified "remix" of the song, as compared with its original version (in which all tracks are at 100% volume).
  • the transformation includes selecting one of a plurality of sub-track options, for example alternate bass lines, drumming styles, and so on. That is, a given song data set may, for each sub-track, contain multiple options, wherein each option is defined by an audio track which is of common tempo to the others (and preferably shares other common parameters such that it is able to audibly "fit" with the overall song).
  • app 401 Based on the user's interaction with the mixer interface, app 401 defines a modified song version based on the mixing process, and enables audible playback of the modified song version (for example by uploading a file representing the modified song version to a web hosted audio platform, which may be a third party platform such as Soundcloud).
  • a web hosted audio platform which may be a third party platform such as Soundcloud.
  • each song includes a plurality of song portions, and the mixing process is performed individually in respect of a particular one of the song portions (i.e. each portion is mixed individually).
  • the portions are preferably functionally defined, for example an introduction, verses, choruses, bridges, and so on.
  • App 401 is configures to allow two forms of creative process:
  • the collaborative process operates in conjunction with a sharing/invitation arrangement, which may leverage Facebook or other social media, thereby to allow a user to engage in collaboration with friends (for example based on a process as described further above, but where a song portion is assigned to each person.
  • a user may commence the collaborative process by mixing one song portion, and invite friends (e.g. Facebook friends) to continue that process in relation to the other song portions.
  • collaboration is via an expanding chain, whereby each user passes their intermediate product to multiple users.
  • each intermediate product is passed to two friends such that, for a song with four portions, fifteen users are involved in the process of creating eight versions (with four users collaborating on each).
  • FIG. 5 illustrates an exemplary method performed by app 401 in conjunction with server side framework 410.
  • app 401 is referred to as WHISPA, and users create what are referred to as "Whispas".
  • a "Whispa” is a song which has had its individual portions modified using app 401 .
  • Block 501 represents a user creative intersection, whereby a next song portion is modified by a user. This may be a first song portion, up to a (n-7) th song portion, for a song with n portions. The n th portion is dealt with in block 508, discussed further below.
  • WHIS.PA user interface button marked "WHIS.PA” (shown in exemplary screenshots) at 502 , which triggers a request to a web server to notify selected friends (in some cases one friend, in some cases multiple friends) for the purpose of collaboration at 503.
  • This request is indicative of relevant friends (optionally by reference to the user's Facebook login details), and details including an ID for the relevant Whispa, round information, and so on.
  • the server determines whether the selected friends are currently logged in to their respective WHIS.PA apps. If not, notifications are queued for later delivery at 505. Otherwise, the APNS server delivers notification to users. These notifications are indicative of invitations to participate.
  • Each accepting user (at 507) performs a creative iteration for the next song portion (at 501 or 508). For rounds 2 to n-2 the process loops. It will be appreciated that, where multiple finds accept an invitation, a given Whispa splits into multiple parallel versions, with multiple users each individually modifying the next song portion and inviting their own friends.
  • Block 510 and block 51 1 again relate to notification queuing, with a key difference being that the notifications provided at block 512 are indicative of a Whispa being completed (and are provided to all contributing users for the relevant Whispa). Following this notification, the relevant users are able to experience, share, publish (and/or performed other functions) in respect of the completed Whispa.
  • FIG. 6A to FIG. 6I illustrate exemplary app screenshots for an exemplary version of app 401.
  • FIG. 6A to FIG. 6I illustrate exemplary app screenshots for an exemplary version of app 401.
  • these screenshots :
  • FIG. 6A illustrates a log in screen, which provides options to login using Facebook, or using redefined credentials. This screen also provides an option to create a new account. Preferably this screen is shown only on a first launch of the app, with login credentials remembered for subsequent use.
  • FIG. 6B shows a screen which provides options to engage in either solo (user standalone) creation, or collaborative creation.
  • FIG. 6C shows an exemplary registration screen.
  • FIG. 6D shows an exemplary profile screen, created following registration. Certain values are able to be modified.
  • FIG. 6E illustrates an interface which enables a user to select between song portions for a given song.
  • FIG. 6F illustrates an interface which enables a user to select between sub-tracks for a given song portion.
  • FIG. 6H illustrates an interface with enables a user to select between multiple options for a "bass" sub track.
  • FIG. 6H an interface which enables a user to control relative volumes for the plurality of sub- tracks.
  • FIG. 6I illustrates an interface which enables a user to view and access collaborative invitation.
  • a web server 302 provides a web interface 303. This web interface is accessed by the parties by way of client terminals 304. In overview, users access interface 303 over the Internet by way of client terminals 304, which in various embodiments include the likes of personal computers, PDAs, cellular telephones, gaming consoles, and other Internet enabled devices.
  • Server 303 includes a processor 305 coupled to a memory module 306 and a communications interface 307, such as an Internet connection, modem, Ethernet port, wireless network card, serial port, or the like. In other embodiments distributed resources are used.
  • server 302 includes a plurality of distributed servers having respective storage, processing and communications resources.
  • Memory module 306 includes software instructions 308, which are executable on processor 305.
  • Server 302 is coupled to a database 310.
  • the database leverages memory module 306.
  • web interface 303 includes a website.
  • the term "website” should be read broadly to cover substantially any source of information accessible over the Internet or another communications network (such as WAN, LAN or WLAN) via a browser application running on a client terminal.
  • a website is a source of information made available by a server and accessible over the Internet by a web-browser application running on a client terminal.
  • the web- browser application downloads code, such as HTML code, from the server. This code is executable through the web-browser on the client terminal for providing a graphical and often interactive representation of the website on the client terminal.
  • a user of the client terminal is able to navigate between and throughout various web pages provided by the website, and access various functionalities that are provided.
  • client terminals 304 maintain software instructions for a computer program product that essentially provides access to a portal via which framework 100 is accessed (for instance via an iPhone app or the like).
  • each terminal 304 includes a processor 31 1 coupled to a memory module 313 and a communications interface 312, such as an internet connection, modem, Ethernet port, serial port, or the like.
  • Memory module 313 includes software instructions 314, which are executable on processor 31 1 . These software instructions allow terminal 304 to execute a software application, such as a proprietary application or web browser application and thereby render on-screen a user interface and allow communication with server 302. This user interface allows for the creation, viewing and administration of profiles, access to the internal communications interface, and various other functionalities.
  • processor may refer to any device or portion of a device that processes electronic data, e.g., from registers and/or memory to transform that electronic data into other electronic data that, e.g., may be stored in registers and/or memory.
  • a "computer” or a “computing machine” or a “computing platform” may include one or more processors.
  • the methodologies described herein are, in one embodiment, performable by one or more processors that accept computer-readable (also called machine-readable) code containing a set of instructions that when executed by one or more of the processors carry out at least one of the methods described herein.
  • Any processor capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken are included.
  • a typical processing system that includes one or more processors.
  • Each processor may include one or more of a CPU, a graphics processing unit, and a programmable DSP unit.
  • the processing system further may include a memory subsystem including main RAM and/or a static RAM, and/or ROM.
  • a bus subsystem may be included for communicating between the components.
  • the processing system further may be a distributed processing system with processors coupled by a network. If the processing system requires a display, such a display may be included, e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT) display. If manual data entry is required, the processing system also includes an input device such as one or more of an alphanumeric input unit such as a keyboard, a pointing control device such as a mouse, and so forth.
  • the processing system in some configurations may include a sound output device, and a network interface device.
  • the memory subsystem thus includes a computer-readable carrier medium that carries computer-readable code (e.g., software) including a set of instructions to cause performing, when executed by one or more processors, one of more of the methods described herein.
  • computer-readable code e.g., software
  • the software may reside in the hard disk, or may also reside, completely or at least partially, within the RAM and/or within the processor during execution thereof by the computer system.
  • the memory and the processor also constitute computer-readable carrier medium carrying computer-readable code.
  • a computer-readable carrier medium may form, or be included in a computer program product.
  • the one or more processors operate as a standalone device or may be connected, e.g., networked to other processor(s), in a networked deployment, the one or more processors may operate in the capacity of a server or a user machine in server-user network environment, or as a peer machine in a peer-to-peer or distributed network environment.
  • the one or more processors may form a personal computer (PC), a tablet PC, a set-top box (STB), a Personal Digital Assistant (PDA), a cellular telephone, a web appliance, a network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine.
  • PC personal computer
  • PDA Personal Digital Assistant
  • each of the methods described herein is in the form of a computer-readable carrier medium carrying a set of instructions, e.g., a computer program that is for execution on one or more processors, e.g., one or more processors that are part of web server arrangement.
  • a computer-readable carrier medium carrying computer readable code including a set of instructions that when executed on one or more processors cause the processor or processors to implement a method.
  • aspects of the present invention may take the form of a method, an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects.
  • the present invention may take the form of carrier medium (e.g., a computer program product on a computer-readable storage medium) carrying computer-readable program code embodied in the medium.
  • the software may further be transmitted or received over a network via a network interface device.
  • the carrier medium is shown in an exemplary embodiment to be a single medium, the term “carrier medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions.
  • the term “carrier medium” shall also be taken to include any medium that is capable of storing, encoding or carrying a set of instructions for execution by one or more of the processors and that cause the one or more processors to perform any one or more of the methodologies of the present invention.
  • a carrier medium may take many forms, including but not limited to, non-volatile media, volatile media, and transmission media.
  • Non-volatile media includes, for example, optical, magnetic disks, and magneto-optical disks.
  • Volatile media includes dynamic memory, such as main memory.
  • Transmission media includes coaxial cables, copper wire and fiber optics, including the wires that comprise a bus subsystem. Transmission media also may also take the form of acoustic or light waves, such as those generated during radio wave and infrared data communications.
  • carrier medium shall accordingly be taken to included, but not be limited to, solid-state memories, a computer product embodied in optical and magnetic media; a medium bearing a propagated signal detectable by at least one processor of one or more processors and representing a set of instructions that, when executed, implement a method; and a transmission medium in a network bearing a propagated signal detectable by at least one processor of the one or more processors and representing the set of instructions.
  • Coupled may mean that two or more elements are either in direct physical or electrical contact, or that two or more elements are not in direct contact with each other but yet still co-operate or interact with each other.

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

A collaborative content generation method which provides a user interface to upload media files and uses a group generation arrangement to define collaboration groups of users and shares media files amongst group members for independent, download, modification and upload and enables publishing of a finalised media file. User selection control defines groups. File sharing control is implemented in a sequential and iterative manner, for each group, with each user prompted in turn for their contribution.

Description

COLLABORATIVE MEDIA GENERATION SYSTEM
FIELD OF THE INVENTION
[0001] The present invention relates to frameworks, devices and methodologies configured for enabling collaborative content generation. Embodiments of the invention have been particularly developed for enabling the coordination of a plurality of concurrent collaborative music generation projects. While some embodiments will be described herein with particular reference to that application, it will be appreciated that the invention is not limited to such a field of use, and is applicable in broader contexts, including embodiments where users engage in standalone (solo) content generation processes.
BACKGROUND
[0002] Any discussion of the background art throughout the specification should in no way be considered as an admission that such art is widely known or forms part of common general knowledge in the field.
[0003] It is known for users to collaborate with one another in the context of generating media content, such as music, videos, artworks, and the like. This conventionally includes sharing output files from media editing software applications between users that are known to one another (and have previously negotiated to partake in a collaborative endeavour).
SUMMARY OF THE INVENTION
[0004] It is an object of the present invention to overcome or ameliorate at least one of the disadvantages of the prior art, or to provide a useful alternative.
[0005] One embodiment provides a computer implemented method for facilitating collaborative content generation the method including:
[0006] (i) providing an interface thereby to enable a plurality of users to upload respective concept media files;
[0007] (ii) implementing a group generation protocol thereby to define a plurality of collaboration groups, wherein each collaboration group is defined by a subset of the plurality of users;
[0008] (iii) coordinating a collaboration process whereby, for each group, intermediate media files are shared among the members of that group for independent modification by the members of the group; and [0009] (iv) upon completion of the collaboration process, enabling publishing of a finalised media file derived from the sharing and independent modification of the intermediate media files.
[0010] One embodiment provides a computer implemented method wherein the group generation process includes defining a plurality of groups of a predetermined size based on a random selection process.
[001 1] One embodiment provides a computer implemented method wherein coordinating the collaboration process includes identifying a next user in an iterative chain, and prompting that next user to download an intermediate file, and upload a modified version of the intermediate file prior to a defined deadline.
[0012] One embodiment provides a computer implemented method wherein, in absence of identified next user uploading a modified version of the intermediate file prior to the defined deadline, the method includes identifying a further next user in the iterative chain, and prompting that next user to download the intermediate file, and upload a modified version of the intermediate file prior to a further defined deadline.
[0013] One embodiment provides a computer implemented method including operating a media file translation module thereby to enable conversion of the concept media files and/or intermediate files into one or more media formats.
[0014] One embodiment provides a computer implemented method wherein the file translation module is configured to convert a given intermediate file into an alternate media format in response to user-defined preferences for a next user in an iterative chain.
[0015] One embodiment provides a computer implemented method wherein the media file is published thereby to enable playback via a web-based interface.
[0016] One embodiment provides a computer-implemented method for defining collaboration groups, the method including:
[0017] (i) maintaining access to a database of registered users;
[0018] (ii) identifying a subset of the registered users eligible for participation in a collaborative process, wherein each of the users has uploaded a respective concept media file;
[0019] (iii) performing a selection process, thereby to create a plurality of groups, each group being defined by a predetermined number of users selected from the subset of registered users; and
[0020] (iv) for each group, defining a commencement intermediate file, wherein the commencement intermediate file includes a set of media tracks corresponding to the concept media files uploaded by the users defining the group. [0021] One embodiment provides a computer-implemented method wherein identifying the subset of registered users includes comparing a set of system-set parameters for the collaborative process with a set of user-set parameters respectively defined by the plurality of users.
[0022] One embodiment provides a computer-implemented method wherein the selection process includes a random selection process.
[0023] One embodiment provides a computer-implemented method wherein the random selection process is constrained by a set of group creation rules.
[0024] One embodiment provides a computer-implemented method wherein each concept media file is associated with one or more properties, and wherein the set of group creation rules specify rules for creating groups based on properties of the users' concept media files.
[0025] One embodiment provides a computer-implemented method wherein the set of group creation rules include a rule preventing creation of a group where multiple of the members' concept media files share identical values for a given property.
[0026] One embodiment provides a computer-implemented method wherein the commencement intermediate file is made available for download by each of the members of the group, thereby to enable commencement of respective collaborative processes.
[0027] One embodiment provides a method for coordinating collaborative media creation process, the method including:
[0028] (i) identifying a pre-defined group of users, wherein each of the users has uploaded a respective concept media file;
[0029] (ii) defining an iterative chain order for the group of users, from a 1 st user to a nth user;
[0030] (iii) defining a commencement intermediate file, wherein the commencement intermediate file includes a plurality of file portions derived from the concept media files;
[0031] (iv) prompting the 1 st user to perform a creative iteration in respect of the commencement intermediate file and, based upon the creative iteration, submit a modified intermediate file;
[0032] (v) following submission of the 1st user's modified intermediate file, prompting a next user in the iterative chain to perform a creative iteration in respect of the modified intermediate file and, based upon the creative iteration, submit a modified intermediate file; and
[0033] (vi) repeating (v) for the 2nd user to nth user.
[0034] One embodiment provides a method including, following (vi): [0035] (vii) following submission of the nth user's modified intermediate file, prompting the first user in the iterative chain to perform a creative iteration in respect of the latest modified intermediate file and, based upon the creative iteration, submit a modified intermediate file; and
[0036] (viii) repeating (v) for the 2nd user to nth user.
[0037] One embodiment provides a method including repeating (vii) and (viii) for a predefined number of iterative loops.
[0038] One embodiment provides a method wherein, for a given creative iteration, the user is prompted to download the intermediate file using a first designated webpage, and upload the modified intermediate file using a second designated webpage.
[0039] One embodiment provides a method wherein the intermediate file is downloadable in a file format selected based upon user-defined preferences.
[0040] One embodiment provides a method wherein, in respect of a given creative iteration, an ith user is prompted to submit the modified intermediate file prior to a designated deadline and, in the event that a user does not submit the modified intermediate file prior to the designated deadline, the (i+1)th user in the iterative chain is prompted to perform a creative iteration in respect of the file previously prompted to the ith user.
[0041] One embodiment provides a method wherein a plurality of iterative processes are conducted for the group, wherein each of the plurality iterative processes is based upon a unique iterative chain order.
[0042] One embodiment provides a method, performed at a mobile device based on execution of software instructions, thereby to enable a media creation process, the method including:
[0043] identifying a user, the user having a user account defined at a central database;
[0044] making available to the user a plurality of songs that are associated with the user account;
[0045] enabling a user to interact with a selected one of the songs via a graphical mixer interface, wherein the graphical mixer interface enables the user to:
[0046] (i) select a musical sub-track of song;
[0047] (ii) apply a transformation to the sub-track; and
[0048] (iii) selectively repeat (i) and (ii) for one or more further sub-tracks of song; and
[0049] defining a modified song version based on (i) to (iii); and
[0050] enabling audible playback of the modified song version. [0051] One embodiment provides a method wherein each song is associated with a plurality of musical sub-tracks.
[0052] One embodiment provides a method wherein one or more of the plurality of musical sub- tracks are instrument-specific sub-tracks.
[0053] One embodiment provides a method wherein making available to the user a plurality of songs that are associated with the user account includes downloading , from a remote server, data indicative of one or more song data sets currently not stored in local memory of the mobile device.
[0054] One embodiment provides a method including enabling the user to associate one or more additional songs with the user account via in-app purchase.
[0055] One embodiment provides a method wherein the selected one of the songs includes a plurality of song portions, and (i) to (iii) are performed in respect of a particular one of the song portions.
[0056] One embodiment provides a method wherein the user performs (i) to (iii) in respect of the particular one of the song portions and all remaining song portions.
[0057] One embodiment provides a method wherein one or more additional users of further mobile devices which perform a method as described herein perform (i) to (iii) in respect of others of the song portions, thereby to collaboratively define a modified song version that is available for playback by the user and the one or more additional users.
[0058] One embodiment provides a method wherein the user is enabled to select between:
[0059] (a) a solo creative process, whereby the user performs (i) to (iii) in respect of the particular one of the song portions and all remaining song portions; or
[0060] (b) a collaborative creative process, whereby one or more additional users of further mobile devices which perform a method as discussed herein perform (i) to (iii) in respect of others of the song portions, thereby to collaboratively define a modified song version that is available for playback by the user and the one or more additional users.
[0061] One embodiment provides a method including enabling the user to perform any one of (i) to (iii) for a song portion for a song in respect of which an invitation is received from a further user.
[0062] One embodiment provides a method performed at a mobile device based on execution of software instructions, thereby to enable a media creation process, the method including:
[0063] enabling a user to download one or more song data sets, wherein each song data set includes a plurality of musical sub-tracks; [0064] enabling a user to interact with a selected one of the song data sets via a graphical mixer interface, wherein the graphical mixer interface enables the user to:
[0065] (i) select a musical sub-track of song;
[0066] (ii) apply a transformation to the sub-track; and
[0067] (iii) selectively repeat (i) and (ii) for one or more further sub-tracks of song; and [0068] defining a modified song version based on (i) to (iii); and [0069] enabling audible playback of the modified song version.
[0070] One embodiment provides a method wherein the selected one of the songs includes a plurality of song portions, and (i) to (iii) are performed in respect of a particular one of the song portions.
[0071] One embodiment provides a method wherein the user performs (i) to (iii) in respect of the particular one of the song portions and all remaining song portions.
[0072] One embodiment provides a method wherein one or more additional users of further mobile devices which perform a method as discussed herein perform (i) to (iii) in respect of others of the song portions, thereby to collaboratively define a modified song version that is available for playback by the user and the one or more additional users.
[0073] One embodiment provides a method wherein the user is enabled to select between:
[0074] (a) a solo creative process, whereby the user performs (i) to (iii) in respect of the particular one of the song portions and all remaining song portions; or
[0075] (b) a collaborative creative process, whereby one or more additional users of further mobile devices which perform a method as discussed herein perform (i) to (iii) in respect of others of the song portions, thereby to collaboratively define a modified song version that is available for playback by the user and the one or more additional users.
[0076] One embodiment provides a method wherein the transformation includes a volume transformation.
[0077] One embodiment provides a method wherein enabling audible playback of the modified song version includes making the modified song version available via a web location.
[0078] One embodiment provides a computer implemented method, performed at a mobile device based on execution of software instructions, thereby to enable a media creation process, the method including:
[0079] enabling a user to select a song data set; [0080] enabling a user to interact with a selected one of the song data sets via a graphical mixer interface, wherein the graphical mixer interface enables the user to apply a transformation to a musical sub-track of the selected song;
[0081] enabling the user to invite one or more additional users to, via their respective mobile devices, apply transformations to other musical sub-tracks of the selected song; and
[0082] once all sub-tracks have been modified, enabling audible playback of the modified song version.
[0083] One embodiment provides a computer program product for performing a method as described herein.
[0084] One embodiment provides a non-transitive carrier medium for carrying computer executable code that, when executed on a processor, causes the processor to perform a method as described herein.
[0085] One embodiment provides a system configured for performing a method as described herein.
[0086] Reference throughout this specification to "one embodiment", "some embodiments" or "an embodiment" means that a particular feature, structure or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, appearances of the phrases "in one embodiment", "in some embodiments" or "in an embodiment" in various places throughout this specification are not necessarily all referring to the same embodiment, but may. Furthermore, the particular features, structures or characteristics may be combined in any suitable manner, as would be apparent to one of ordinary skill in the art from this disclosure, in one or more embodiments.
[0087] As used herein, unless otherwise specified the use of the ordinal adjectives "first", "second", "third", etc., to describe a common object, merely indicate that different instances of like objects are being referred to, and are not intended to imply that the objects so described must be in a given sequence, either temporally, spatially, in ranking, or in any other manner.
[0088] In the claims below and the description herein, any one of the terms comprising, comprised of or which comprises is an open term that means including at least the elements/features that follow, but not excluding others. Thus, the term comprising, when used in the claims, should not be interpreted as being limitative to the means or elements or steps listed thereafter. For example, the scope of the expression a device comprising A and B should not be limited to devices consisting only of elements A and B. Any one of the terms including or which includes or that includes as used herein is also an open term that also means including at least the elements/features that follow the term, but not excluding others. Thus, including is synonymous with and means comprising. [0089] As used herein, the term "exemplary" is used in the sense of providing examples, as opposed to indicating quality. That is, an "exemplary embodiment" is an embodiment provided as an example, as opposed to necessarily being an embodiment of exemplary quality.
BRIEF DESCRIPTION OF THE DRAWINGS
[0090] Embodiments of the invention will now be described, by way of example only, with reference to the accompanying drawings in which:
[0091] FIG. 1 schematically illustrates a framework according to one embodiment.
[0092] FIG. 2A illustrates a method according to one embodiment.
[0093] FIG. 2B illustrates a method according to one embodiment.
[0094] FIG. 2C illustrates a method according to one embodiment.
[0095] FIG. 2D illustrates a method according to one embodiment.
[0096] FIG. 3 illustrates a client-server framework leveraged by various embodiments
[0097] FIG. 4 illustrates an exemplary mobile app arrangement.
[0098] FIG. 5 illustrates an exemplary method.
[0099] FIG. 6A to FIG. 6I illustrate exemplary mobile app screenshots.
DETAILED DESCRIPTION
[00100] Described herein are frameworks, devices and methodologies configured for enabling content generation, including collaborative content generation. Embodiments of the invention have been particularly developed for enabling the coordination of a plurality of concurrent collaborative music generation projects. While some embodiments will be described herein with particular reference to that application, it will be appreciated that the invention is not limited to such a field of use, and is applicable in broader contexts.
[00101] Some embodiments described herein relate generally to a computer implemented framework that enables a plurality of users to participate in a collaborative creative process, driven by a time-based automated process. In overview, users each submit an "idea" or "inspiration" for a collaborative project. In the embodiments described herein this occurs by way of each user uploading a concept media file. In general terms, this may be substantially any file in an allowable file format. For example, some embodiments relate to an audio-specific collaborative process, whereby specific forms of audio track formats are allowable (such as AIF, AIFF, MIDI, MP3, etc). In such an example, users may, for instance, upload the likes of a drum track, instrumental riff, vocal arrangement, or so on. Limitations may optionally be defined subjectively by way of a set of user participation guidelines or the like. Users are then automatically arranged into groups of a predetermined size (or groups of multiple sizes), with each group being enabled to collaborate on a media project using the group members' respective concept media files as a starting point. For example, intermediate files may pass between the users, subject to a controlled process, through one or more iterative loops. At the completion of this process a finalised media file is generated, which is optionally published for playback.
[00102] Although embodiments described herein focus on audio collaboration, further embodiments may additionally or alternately incorporate other forms of media, such as video.
Exemplary Framework
[00103] FIG. 1 illustrates an exemplary framework according to one embodiment. This framework is based around a collaboration management server 100 which, via a web interface 1 10, interacts with an exemplary user terminal 120 and a plurality of further user terminals 120'. Server 100 may be defined by a single server component, or by a plurality of separate (and optionally distributed components). Server 100 is configured to interact with databases 130, which may be defined across one or more storage devices.
[00104] User terminals 120 and 120' may be defined by substantially any forms of computing platforms, including the likes of PCs, notebooks, tables and mobile devices (for example Android and iOS devices). By way of example, user terminal 120 includes a microprocessor 121 coupled to a memory module 122. Memory module 122 maintains computer executable code (software instructions) executable by way of processor 121. Processor 121 is additionally coupled to a communications module 123 (for example an Ethernet or wireless Ethernet module, a cellular telecommunications module, or the like) which enables terminal 120 to communicate with server devices via the Internet (for example communication with server 100 via web interface 1 10). Terminal 120 also includes a variety of other components, which are not shown due to their commonplace nature.
[00105] Software instructions maintained by memory module 120 include software instructions representative of a web browser application 124 (such as Internet Explorer, Chrome, Firefox, or the like), which enable rendering of code downloaded via web interface 1 10. This enables terminal 120 to display a user interface, via various webpages, which enable user interaction with server 100. In other embodiments a proprietary application may be used as an alternative to a web browser arrangement.
[00106] Software instructions maintained by memory module 120 include software instructions representative of a media editor application, such as Garage Band, Sony ACID, or the like. This enables a user to modify a media file, for example in the context of embodiments specifically considered herein a media file representative of multiple audio tracks.
[00107] Server 100 is described by reference to a plurality of modules, which are defined functionally. In this manner, the modules may be provided by one or more software components executing on terminals provided by and/or associated with server 100. [00108] A user registration module 1 11 enables a user to create a user account. In particular, personal information is submitted via one or more web forms, and the submitted information stored in a user record in user database 131. The user record is also associated with login credentials (for example a username and password) thereby to enable identification of the relevant user. In some cases the user record is associated with one or more other services which personally identify the user (for example accounts with social media platforms, email, platforms, or the like). Association with such services enables server 100 to provide notifications (such as prompts and/or reminders, as discussed further below) to be communicated to the user via those services (for example provision of prompts via Facebook messages and/or notifications).
[00109] Upon registration and logging in, a user is provided with access to additional functionalities of server 100. This includes access to functionality provided by a concept media upload module 1 12, which allows a user to upload a concept media file (for example an AIFF file or the like).
[001 10] A group formation module 1 13 is configured to arrange users who have uploaded concept media files into groups of predetermined size (or sizes), for example and described further below. For example, module 1 13 is configured to perform computer-implemented method for defining collaboration groups, the method including: maintaining access to a database of registered users; identifying a subset of the registered users eligible for participation in a collaborative process, wherein each of the users has uploaded a respective concept media file; performing a selection process, thereby to create a plurality of groups, each group being defined by a predetermined number of users selected from the subset of registered users; and for each group, defining a commencement intermediate file, wherein the commencement intermediate file includes a set of media tracks corresponding to the concept media files uploaded by the users defining the group.
[001 11] A collaboration driving module 1 15 is confirmed for driving a time-based collaborative method. This is "time based" in the sense that users are prompted to perform actions within specified deadlines. If an action is not performed prior to expiry of a deadline, the action is skipped, such that the process can continue to a subsequent action. A collaboration database 132 maintains data representative of such deadlines and actions, thereby to enable operation of a rules engine or the like within module 1 15 thereby to coordinate prompting and the like. In one embodiment a computer implemented method performed by module 1 15 includes:
(i) Identifying a group defined by module 1 13.
(ii) Defining an iterative chain order for the group of users, from a 1 st user to a nth user. This may be achieved by way of a random process. In some embodiments multiple collaborations are performed in respect of each group, each with different iterative chain orders. For example, in one embodiment groups of three are defined, and three collaborations are performed by each group (with each group member being the 1st in chain order for one of these). (iii) Defining a commencement intermediate file, wherein the commencement intermediate file includes a plurality of file portions derived from the concept media files. For example, a multi-track audio file is automatically generated containing each of the group members' concept media files. In some embodiments this requires operation of media translation modules 1 14, which are discussed further below. The commencement intermediate file may include a first file defining a project file for a media editor application, and a plurality of associated media files that are referenced and required by the project file. In some embodiments the commencement intermediate file is defined simply by a download package (such as a ZIP file) containing the concept media files. The commencement intermediate file, and other intermediate files generated and uploaded to server 100 during the collaboration process, are maintained in an intermediate file database 133. In some embodiments these intermediate files are defined by (or associated with) a group of files.
(iv) Prompting the 1st user to perform a creative iteration in respect of the commencement intermediate file and, based upon the creative iteration, submit a modified intermediate file. For example, this may include presenting access to download the relevant intermediate file to the 1st user, by way of a hyperlink (which may be displayed in a webpage associated with server 100, in a link provided via social media, in an email, or otherwise). The user modifies the file as he/she sees fit using media editor application 125, and uploads the modified version to server 100 from a specified webpage. This defines a new intermediate file in database 133.
(v) Following submission of the 1st user's modified intermediate file, prompting a next user in the iterative chain to perform a creative iteration in respect of the modified intermediate file and, based upon the creative iteration, submit a modified intermediate file. Again, the user modifies the file as he/she sees fit using media editor application 125, and uploads the modified version to server 100 from a specified webpage. This defines a new intermediate file in database 133.
(vi) Repeating (v) for the 2nd user to nth user. The method may then return to the first user, either for final input (and finalisation), or to commence through one or more iterative loops prior to finalisation of a collaborative media file. Although in embodiments considered herein the collaboration process commences and ends with the first user, in other embodiments other approaches may be taken (for example finishing with the nth user).
[001 12] The number of iterative loops varies between embodiments. For example, in some embodiments there is a single iterative loop, and in other embodiments there are multiple iterative loops. FIG. 2D provides an example where three users partake in two iterative loops (discussed further below).
[001 13] Upon finalisation, the finalised media file converted into a flattened media format (for example a stereo format, such as MP3), and stored in a finalised media database 134. A media publishing module 1 16 is configured for allowing publishing of the finalised collaborative media file via a web-based service, for example to enable playback by one or more users via the Internet (for example via a streaming arrangement. [001 14] Media translation modules 1 14 are configured for enabling conversion of media between two or more file formats. In some embodiments these modules are wholly or partially omitted in favour of stipulating specific file formats in which users must upload concept and/or intermediate media files. Media translation modules may be configured for performing any one or more of the flowing:
• Converting and combining concept media files into a predefined multi-track audio format (such as AIFF).
• Converting intermediate files into multiple formats. For example, where users operate different media editor applications 125, there may be desire to download/upload a version of an intermediate file in a format proprietary to their own applications.
• Flattening a finalised file, in multi-track format, into a stereo/mono format such as MP3 or the like.
[001 15] It will be appreciated that various modifications may be performed to the framework of FIG. 1 thereby to form alternate embodiments which nevertheless provide the same underlying functionalities.
Exemplary Collaborative Process
[001 16] FIG. 2A illustrates an exemplary collaborative process 200 according to one embodiment. It will be appreciated that variations in the nature and ordering of functional blocks may result in other embodiments.
[001 17] Functional block 201 represents a user registration process, which is performed as a one- off event by each user. Following this registration, the user is able to identify himself/herself using a set of login credentials (which may be inherently linked to a social media account or the like).
[001 18] Functional block 202 represents a process including upload, by a plurality of users, of respective concept media files. This precedes a group creation process 203 whereby users are autonomously grouped together to collaborate on the basis of their concept media files. Preferably the users are informed, prior to uploading of concept media files, of the next time at which process 203 is to be performed.
[001 19] Functional blocks 204 and 205 represents the commencement and driving of a collaborative process. This involves a time-based process based upon a set of rules and/or algorithms which automatically prompt users to perform actions (and, in the event that actions are not taken in time, move on to a subsequent user and action).
[00120] Following the collaboration driving process, a media finalisation/publishing process is performed at 206, whereby a finalised media file is generated and made available for playback (and/or download). Also following the collaboration driving process, users are released such that they can upload new concept items, and participate in further collaborations.
Exemplary Group Creation Method
[00121] FIG. 2B illustrates an exemplary group creation process 210 according to one embodiment. It will be appreciated that variations in the nature and ordering of functional blocks may result in other embodiments.
[00122] Functional block 21 1 represents commencement of a group creation process. This may occur either subject to a time-based schedule, multiple rolling schedules, or based on system events (for example in response to a threshold number of users awaiting assignment to groups).
[00123] Functional block 212 represents a process including determining group parameters for process 210. In some cases the system is configured to define all groups using common parameters (for example to define only groups of n users, for example where n = 3). In other cases groups having different parameters may be formed. For instance, in some cases groups of random numbers may be formed (either within a given creation process, or a single random number for each creation process), or uses may select a preference for the size of group in which they wish to participate.
[00124] Functional block 213 represents a process including identifying eligible users. In some embodiments eligible users are defined by the set of users that have uploaded concept media files, and are awaiting allocation to groups. In other cases, this may be dependent on parameters. For example, in one embodiment users specify the size of group in which they wish to work, and in the case that the group parameters for a given group creation process define a group size of n, only users wishing to participate in a group of size n are eligible. Other parameters may be a desired number of iterative loops, a desired level of past experience of other members, and/or a range of other possible filters.
[00125] Functional block 214 represents a group creation process based upon the eligible users. This may be a randomised process. In some embodiments the randomised process is limited by various levels of filtering. For example, the random selection process is constrained by a set of group creation rules. This may occur in embodiments where each concept media file is associated with one or more properties; the set of group creation rules may specify rules for creating groups based on properties of the users' concept media files. For instance, in respect of audio files, the properties may indicate whether the concept is a beat, riff, lyric, etc. The set of group creation rules include a rule preventing creation of a group where multiple of the members' concept media files share identical values for a given property (for example to prevent formation of a group with multiple "beat" type concept media files). In some cases the rules are implemented to encourage diversity between concept media file properties in a group.
Functional block 215 represents a process including updating group tables in the collaboration database. This informs the system as to which users belong to which group, thereby to enable driving of the collaborative process. Commencement intermediate files are then defined at 216, and collaboration commences at 217.
Exemplary Collaboration Control Method
[00126] FIG. 2C illustrates an exemplary collaboration control/driving process 230 according to one embodiment. It will be appreciated that variations in the nature and ordering of functional blocks may result in other embodiments.
[00127] Method 230 relates to the driving of a single collaborative process (i.e. for one group). It will be appreciated that multiple instances of method 220 are concurrently performed for multiple unique collaborative processes.
[00128] Functional block 221 represents the commencement of a collaborative process. This is followed by block 222 which, on this first occasion, includes sending the commencement intermediate file to the first user in the iterative chain. Each time the method repeats to block 222, it is performed in respect of a sequentially next user in the chain (with the 1 st user sequentially following the nth user). The term "sending" should be read to include both the sending of a file, or the provision of a link to enable downloading of a file. The user is given a defined time period in which to perform a creative iteration by modifying the file (for example via a media editing software application) and upload a modified version (i.e. a new intermediate file).
[00129] Intermediate 222 and 225, various prompts, reminders, notifications and the like may be provided to the relevant user in respect of whom a creative iteration is pending. These are preferably triggered responsive to time-based rules.
[00130] Decision 223 includes determining whether a new intermediate file has been uploaded by the current user in the iterative chain. Decision 223 may be performed by way of a periodic monitoring process (for example a check at periodic intervals), or by way of an event-driven process (for example triggered by an upload). In the case that a new intermediate file is uploaded, the method progresses to 224. Otherwise, the method essentially progresses to 225 at the end of the iteration time limit (i.e. expiry of deadline for action by the user).
[00131] In the event that the method progresses to 225, it then continues to 224 where it is considered whether there is another user in the iterative process (for example at the outset a list of iterations is defined, for example a list defining user 1, 2, ....n, 1, 2, , n, 1 for a two-loop process
(as shown in FIG. 2D). In the case that there is an additional user in the list, the method loops to 222. It will be appreciated that, in the case that the method had passed through 225, the current intermediate file maintained in database 133 for delivery to the next-in-chain user is the same file that was provided to the non-responsive user. Exemplary Iterative Process
[00132] FIG. 2D illustrates an exemplary iterative collaboration process. This is for a group of three users (User A, User B and User C), and involves two iterative loops. The process commences at 240, with the downloading of a commencement intermediate file (Version 0) for a creative iteration at 241. In this diagram, lines are each marked with a number representing a version number for the intermediate file that is uploaded and/or downloaded at that point in the process.
[00133] User A's creative iteration at 241 results with a Version 1 , which is uploaded to the server, and subsequently downloaded by user B (for example in response to a prompt) for a creative iteration at 242. This results in a Version 2, which passes to User C (via upload and download) for a further creative iteration at 243, in turn resulting in a Version 3 which becomes available for creative iteration by User A (again at 241). A second loop moves though versions 4, 5, and 6, before User A submits a finalised Version 7 for a finalisation process at 244.
Exemplary App-Based Implementation
[00134] Described below is an exemplary mobile app based implemented which provides to a user technology inspired by the preceding disclosure. The collaborative process is modified, thereby to allow a first user to commence modification of a given musical track (which may be downloaded from a source), and then invite another user (or users) to continue the creative process in respect of that track. In this case, each track has multiple sub-tracks, and the process is passed between users such that on each iteration another sub-track is creatively modified.
[00135] In overview, a mobile app allows creation of music by collaborating with others, or solo. The creations may be shared via social media, such as Facebook. FIG. 4 illustrates an exemplary framework, whereby a mobile app 401 is stored on a memory module 402 of a user mobile device 403, and executes via an operating system 404 (for example iOS or Android). The app 401 is configured to communicate with a server side framework 410, which operates in conjunction with a database 412 (which maintains, for example, data indicative of registered user accounts). This server side framework provides an APNS module 41 1 , which enables the delivery of notification messages directly to the mobile device. Framework 410 additionally, in the illustrated example, is configured to communicate with a web hosted audio platform 420 (such as Soundcloud) and a social media platform 430 (such as Facebook).
[00136] Mobile app 401 is configured to identify a user, the user having a user account defined at a central database. This is preferably a one-off login, with user credentials thereafter being remembered by the app. For new users, a registration process is performed, optionally piggybacking an existing online presence, such as a Facebook account.
[00137] App 401 then makes available to the user a plurality of songs that are associated with the user account. The tern "song" in this context refers to the concept of a piece of music (with or without vocals). Preferably the app provides a plurality of free songs by default, with an option for the user to download additional songs for a fee (for example via in-app purchase). In some embodiments all songs which are available to a given user (i.e. free and purchased) are downloaded to the mobile device and stored in local memory.
[00138] A key functionality of app 401 is enabling a user to interact with a selected one of the songs via a graphical mixer interface. This graphical mixer interface enables the user to perform a mixing process including:
(i) selecting a musical sub-track of song;
(ii) applying a transformation to the sub-track; and
(iii) selectively repeating (i) and (ii) for one or more further sub-tracks of song.
[00139] In this regard, each song is associated with a plurality of musical sub-tracks. In a preferred embodiment, the plurality of musical sub-tracks are instrument-specific sub-tracks (for example bass, keyboards, synthesizers, vocals, drums, etc). The number of sub-tracks may vary from song to song. In some embodiments each available "song" is defined in memory of device 403 as a song data set which includes individual sub-track data. The nature of available transformations may also vary between embodiments, and in one embodiment the transformations include (or are limited to) volume transformations. In this regard, by modifying the volume of one or more of the sub-tracks, the user is able to create a form of modified "remix" of the song, as compared with its original version (in which all tracks are at 100% volume).
[00140] In some cases the transformation includes selecting one of a plurality of sub-track options, for example alternate bass lines, drumming styles, and so on. That is, a given song data set may, for each sub-track, contain multiple options, wherein each option is defined by an audio track which is of common tempo to the others (and preferably shares other common parameters such that it is able to audibly "fit" with the overall song).
[00141] Based on the user's interaction with the mixer interface, app 401 defines a modified song version based on the mixing process, and enables audible playback of the modified song version (for example by uploading a file representing the modified song version to a web hosted audio platform, which may be a third party platform such as Soundcloud).
[00142] In some embodiments, each song includes a plurality of song portions, and the mixing process is performed individually in respect of a particular one of the song portions (i.e. each portion is mixed individually). The portions are preferably functionally defined, for example an introduction, verses, choruses, bridges, and so on.
[00143] App 401 is configures to allow two forms of creative process:
(a) A solo creative process, whereby the user performs the mixing process in respect of all of the song portions, thereby to define the modified song version alone. (b) A collaborative creative process, whereby a plurality of distributed users perform the mixing process in respect of different song portions, thereby to collaboratively define a modified song version.
[00144] The collaborative process operates in conjunction with a sharing/invitation arrangement, which may leverage Facebook or other social media, thereby to allow a user to engage in collaboration with friends (for example based on a process as described further above, but where a song portion is assigned to each person. In use, a user may commence the collaborative process by mixing one song portion, and invite friends (e.g. Facebook friends) to continue that process in relation to the other song portions.
[00145] In some cases collaboration is via an expanding chain, whereby each user passes their intermediate product to multiple users. For example in one embodiment each intermediate product is passed to two friends such that, for a song with four portions, fifteen users are involved in the process of creating eight versions (with four users collaborating on each).
[00146] FIG. 5 illustrates an exemplary method performed by app 401 in conjunction with server side framework 410. For this example, app 401 is referred to as WHISPA, and users create what are referred to as "Whispas". A "Whispa" is a song which has had its individual portions modified using app 401 . Block 501 represents a user creative intersection, whereby a next song portion is modified by a user. This may be a first song portion, up to a (n-7)th song portion, for a song with n portions. The nth portion is dealt with in block 508, discussed further below.
[00147] In this example, after completing a creative iteration, a user presses a user interface button marked "WHIS.PA" (shown in exemplary screenshots) at 502 , which triggers a request to a web server to notify selected friends (in some cases one friend, in some cases multiple friends) for the purpose of collaboration at 503. This request is indicative of relevant friends (optionally by reference to the user's Facebook login details), and details including an ID for the relevant Whispa, round information, and so on.
[00148] At 504 the server determines whether the selected friends are currently logged in to their respective WHIS.PA apps. If not, notifications are queued for later delivery at 505. Otherwise, the APNS server delivers notification to users. These notifications are indicative of invitations to participate. Each accepting user (at 507) performs a creative iteration for the next song portion (at 501 or 508). For rounds 2 to n-2 the process loops. It will be appreciated that, where multiple finds accept an invitation, a given Whispa splits into multiple parallel versions, with multiple users each individually modifying the next song portion and inviting their own friends.
[00149] For the final round (round n), the creative process is illustrated at 508. This is no different to the other creative processes; the difference is that a user does not invite friends to participate in further iterations when pressing the WHIS.PA button at 509 (as there are no more rounds). Block 510 and block 51 1 again relate to notification queuing, with a key difference being that the notifications provided at block 512 are indicative of a Whispa being completed (and are provided to all contributing users for the relevant Whispa). Following this notification, the relevant users are able to experience, share, publish (and/or performed other functions) in respect of the completed Whispa.
[00150] FIG. 6A to FIG. 6I illustrate exemplary app screenshots for an exemplary version of app 401. In these screenshots:
• FIG. 6A illustrates a log in screen, which provides options to login using Facebook, or using redefined credentials. This screen also provides an option to create a new account. Preferably this screen is shown only on a first launch of the app, with login credentials remembered for subsequent use.
• FIG. 6B shows a screen which provides options to engage in either solo (user standalone) creation, or collaborative creation.
• FIG. 6C shows an exemplary registration screen.
• FIG. 6D shows an exemplary profile screen, created following registration. Certain values are able to be modified.
• FIG. 6E illustrates an interface which enables a user to select between song portions for a given song.
• FIG. 6F illustrates an interface which enables a user to select between sub-tracks for a given song portion.
• FIG. 6H illustrates an interface with enables a user to select between multiple options for a "bass" sub track.
• FIG. 6H an interface which enables a user to control relative volumes for the plurality of sub- tracks.
• FIG. 6I illustrates an interface which enables a user to view and access collaborative invitation.
[00151 ] It will be appreciated that these are examples only. Exemplary System-Level Overview
[00152] In some embodiments, methods and functionalities considered herein are implemented by way of a server, as illustrated in FIG. 3. In overview, a web server 302 provides a web interface 303. This web interface is accessed by the parties by way of client terminals 304. In overview, users access interface 303 over the Internet by way of client terminals 304, which in various embodiments include the likes of personal computers, PDAs, cellular telephones, gaming consoles, and other Internet enabled devices. [00153] Server 303 includes a processor 305 coupled to a memory module 306 and a communications interface 307, such as an Internet connection, modem, Ethernet port, wireless network card, serial port, or the like. In other embodiments distributed resources are used. For example, in one embodiment server 302 includes a plurality of distributed servers having respective storage, processing and communications resources. Memory module 306 includes software instructions 308, which are executable on processor 305.
[00154] Server 302 is coupled to a database 310. In further embodiments the database leverages memory module 306.
[00155] In some embodiments web interface 303 includes a website. The term "website" should be read broadly to cover substantially any source of information accessible over the Internet or another communications network (such as WAN, LAN or WLAN) via a browser application running on a client terminal. In some embodiments, a website is a source of information made available by a server and accessible over the Internet by a web-browser application running on a client terminal. The web- browser application downloads code, such as HTML code, from the server. This code is executable through the web-browser on the client terminal for providing a graphical and often interactive representation of the website on the client terminal. By way of the web-browser application, a user of the client terminal is able to navigate between and throughout various web pages provided by the website, and access various functionalities that are provided.
[00156] Although some embodiments make use of a website/browser-based implementation, in other embodiments proprietary software methods are implemented as an alternative. For example, in such embodiments client terminals 304 maintain software instructions for a computer program product that essentially provides access to a portal via which framework 100 is accessed (for instance via an iPhone app or the like).
[00157] In general terms, each terminal 304 includes a processor 31 1 coupled to a memory module 313 and a communications interface 312, such as an internet connection, modem, Ethernet port, serial port, or the like. Memory module 313 includes software instructions 314, which are executable on processor 31 1 . These software instructions allow terminal 304 to execute a software application, such as a proprietary application or web browser application and thereby render on-screen a user interface and allow communication with server 302. This user interface allows for the creation, viewing and administration of profiles, access to the internal communications interface, and various other functionalities.
Conclusions and Interpretation
[00158] It will be appreciated that the disclosure above provides various significant frameworks, devices and methodologies configured for enabling collaborative content generation.
[00159] Unless specifically stated otherwise, as apparent from the following discussions, it is appreciated that throughout the specification discussions utilizing terms such as "processing," "computing," "calculating," "determining", analyzing" or the like, refer to the action and/or processes of a computer or computing system, or similar electronic computing device, that manipulate and/or transform data represented as physical, such as electronic, quantities into other data similarly represented as physical quantities.
[00160] In a similar manner, the term "processor" may refer to any device or portion of a device that processes electronic data, e.g., from registers and/or memory to transform that electronic data into other electronic data that, e.g., may be stored in registers and/or memory. A "computer" or a "computing machine" or a "computing platform" may include one or more processors.
[00161] The methodologies described herein are, in one embodiment, performable by one or more processors that accept computer-readable (also called machine-readable) code containing a set of instructions that when executed by one or more of the processors carry out at least one of the methods described herein. Any processor capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken are included. Thus, one example is a typical processing system that includes one or more processors. Each processor may include one or more of a CPU, a graphics processing unit, and a programmable DSP unit. The processing system further may include a memory subsystem including main RAM and/or a static RAM, and/or ROM. A bus subsystem may be included for communicating between the components. The processing system further may be a distributed processing system with processors coupled by a network. If the processing system requires a display, such a display may be included, e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT) display. If manual data entry is required, the processing system also includes an input device such as one or more of an alphanumeric input unit such as a keyboard, a pointing control device such as a mouse, and so forth. The term memory unit as used herein, if clear from the context and unless explicitly stated otherwise, also encompasses a storage system such as a disk drive unit. The processing system in some configurations may include a sound output device, and a network interface device. The memory subsystem thus includes a computer-readable carrier medium that carries computer-readable code (e.g., software) including a set of instructions to cause performing, when executed by one or more processors, one of more of the methods described herein. Note that when the method includes several elements, e.g., several steps, no ordering of such elements is implied, unless specifically stated. The software may reside in the hard disk, or may also reside, completely or at least partially, within the RAM and/or within the processor during execution thereof by the computer system. Thus, the memory and the processor also constitute computer-readable carrier medium carrying computer-readable code.
[00162] Furthermore, a computer-readable carrier medium may form, or be included in a computer program product.
[00163] In alternative embodiments, the one or more processors operate as a standalone device or may be connected, e.g., networked to other processor(s), in a networked deployment, the one or more processors may operate in the capacity of a server or a user machine in server-user network environment, or as a peer machine in a peer-to-peer or distributed network environment. The one or more processors may form a personal computer (PC), a tablet PC, a set-top box (STB), a Personal Digital Assistant (PDA), a cellular telephone, a web appliance, a network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine.
[00164] Note that while diagrams only show a single processor and a single memory that carries the computer-readable code, those in the art will understand that many of the components described above are included, but not explicitly shown or described in order not to obscure the inventive aspect. For example, while only a single machine is illustrated, the term "machine" shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.
[00165] Thus, one embodiment of each of the methods described herein is in the form of a computer-readable carrier medium carrying a set of instructions, e.g., a computer program that is for execution on one or more processors, e.g., one or more processors that are part of web server arrangement. Thus, as will be appreciated by those skilled in the art, embodiments of the present invention may be embodied as a method, an apparatus such as a special purpose apparatus, an apparatus such as a data processing system, or a computer-readable carrier medium, e.g., a computer program product. The computer-readable carrier medium carries computer readable code including a set of instructions that when executed on one or more processors cause the processor or processors to implement a method. Accordingly, aspects of the present invention may take the form of a method, 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 carrier medium (e.g., a computer program product on a computer-readable storage medium) carrying computer-readable program code embodied in the medium.
[00166] The software may further be transmitted or received over a network via a network interface device. While the carrier medium is shown in an exemplary embodiment to be a single medium, the term "carrier medium" should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The term "carrier medium" shall also be taken to include any medium that is capable of storing, encoding or carrying a set of instructions for execution by one or more of the processors and that cause the one or more processors to perform any one or more of the methodologies of the present invention. A carrier medium may take many forms, including but not limited to, non-volatile media, volatile media, and transmission media. Non-volatile media includes, for example, optical, magnetic disks, and magneto-optical disks. Volatile media includes dynamic memory, such as main memory. Transmission media includes coaxial cables, copper wire and fiber optics, including the wires that comprise a bus subsystem. Transmission media also may also take the form of acoustic or light waves, such as those generated during radio wave and infrared data communications. For example, the term "carrier medium" shall accordingly be taken to included, but not be limited to, solid-state memories, a computer product embodied in optical and magnetic media; a medium bearing a propagated signal detectable by at least one processor of one or more processors and representing a set of instructions that, when executed, implement a method; and a transmission medium in a network bearing a propagated signal detectable by at least one processor of the one or more processors and representing the set of instructions.
[00167] It will be understood that the steps of methods discussed are performed in one embodiment by an appropriate processor (or processors) of a processing (i.e., computer) system executing instructions (computer-readable code) stored in storage. It will also be understood that the invention is not limited to any particular implementation or programming technique and that the invention may be implemented using any appropriate techniques for implementing the functionality described herein. The invention is not limited to any particular programming language or operating system.
[00168] It should be appreciated that in the above description of exemplary embodiments of the invention, various features of the invention are sometimes grouped together in a single embodiment, FIG., or description thereof for the purpose of streamlining the disclosure and aiding in the understanding of one or more of the various inventive aspects. This method of disclosure, however, is not to be interpreted as reflecting an intention that the claimed invention requires more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive aspects lie in less than all features of a single foregoing disclosed embodiment. Thus, the claims following the Detailed Description are hereby expressly incorporated into this Detailed Description, with each claim standing on its own as a separate embodiment of this invention.
[00169] Furthermore, while some embodiments described herein include some but not other features included in other embodiments, combinations of features of different embodiments are meant to be within the scope of the invention, and form different embodiments, as would be understood by those skilled in the art. For example, in the following claims, any of the claimed embodiments can be used in any combination.
[00170] Furthermore, some of the embodiments are described herein as a method or combination of elements of a method that can be implemented by a processor of a computer system or by other means of carrying out the function. Thus, a processor with the necessary instructions for carrying out such a method or element of a method forms a means for carrying out the method or element of a method. Furthermore, an element described herein of an apparatus embodiment is an example of a means for carrying out the function performed by the element for the purpose of carrying out the invention.
[00171] In the description provided herein, numerous specific details are set forth. However, it is understood that embodiments of the invention may be practiced without these specific details. In other instances, well-known methods, structures and techniques have not been shown in detail in order not to obscure an understanding of this description. [00172] Similarly, it is to be noticed that the term coupled, when used in the claims, should not be interpreted as being limited to direct connections only. The terms "coupled" and "connected," along with their derivatives, may be used. It should be understood that these terms are not intended as synonyms for each other. Thus, the scope of the expression a device A coupled to a device B should not be limited to devices or systems wherein an output of device A is directly connected to an input of device B. It means that there exists a path between an output of A and an input of B which may be a path including other devices or means. "Coupled" may mean that two or more elements are either in direct physical or electrical contact, or that two or more elements are not in direct contact with each other but yet still co-operate or interact with each other.
[00173] Thus, while there has been described what are believed to be the preferred embodiments of the invention, those skilled in the art will recognize that other and further modifications may be made thereto without departing from the spirit of the invention, and it is intended to claim all such changes and modifications as falling within the scope of the invention. For example, any formulas given above are merely representative of procedures that may be used. Functionality may be added or deleted from the block diagrams and operations may be interchanged among functional blocks. Steps may be added or deleted to methods described within the scope of the present invention.

Claims

1. A computer implemented method for facilitating collaborative content generation the method including:
(i) providing an interface thereby to enable a plurality of users to upload respective concept media files;
(ii) implementing a group generation protocol thereby to define a plurality of collaboration groups, wherein each collaboration group is defined by a subset of the plurality of users;
(iii) coordinating a collaboration process whereby, for each group, intermediate media files are shared among the members of that group for independent modification by the members of the group; and
(iv) upon completion of the collaboration process, enabling publishing of a finalised media file derived from the sharing and independent modification of the intermediate media files.
2. A method according to claim 1 wherein the group generation process includes defining a plurality of groups of a predetermined size based on a random selection process.
3. A method according to claim 1 wherein coordinating the collaboration process includes identifying a next user in an iterative chain, and prompting that next user to download an intermediate file, and upload a modified version of the intermediate file prior to a defined deadline.
4. A method according to claim 3 wherein, in absence of identified next user uploading a modified version of the intermediate file prior to the defined deadline, the method includes identifying a further next user in the iterative chain, and prompting that next user to download the intermediate file, and upload a modified version of the intermediate file prior to a further defined deadline.
5. A method according to any preceding claim including operating a media file translation module thereby to enable conversion of the concept media files and/or intermediate files into one or more media formats.
6. A method according to claim 5 wherein the file translation module is configured to convert a given intermediate file into an alternate media format in response to user-defined preferences for a next user in an iterative chain.
7. A method according to any preceding claim wherein the media file is published thereby to enable playback via a web-based interface.
8. A computer-implemented method for defining collaboration groups, the method including:
(i) maintaining access to a database of registered users;
(ii) identifying a subset of the registered users eligible for participation in a collaborative process, wherein each of the users has uploaded a respective concept media file;
(iii) performing a selection process, thereby to create a plurality of groups, each group being defined by a predetermined number of users selected from the subset of registered users; and
(iv) for each group, defining a commencement intermediate file, wherein the commencement intermediate file includes a set of media tracks corresponding to the concept media files uploaded by the users defining the group.
9. A method according to claim 8 wherein identifying the subset of registered users includes comparing a set of system-set parameters for the collaborative process with a set of user-set parameters respectively defined by the plurality of users.
10. A method according to claim 8 wherein the selection process includes a random selection process.
1 1. A method according to claim 10 wherein the random selection process is constrained by a set of group creation rules.
12. A method according to claim 1 1 wherein each concept media file is associated with one or more properties, and wherein the set of group creation rules specify rules for creating groups based on properties of the users' concept media files.
13. A method according to claim 1 1 wherein the set of group creation rules include a rule preventing creation of a group where multiple of the members' concept media files share identical values for a given property.
14. A method according to any one of clams 8 to 13 wherein the commencement intermediate file is made available for download by each of the members of the group, thereby to enable commencement of respective collaborative processes.
15. A method for coordinating collaborative media creation process, the method including:
(i) identifying a pre-defined group of users, wherein each of the users has uploaded a respective concept media file;
(ii) defining an iterative chain order for the group of users, from a 1 st user to a nth user;
(iii) defining a commencement intermediate file, wherein the commencement intermediate file includes a plurality of file portions derived from the concept media files; (iv) prompting the 1st user to perform a creative iteration in respect of the commencement intermediate file and, based upon the creative iteration, submit a modified intermediate file;
(v) following submission of the 1st user's modified intermediate file, prompting a next user in the iterative chain to perform a creative iteration in respect of the modified intermediate file and, based upon the creative iteration, submit a modified intermediate file; and
(vi) repeating (v) for the 2nd user to nth user.
16. A method according to claim 15 including, following (vi):
(vii) following submission of the nth user's modified intermediate file, prompting the first user in the iterative chain to perform a creative iteration in respect of the latest modified intermediate file and, based upon the creative iteration, submit a modified intermediate file; and
(viii) repeating (v) for the 2nd user to nth user.
17. A method according to claim 16 including repeating (vii) and (viii) for a predefined number of iterative loops.
18. A method according to any one of claims 15 to 17 wherein, for a given creative iteration, the user is prompted to download the intermediate file using a first designated webpage, and upload the modified intermediate file using a second designated webpage.
19. A method according to claim 18 wherein the intermediate file is downloadable in a file format selected based upon user-defined preferences.
20. A method according to any one of clams 15 to 19 wherein, in respect of a given creative iteration, an ith user is prompted to submit the modified intermediate file prior to a designated deadline and, in the event that a user does not submit the modified intermediate file prior to the designated deadline, the (i+1 )th user in the iterative chain is prompted to perform a creative iteration in respect of the file previously prompted to the ith user.
21. A method according to any one of clams 15 to 20 wherein a plurality of iterative processes are conducted for the group, wherein each of the plurality iterative processes is based upon a unique iterative chain order.
22. A computer implemented method, performed at a mobile device based on execution of software instructions, thereby to enable a media creation process, the method including: identifying a user, the user having a user account defined at a central database;
making available to the user a plurality of songs that are associated with the user account; enabling a user to interact with a selected one of the songs via a graphical mixer interface, wherein the graphical mixer interface enables the user to:
(i) select a musical sub-track of song;
(ii) apply a transformation to the sub-track; and
(iii) selectively repeat (i) and (ii) for one or more further sub-tracks of song; and
defining a modified song version based on (i) to (iii); and
enabling audible playback of the modified song version.
23. A method according to claim 22 wherein each song is associated with a plurality of musical sub-tracks.
24. A method according to claim 23 wherein one or more of the plurality of musical sub-tracks are instrument-specific sub-tracks.
25. A method according to claim 22 wherein making available to the user a plurality of songs that are associated with the user account includes downloading, from a remote server, data indicative of one or more song data sets currently not stored in local memory of the mobile device.
26. A method according to any one of claims 22 to 25 including enabling the user to associate one or more additional songs with the user account via in-app purchase.
27. A method according to any one of claims 22 to 26 wherein the selected one of the songs includes a plurality of song portions, and (i) to (iii) are performed in respect of a particular one of the song portions.
28. A method according to claim 27 wherein the user performs (i) to (iii) in respect of the particular one of the song portions and all remaining song portions.
29. A method according to claim 27 wherein one or more additional users of further mobile devices which perform a method according to claim 22 perform (i) to (iii) in respect of others of the song portions, thereby to collaboratively define a modified song version that is available for playback by the user and the one or more additional users.
30. A method according to claim 27 wherein the user is enabled to select between:
(a) a solo creative process, whereby the user performs (i) to (iii) in respect of the particular one of the song portions and all remaining song portions; or
(b) a collaborative creative process, whereby one or more additional users of further mobile devices which perform a method according to claim 22 perform (i) to (iii) in respect of others of the song portions, thereby to collaboratively define a modified song version that is available for playback by the user and the one or more additional users.
31. A method according to claim 27 including enabling the user to perform any one of (i) to (iii) for a song portion for a song in respect of which an invitation is received from a further user.
32. A computer implemented method, performed at a mobile device based on execution of software instructions, thereby to enable a media creation process, the method including: enabling a user to download one or more song data sets, wherein each song data set includes a plurality of musical sub-tracks;
enabling a user to interact with a selected one of the song data sets via a graphical mixer interface, wherein the graphical mixer interface enables the user to:
(i) select a musical sub-track of song;
(ii) apply a transformation to the sub-track; and
(iii) selectively repeat (i) and (ii) for one or more further sub-tracks of song; and
defining a modified song version based on (i) to (iii); and
enabling audible playback of the modified song version.
33. A method according to claim 32 wherein the selected one of the songs includes a plurality of song portions, and (i) to (iii) are performed in respect of a particular one of the song portions.
34. A method according to claim 33 wherein the user performs (i) to (iii) in respect of the particular one of the song portions and all remaining song portions.
35. A method according to claim 33 wherein one or more additional users of further mobile devices which perform a method according to claim 32 perform (i) to (iii) in respect of others of the song portions, thereby to collaboratively define a modified song version that is available for playback by the user and the one or more additional users.
36. A method according to claim 33 wherein the user is enabled to select between:
(a) a solo creative process, whereby the user performs (i) to (iii) in respect of the particular one of the song portions and all remaining song portions; or
(b) a collaborative creative process, whereby one or more additional users of further mobile devices which perform a method according to claim 32 perform (i) to (iii) in respect of others of the song portions, thereby to collaboratively define a modified song version that is available for playback by the user and the one or more additional users.
37. A method according to any one of claims 32 to 36 wherein the transformation includes a volume transformation.
38. A method according to any one of claims 32 to 37 wherein enabling audible playback of the modified song version includes making the modified song version available via a web location.
39. A computer implemented method, performed at a mobile device based on execution of software instructions, thereby to enable a media creation process, the method including: enabling a user to select a song data set;
enabling a user to interact with a selected one of the song data sets via a graphical mixer interface, wherein the graphical mixer interface enables the user to apply a transformation to a musical sub-track of the selected song;
enabling the user to invite one or more additional users to, via their respective mobile devices, apply transformations to other musical sub-tracks of the selected song; and once all sub-tracks have been modified, enabling audible playback of the modified song version.
40. A computer system configured to perform a method according to any one of claims 1 to 38.
41. A computer program configured to perform a method according to any one of claims 1 to 38.
42. A non-transitive carrier medium carrying computer executable code that, when executed on a processor, causes the processor to perform a method according to any one of claims 1 to 38.
PCT/AU2014/000712 2013-07-12 2014-07-11 Collaborative media generation system WO2015003218A1 (en)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
AU2013902587A AU2013902587A0 (en) 2013-07-12 Frameworks, devices and methodologies configured for enabling collaborative content generation
AU2013902589 2013-07-12
AU2013902588 2013-07-12
AU2013902588A AU2013902588A0 (en) 2013-07-12 Computer-implemented technologies for arranging a plurality of users into creative units for collaborative content generation
AU2013902589A AU2013902589A0 (en) 2013-07-12 Computer-implemented technologies for coordinating a plurality of collaborative content generation procedures
AU2013902587 2013-07-12
AU2014902205A AU2014902205A0 (en) 2014-06-10 Computer-implemented technologies for content generation at mobile devices
AU2014902205 2014-06-10

Publications (2)

Publication Number Publication Date
WO2015003218A1 true WO2015003218A1 (en) 2015-01-15
WO2015003218A9 WO2015003218A9 (en) 2015-04-02

Family

ID=52279228

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/AU2014/000712 WO2015003218A1 (en) 2013-07-12 2014-07-11 Collaborative media generation system

Country Status (1)

Country Link
WO (1) WO2015003218A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106233286A (en) * 2014-04-24 2016-12-14 谷歌公司 Files passe is carried out the system and method for priorization

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090106429A1 (en) * 2007-10-22 2009-04-23 Matthew L Siegal Collaborative music network
US20090260060A1 (en) * 2008-04-14 2009-10-15 Lookwithus.Com, Inc. Rich media collaboration system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090106429A1 (en) * 2007-10-22 2009-04-23 Matthew L Siegal Collaborative music network
US20090260060A1 (en) * 2008-04-14 2009-10-15 Lookwithus.Com, Inc. Rich media collaboration system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106233286A (en) * 2014-04-24 2016-12-14 谷歌公司 Files passe is carried out the system and method for priorization

Also Published As

Publication number Publication date
WO2015003218A9 (en) 2015-04-02

Similar Documents

Publication Publication Date Title
US11367060B1 (en) Collaborative video non-fungible tokens and uses thereof
US8661550B2 (en) Social discovery of user activity for media content
JP7133565B2 (en) Techniques for finding bots based on intent
US20180115603A1 (en) Collaborator recommendation using collaboration graphs
US20170147185A1 (en) Emoji reactions for file content and associated activities
US10708208B2 (en) Smart chunking logic for chat persistence
Baskerville et al. Crush the crave: development and formative evaluation of a smartphone app for smoking cessation
US20120096371A1 (en) System and method for online interactive recording studio
KR20140086994A (en) Sharing notes in online meetings
US20190318399A1 (en) Project creation system using blockchain
EP3213524A1 (en) Methods and systems for multimedia content
CN109076010A (en) Internet cloud hosted natural language interactive messaging system user parser
US8725795B1 (en) Content segment optimization techniques
JP6072852B2 (en) Privilege grant device, privilege grant method and privilege grant program
CN114138727A (en) Online conference recording sharing method, system and computer readable recording medium
CN107295377A (en) Moviemaking method, apparatus and system
US10394916B2 (en) Personalized search environment
CN109448680A (en) Interaction control method, medium, the apparatus and system of K song system
WO2023003717A1 (en) Automatic management of digital media
WO2015003218A9 (en) Collaborative media generation system
US20160335042A1 (en) System for control of one or more midi devices
US20160350791A1 (en) Dynamic multi-level rewards systems and methods using multiple data source inputs of activity information
US20100153283A1 (en) Electronic professional mentoring framework
US20240289537A1 (en) System-guided collaborative editing of standardized documents
US20250184302A1 (en) Method and system for indexing contents in instant messaging service

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14822285

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14822285

Country of ref document: EP

Kind code of ref document: A1