Method for tracking audio consumption in a virtual environment
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- UTOPIA MUSIC AG
- Filing Date
- 2023-07-28
- Publication Date
- 2026-07-30
AI Technical Summary
Current methods for tracking audio consumption in virtual environments provide only rough estimates based on sales or downloads, lacking accuracy and discouraging artists from licensing their tracks due to unfair compensation.
Implementing audio consumption tracking software that monitors an avatar's proximity to audio emitters, starts and stops a timer based on entry and exit from the audible range, and evaluates consumption metrics to accurately quantify audio playback.
Provides precise audio consumption data for fair royalty calculations and artist compensation, enhancing the use of licensed audio tracks in virtual environments.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[Technical Field]
[0001] Embodiments relate to methods, uses of the methods, devices and computer programs for tracking audio in a virtual environment, and specifically for quantifying a user's audio consumption in a virtual environment. [Background technology]
[0002] Music has always played an important role in video games and other applications that implement 2D or 3D virtual worlds that can be explored by users. Keeping track of users' audio consumption within a virtual world is often essential, especially in the case of licensed audio tracks, so that rights holders can be compensated fairly and so that licensed audio tracks can be played within the virtual world in the first place. Currently, estimates of audio consumption are based on sales or downloads of a particular virtual world application (which contains the audio tracks), but this can only provide a very rough estimate of a particular user's actual audio consumption. Summary of the Invention
[0003] In one aspect, the subject matter of the independent claims is provided. Embodiments are defined in the dependent claims.
[0004] One or more example implementations are described in more detail in the accompanying drawings and the description below. Other features will be apparent from the description and drawings, and from the claims. [Brief explanation of the drawings]
[0005] In the following, the embodiments will be described in more detail with reference to the accompanying drawings, giving preferred embodiments. [Figure 1] FIG. 1 is a diagram of a system in which embodiments may be applied. [Figure 2]FIG. 2 is a schematic diagram of a virtual environment in which embodiments may be applied. [Figure 3] 3-6 are diagrams of a process for assessing audio consumption in a virtual environment, according to an embodiment. [Figure 4] 3-6 are diagrams of a process for assessing audio consumption in a virtual environment, according to an embodiment. [Figure 5] 3-6 are diagrams of a process for assessing audio consumption in a virtual environment, according to an embodiment. [Figure 6] 3-6 are diagrams of a process for assessing audio consumption in a virtual environment, according to an embodiment. [Figure 7A] 7A-7C illustrate three different audio consumption scenarios that occur in a virtual environment. [Figure 7B] 7A-7C illustrate three different audio consumption scenarios that occur in a virtual environment. [Figure 7C] 7A-7C illustrate three different audio consumption scenarios that occur in a virtual environment. [Figure 8] 8-9 are diagrams of a process for assessing the consumption of non-spatialized audio within a virtual environment, according to an embodiment. [Figure 9] 8-9 are diagrams of a process for assessing the consumption of non-spatialized audio within a virtual environment, according to an embodiment. [Figure 10] FIG. 10 is a diagram illustrating an apparatus according to an embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0006] The invention and its embodiments are not limited to the examples described above but may vary within the scope of the claims.
[0007] Music has always played an important role in video and computer games and other applications that implement 2D or 3D virtual worlds or environments that can be explored by users (hereafter referred to as virtual world applications). Music in modern virtual world applications can appear in various forms. Traditionally, non-spatialized background music is played, for example, during menu navigation or sometimes even during gameplay. More recently, spatialized sound has been implemented in virtual worlds using audio emitters that typically emit sound (e.g., a specific musical piece) only within a limited area within the virtual world. Audio emitters can be triggered based on certain events occurring within the virtual environment. The emitted audio can be activated, for example, when a user's avatar enters a predefined area or volume around the audio emitter (e.g., defined as a sphere surrounding the audio emitter) and / or when specifically programmed interactions occur within the virtual environment, such as when a user's avatar turns on a jukebox within the virtual environment.
[0008] Tracking users' audio consumption within virtual worlds is often essential, particularly in the case of licensed audio tracks, both to ensure that rights holders are fairly compensated and to enable licensed audio tracks to be played within virtual worlds in the first place. Currently, the only realistic metric for audio consumption of audio tracks in games and related applications is the number of applications or units sold. For example, if a video game containing a particular song by a particular artist sells 30 million copies or is downloaded 30 million times, it can be assumed that the song by that artist has been played at least 30 million times. Obviously, this only allows for a very rough estimate of audio consumption. The lack of a reliable and fair solution for assessing audio consumption of licensed audio tracks within virtual worlds discourages artists and their representatives from allowing the use of their licensed audio tracks in virtual worlds.
[0009] To overcome at least some of the aforementioned problems, the embodiments described in detail below provide a solution for tracking, measuring, collecting, and reporting user audio consumption data related to audio tracks played within a virtual environment containing an audio emitter. Such a software program can be installed by a developer during development of the virtual world application. After the virtual world application is compiled, the collected audio consumption data can be reported from the software program, which communicates the collected data to a database accessible to various parties, such as the associated artists. The audio consumption data can be used, for example, to calculate royalties and analyze correlations with other media, such as streaming.
[0010] The architecture of a system 100 to which embodiments may be applied is shown in Figure 1. Figure 1 shows a simplified system architecture showing only some elements and functional entities, all of which are logical units whose implementation may differ from that shown. The connections shown in Figure 1 are logical connections, and the actual physical connections may differ. It will be apparent to one skilled in the art that the system 100 may further include other functions and structures.
[0011] 1 shows a system 100 including at least a computing device 101, a (remote) database server 141, a remote server 121, and one or more additional computing devices 132. The system 100 further comprises a communication network 110 that provides a communication connection between the computing device 101, the database server 141, the remote server 121, and the one or more additional computing devices 132. The term "remote" as used herein means remote with respect to the computing device 101 (i.e., connected to the computing device 101 via the communication network 110).
[0012] Computing device 101, hereinafter also referred to as user device or user equipment (UE), or terminal device, refers to a portable or non-portable computing device, equipment, or apparatus. Computing devices that may be employed include wireless mobile communication devices that operate with or without a subscriber identity module (SIM) in hardware or software, and include, but are not limited to, the following types of devices: desktop computers, laptops, touchscreen computers, mobile phones, smartphones, personal digital assistants (PDAs), handsets, electronic reading devices, tablets, gaming consoles such as home or handheld gaming consoles, notebooks, multimedia devices, sensors, actuators, video cameras, automobiles, wearable computers, telemetry devices, and remote monitoring devices. In an exemplary, non-limiting embodiment, computing device 101 may be a desktop computer, laptop computer, tablet computer, smartphone, or gaming console.
[0013] Computing device 101 may further include any conventional software and hardware elements of a desktop computer, laptop computer, tablet computer, or smartphone to enable a user to interact with computing device 101. For example, computing device 101 may include one or more user input devices, a display, a touch screen that may function as both a user input device and a display, and / or one or more audio output devices. The one or more user input devices may include, for example, a keyboard, a mouse, and / or a game controller. The one or more audio output devices may include, for example, loudspeakers and / or headphones.
[0014] Any of the general definitions provided above for computing device 101 also apply mutatis mutandis to each of one or more further computing devices 132. In an exemplary, non-limiting embodiment, each of one or more further computing devices 132 may be one of a desktop computer, a laptop computer, a tablet computer, a smartphone, or other device with similar functionality.
[0015] The computing device 101 includes a virtual world application 102, i.e., the computing device 101 is configured to implement or execute the virtual application 102. In the case of an online virtual world, the virtual world application 102 may specifically be a virtual world client application. The virtual world application 102 may be maintained in at least one memory included in or connected to the computing device. The virtual world application 102 may be, for example, a game application or other application configured to implement or realize a two-dimensional or three-dimensional virtual world or environment when executed by the computing device 101. The virtual environment may be implemented using a game engine such as Unreal Engine or Unity. The virtual environment or virtual world implemented by the virtual world application 102 is discussed in further detail with respect to FIG. 2.
[0016] The virtual world application 102 includes, as a subprogram, audio consumption tracking software 103. The audio consumption tracking software 103 is configured to track user audio consumption data, i.e., measure, collect, and report user audio consumption data related to audio tracks played to users within the virtual environment implemented by the virtual world application 102, according to embodiments discussed below. The audio consumption data may be reported specifically to at least database server 141 via communication network 110. The audio consumption data may be reported via a dedicated application programming interface (API) provided by the virtual world application 102 or specifically by the audio consumption tracking software 103.
[0017] The communication network 110, which enables communication between the computing device 101 and the remote server 121, as well as between the computing device 101 and the database server 141, and between one or more further computing devices 132 and the database server 141, may include one or more wireless networks and / or one or more wired networks. The one or more wireless networks may be based on any mobile system, such as GSM, GPRS, LTE, 4G, 5G, 6G, and later, and wireless local area networks or personal area networks, such as Wi-Fi or Bluetooth. The communication network 110 may include the Internet. In some embodiments, the communication network 110 may be replaced by a wired or wireless communication link.
[0018] Remote server 121 may specifically be a remote server for running an online game, such as a Massively Multiplayer Online Game (MMOG), or other online virtual world or environment involving multiple users, such as a metaverse. Thus, remote server 121 may be configured to run or implement virtual world application 122 (on the server side) while computing device 101 runs or implements virtual world application 102 (on the client side). In other words, the virtual environment experienced by the user of computing device 101 is realized by computing device 101 running virtual world client application 102 in communication with remote server 121 running virtual world server application 122.
[0019] A user can participate in an online virtual environment or world by establishing a session. As used herein, a "session," particularly in relation to an online virtual world or environment, may refer to a semi-permanent, interactive exchange of information between a virtual world client application 102 and a virtual world server application 122. Thus, establishing a session may involve logging into a remote server 121, i.e., a virtual world server, at some point using the virtual world client application 102. A session may continue for an indefinite period of time and terminate at a later point when the client, i.e., computing device 101, disconnects from the remote server 121. A user's avatar may only be present in the virtual environment while the user's session is active. Concurrently with the user's avatar on computing device 101, multiple other users may be present in the virtual world via their avatars, each with their own session that can continue independently of the sessions of other users.
[0020] In some alternative embodiments, multiple remote servers 121 running virtual world server applications 122 (each for implementing a single virtual world or environment, or multiple virtual worlds or environments) may be provided.
[0021] Although the audio consumption tracking software 103 is shown in FIG. 1 as forming part of the virtual world software 102, in some alternative embodiments, the audio consumption tracking software 103 may be a separate program that runs in parallel with the virtual world software 102.
[0022] In some embodiments, at least a portion of the functionality of the audio consumption tracking software 103 may be implemented by the virtual world server application 122 on the remote server 121 rather than by the virtual world client application on the computing device 101.
[0023] In some alternative embodiments, the computing device 101 may not necessarily be connected to the remote server 121 while the virtual world application 103 is running. In such cases, the virtual world or virtual environment may be implemented entirely, or at least mostly, locally, i.e., as an offline virtual world application, or at least primarily as an offline virtual world application, rather than as a fully online virtual world. For example, the virtual world application 102 may be primarily a single-player video game, or a video game that does not require an internet connection or that offers a single-player mode that requires only occasional internet access, for example, to receive updates. In some such embodiments, the remote server 121 may be omitted from the system 100.
[0024] 1 shows, for simplicity of representation, only a single computing device 101 capable of running a virtual world application 102 with audio consumption tracking software 103, but in practice multiple such computing devices may be included in system 100. All of the computing devices may be connected to the same database server 141 and, optionally, also to the same remote server 121.
[0025] System 100 may also include one or more additional computing devices 132. As noted above, any of the general definitions provided above for computing device 101 apply mutatis mutandis to one or more additional computing devices 132, unless expressly stated otherwise below.
[0026] Specifically, one or more further computing devices 132 may correspond to computing devices of parties interested in the audio consumption data of users of the virtual world application 102. The interested parties or stakeholders may consist of, for example, users of the virtual world application, artists whose audio tracks are playable within the virtual environment realized by the virtual world application, and representatives of the artists, such as agents, record label or corporate employees, or marketing professionals and rights organization employees. The one or more further computing devices 132 may access the database server 141 via the communications network 110.
[0027] The remote database server 141 may include a database 142 for maintaining or storing at least audio consumption data 143 of users of the virtual world application (e.g., users of the computing devices 101) as reported by the computing devices 101 running the virtual world application 102. The audio consumption data 143 may include, for example, information regarding how many times a given audio track was consumed by a given user when using the virtual world application 102. The types of audio consumption data that may be maintained in the database server 141 are discussed in more detail in connection with the embodiments below.
[0028] The database server 141 may be further configured to provide a user interface (UI) through which users of one or more further computing devices 132 can remotely view the audio consumption data 143, or portions thereof. Access to the audio consumption data 143 may be provided via a dedicated application programming interface of the database server 141 and via the communications network 110. Users of one or more further computing devices 132 may, for example, be able to view and / or download the audio consumption data via the user interface. A given user's access to the audio consumption data 143 may be limited to audio consumption data to which that user has been granted access by the database server 141. For example, employees of a record company may have access to data regarding audio tracks of artists from said record company, and the artists may have access to data regarding their audio tracks.
[0029] In some alternative embodiments, the functionality described above as being implemented by database server 141 may be implemented locally by computing device 101. In other words, audio consumption data of at least the user of computing device 101 may be collected in a local database of computing device 101. The local database is accessible via communications network 110 by one or more computing devices 132.
[0030] Figure 2 provides a schematic diagram of a virtual environment 201 implemented by a virtual world application executing on a computing device, such as the virtual world application 102 of Figure 1 executing on the computing device 101 of Figure 1. The virtual environment may also be referred to as a virtual world environment, a virtual world, or a virtual space. Figure 2 specifically depicts a virtual world session for a particular single user.
[0031] The virtual environment 201 includes an avatar 202 of a user of a computing device. The avatar 202 is a representation of the user of the computing device in the virtual environment. The avatar 202 may be a human or non-human character, depicted, for example, as a three-dimensional model or a two-dimensional sprite. The avatar 202 may be associated with the user's user account in the virtual world application. The avatar 202 is assumed to be controllable by the user using at least one user input device included in or connected to the computing device. The user can control the position of the avatar 202 within at least the virtual environment 201 and can also use the avatar 202 to interact with the virtual environment. Depending on the type of virtual world application, the avatar may or may not be visible to the user during gameplay; for example, the virtual world application may employ a first-person or third-person perspective of the avatar.
[0032] In embodiments in which the virtual environment corresponds to a multiplayer game or other multi-user virtual environment, the virtual environment 201 may further include one or more avatars of other users.
[0033] The virtual environment 201 further includes one or more audio emitters 203, 204, and 205, i.e., virtual spatialized audio sources, for emitting one or more audio tracks within the virtual environment. Specifically, a non-limiting example with three audio emitters 203, 204, and 205 is shown in FIG. 2. At least some of the audio emitters 203, 204, and 205 may represent in the virtual world certain virtual world objects visible to the user (e.g., a 3D model of a speaker, boombox, or radio). There may be no such visible virtual representation within the virtual environment. The audio emitters 203, 204, and 205 may be stationary or moving.
[0034] In some embodiments, at least some of the audio emitters 203, 204, 205 may be associated with and co-located with another user's avatar in the multi-user virtual environment.
[0035] Similar to a real-world sound source, the audio level (i.e., volume level or decibel level) of the emitted audio track audible to the user depends on the position of the avatar 202 relative to the audio emitters 203, 204, and 205. Typically, the audio level decreases as the avatar 201 moves farther from the audio emitters 203, 204, and 205. Each of the multiple audio emitters 203, 204, and 205 has an audible range 203′, 204′, and 205′ that defines a region or volume of the virtual environment 201 where the emitted audio is audible to the user, i.e., where the audio track is output via an audio output device contained in or connected to the user's computing device. The region or volume can be positioned symmetrically or asymmetrically around the audio emitters 203, 204, and 204, in two or three dimensions. In some cases, the size and / or shape of the region or volume may be affected by one or more virtual world objects of the virtual environment not shown in Figure 2. For example, a virtual wall or some other virtual obstacle may block or attenuate the sound emitted by audio emitters 203, 204, 205. Each or at least some of audio emitters 203, 204, 205 may emit sound at different audio levels.
[0036] The audio emitters 203, 204, 205 may be triggered or activated based on certain events occurring within the virtual environment. For example, the audio emitters 203, 204, 205 may be activated in response to the avatar 202 being within a predefined trigger range of the audio emitters 203, 204, 205. The trigger range may be greater than or equal to the audible range 203', 204', 205'. Alternatively, the audio emitters 203, 204, 205 may be activated in response to a first predefined trigger event occurring within the virtual environment. The first predefined trigger event may be caused, for example, by a user interacting with a virtual world object or a non-player character (NPC) in the virtual environment via their / her avatar 202, or, in the case of a multiplayer game or other multi-user virtual environment, by another user interacting with a virtual object in the virtual environment via their / her avatar 202. Similarly, the audio emitters 203, 204, 205 may be deactivated in response to the avatar 202 leaving the trigger range of the audio emitters 203, 204, 205 or in response to a second predefined trigger event occurring in the virtual environment.
[0037] In some embodiments, users can interact directly with audio emitters 203, 204, 205 using their avatar 202, for example, to turn the audio emitters on / off and / or adjust the audio level or audio content being output, e.g., to select which audio track to play.
[0038] In a multi-user online environment, the audio track emitted by an audio emitter 203, 204, 205 may be audible to multiple users whose avatars are within hearing range of the audio emitter 203, 204, 205, or may be audible only to the user who triggered or activated the audio emitter 203, 204, 205, depending on the particular online virtual environment and / or how the particular audio emitter is configured.
[0039] 2, the avatar 202 is within the audible range 203′, 204′ of the first and second audio emitters 203, 204, while being outside the audible range 205′ of the third audio emitter 205. Thus, the user is receiving simultaneous audio playback of a first audio track emitted from the first audio emitter 203 and a second audio track emitted from the second audio emitter 204. As noted above, the audio level of a given audio track emitted by an audio emitter as experienced at the location of the avatar 202 depends on, for example, the distance from the avatar 202 to the audio emitter and the initial audio level or volume level of the audio emitter. For example, the audio level of a first track emitted from a first audio emitter 203 may be much higher than the audio level of a second track emitted from a second audio emitter 204. As a result, the second audio track, while audible to a user, may not be clearly distinguishable by the human ear from other sounds output through the computing device's audio output device. In other words, the user may not fully experience the audio track or may even lose track of which audio track is being played. In such cases, it is unclear when an audio track should be considered consumed by the user. Some of the embodiments discussed below attempt to solve this problem by taking into account the inherent signal-to-noise ratio of the audio track.
[0040] Figure 3 illustrates a process for assessing and reporting a user's audio consumption in a virtual environment according to one embodiment. The illustrated process may be performed by a computing device, such as computing device 101 of Figure 1. In some alternative embodiments, the illustrated process may be performed using computing device 101 of Figure 1 (acting in a client role) in conjunction with remote virtual world server 121 of Figure 1. The process of Figure 3 may correspond to a process that can be implemented using audio consumption tracking software 103 of Figure 1. For simplicity, the actors in the illustrated process will be referred to as the computing device.
[0041] Referring to FIG. 3, it can be assumed that a virtual environment is initially prepared by a computing device. The virtual environment includes at least an avatar representing a user of the computing device and an audio emitter for emitting one or more audio tracks within the virtual environment. The audio emitter has an audible range that defines an area or volume of the virtual environment. The one or more audio tracks can be output via at least one audio output device included in or connected to the computing device when the avatar is within the audible range. The one or more audio tracks can be stored as one or more audio track files, respectively, in the memory of the computing device or in the memory of a remote server, such as remote server 121 of FIG. 1, and the audio tracks can be accessed by the computing device from remote server 121.
[0042] In some embodiments, the virtual environment may be an online virtual environment including multiple avatars representing multiple users, including a user of a computing device executing the process of Figure 2, connected to the same remote virtual world server via their respective computing devices.
[0043] In general, the virtual environment may be defined as described in connection with Figure 2. Thus, for example, in some embodiments, multiple audio emitters may be included within the virtual environment.
[0044] The computing device monitors the position of an avatar within the virtual environment in block 301. The position of the avatar within the virtual environment is assumed to be controllable by a user in one, two, or three dimensions using at least one user input device included in or connected to the computing device. Block 301 may monitor the position of the avatar, particularly relative to the audible range of an audio emitter.
[0045] The computing device checks whether the user's avatar has entered the audible range of the audio emitter in block 302. The check in block 302 may be repeated periodically or regularly when the avatar is outside the audible range, as illustrated in FIG. 3 by the arrow from the "No" output of block 302 back to the input of block 302.
[0046] In response to the avatar entering the audible range of the audio emitter in block 302, the computing device starts an audio consumption timer in block 303. As described above, the avatar entering the audible range in block 302 also causes one or more audio tracks emitted by the audio emitter to be audible to the user. The audio consumption timer serves to measure or quantify the time a user spends consuming one or more audio tracks emitted by the audio emitter. The computing device can monitor the playback of one or more audio tracks to the user while the audio consumption timer is running. This monitoring can include, for example, keeping track of which audio track is being played at a given time, how much of the currently playing audio track has already been played (e.g., a time value or a percentage value), how much of the currently playing audio track still remains to be played (e.g., a time value or a percentage value), and how many times each audio track has already been played. The results of the monitoring can be stored in memory of the computing device.
[0047] In some embodiments, a further check regarding the identifiability of the played audio track or tracks may be performed following a positive result of the check in block 302 before starting the audio consumption timer, as will be described in further detail in connection with FIG. 6.
[0048] The computing device checks whether the user's avatar has left the hearing range of the audio emitter in block 304. The check in block 304 may also be repeated periodically or regularly when the avatar is within hearing range, as illustrated in FIG. 3 by the arrow from the "yes" output of block 304 back to the input of block 304.
[0049] In response to the avatar leaving the hearing range of the audio emitter in block 304, the computing device stops the audio consumption timer in block 305. As described above, the avatar leaving the hearing range in block 304 also causes the user to no longer hear one or more audio tracks emitted by the audio emitter. The final value of the audio consumption timer may be stored in memory of the computing device.
[0050] The computing device, in block 306, evaluates the user's audio consumption based on at least an audio consumption timer and at least one duration of at least one of the one or more audio tracks that was at least partially emitted during execution of the audio consumption timer. The evaluation in block 306 may be further based on information regarding how much of each of the at least one audio track was played by the user, e.g., defined as a time value. For example, the computing device, in block 306, may calculate one or more values of one or more user-specific audio consumption metrics defined for the one or more audio tracks, respectively. Each audio consumption metric may quantify the user's audio consumption of the audio track in the virtual environment. Further examples of audio consumption evaluation functionality are discussed in connection with the following figures.
[0051] The computing device outputs, in block 307, information regarding the user's audio consumption, i.e., at least a portion of the results of the evaluation performed in block 306. The output in block 307 can be performed via an application programming interface to a database or a database server containing the database. The output in block 307 can also be performed via a communications network. This database corresponds to database 142 of FIG. 1.
[0052] In some embodiments, the information about the user's audio consumption output in block 307 may include, for each or at least one of the one or more audio tracks, one or more of the following quantities: - the number of times an audio track has been triggered or activated by the user, -The number of times an avatar entered and / or left the audible range of an audio emitter while an audio track was playing, - the number of times the avatar entered and / or left the consumption range of the audio emitter while the audio track was playing, the consumption range being defined as the area or volume within the virtual environment where the signal-to-noise ratio of the audio track equals or exceeds a second predefined threshold; - the number of times the audio consumption event for an audio track was triggered by the user, -The average length of time the avatar spent within the audio emitter's consuming range while the audio track was playing, - the average percentage of audio tracks consumed in audio consumption events, as well as -The average length of time that an audio track spends in an audio consumption event.
[0053] Additionally or alternatively, the information regarding the user's audio consumption output in block 307 may include at least one value of one or more audio consumption metrics defined for one or more audio tracks to quantify the user's audio consumption of the one or more audio tracks, for example, as discussed below in connection with FIG. 4.
[0054] FIG. 4 illustrates another process for assessing and reporting a user's audio consumption according to one embodiment. The illustrated process may be performed by a computing device, such as computing device 101 of FIG. 1. In some alternative embodiments, the illustrated process may be performed using computing device 101 of FIG. 1 (acting in a client role) in conjunction with remote (virtual world) server 121 of FIG. 1. The process of FIG. 4 may correspond to a process that can be implemented using audio consumption tracking software 103 of FIG. 1. For simplicity, the actors in the illustrated process will be referred to as computing devices hereinafter.
[0055] Figure 4 primarily serves to explain a more detailed implementation of block 306 according to one embodiment using blocks 406-409. Operations associated with blocks 401-405 may fully correspond to operations described in connection with blocks 301-305 of Figure 3 above, and therefore will not be repeated here for the sake of brevity.
[0056] Following stopping the audio consumption timer in block 405, the computing device detects whether an audio consumption event has occurred in block 406 based at least on the length of time the audio track was played while the audio consumption timer was running and the duration of the audio track. Here, the audio track may specifically be the first or initial audio track at least partially played to the user via the audio emitter after the audio consumption timer was started. The occurrence of the audio consumption event indicates that the user has consumed the audio track. The audio consumption event can be considered to have occurred or triggered, for example, when the user has listened to a certain relative amount of the audio track. A more detailed example of how an audio consumption event can be detected is discussed below in connection with FIG. 5.
[0057] In response to detecting that an audio consumption event has occurred in block 407, the computing device increments the value of an audio consumption metric defined for the audio track and user in block 408. The audio consumption metric may have a predefined initial value, such as 0. Incrementing corresponds to increasing the current value of the audio consumption metric by a predefined increment value, such as 1. In general, one or more user-specific audio consumption metrics may be defined for one or more audio tracks each capable of being output by an audio emitter.
[0058] After the increment at block 408, or in response to detecting at block 407 that an audio consumption event has not occurred, the computing device determines at block 409 whether another one or more of the one or more audio tracks output by the audio emitter were played to the user, at least in part, during the execution of the audio consumption timer. If at least one other audio track was played, the operations associated with blocks 406-408 are repeated, at least in part, for a next audio track to be played to the user. As described above, this next audio track has its own audio consumption metric that is incremented when it is determined that an audio consumption event occurred for the next audio track.
[0059] If it is determined at block 409 that no more audio tracks remain to be evaluated, the process proceeds to block 410, where the computing device outputs information regarding the user's audio consumption. The output at block 410 may be implemented via an application programming interface to a database or a database server that includes the database. Here, the information regarding the user's audio consumption output at block 410 includes at least one value of one or more audio consumption metrics defined for one or more audio tracks and the user, and optionally any of the quantities discussed in connection with block 307 of FIG. 3. This database corresponds to database 142 of FIG. 1.
[0060] Figure 5 illustrates a process according to one embodiment for evaluating whether an audio consumption event has occurred. The illustrated process may be performed by a computing device, such as computing device 101 of Figure 1. In some alternative embodiments, the illustrated process may be performed using computing device 101 of Figure 1 (acting in a client role) in conjunction with remote virtual world server 121 of Figure 1. The process of Figure 5 may correspond to a process that can be implemented using audio consumption tracking software 103 of Figure 1. For simplicity, the actors in the illustrated process will be referred to as the computing device.
[0061] Figure 5 helps explain a more detailed implementation of blocks 406 and 407 according to one embodiment using blocks 501-504. Thus, the process of Figure 5 can replace blocks 406 and 407 of Figure 4 in some embodiments.
[0062] 4, the computing device calculates a value for a track consumption metric in block 501. The track consumption metric may be defined as a percentage or ratio of the length of time an audio track has been playing while the audio consumption timer is running to the duration of the audio track. Alternatively, the track consumption metric may be defined as the length of time an audio track has been playing while the audio consumption timer is running.
[0063] In some embodiments, a computing device can dynamically select between the two alternative definitions of the track consumption metric based on the length of the audio track currently being evaluated. That is, if the audio track is longer than a predefined length (e.g., a length defined in seconds or minutes and seconds), a percentage or ratio definition can be employed. Conversely, if the audio track is shorter than or equal to a predefined length, e.g., a length defined in seconds or minutes and seconds, a time length definition can be employed. The predefined length can have a value greater than 110 seconds and / or less than 130 seconds, for example.
[0064] Next, the computing device evaluates whether the track consumption metric exceeds a first predefined threshold in block 502. The first predefined threshold sets a limit on how much of the audio track (e.g., how much of the audio track's duration, or how many seconds) must be listened to by the user for the audio track to be considered consumed by the user.
[0065] When the track consumption metric is defined as a percentage or ratio of the length of time an audio track was playing while the audio consumption timer was running to the duration of said audio track, the first predefined threshold may have a value greater than 0%, preferably greater than 10%, more preferably greater than 20%, and / or less than 100%, preferably less than 50%, more preferably less than 40%. In one embodiment, the first predefined threshold has a value substantially equal to 30%.
[0066] If the track consumption metric is defined as the length of time that an audio track has been playing while the audio consumption timer is running, the first predefined threshold may have a value greater than 10 seconds, preferably greater than 20 seconds, and / or a value less than 50 seconds, preferably less than 40 seconds.
[0067] In response to the track consumption metric exceeding a first predefined threshold at block 502, the computing device detects an audio consumption event at block 503. The process then proceeds to block 408 of FIG. 4 and subsequently to block 409 of FIG. 4.
[0068] Conversely, in response to the track consumption metric failing to exceed the first predefined threshold at block 502, the computing device detects that an audio consumption event has not occurred at block 504. The process then proceeds to block 409 of FIG.
[0069] FIG. 6 illustrates another process for assessing and reporting a user's audio consumption according to one embodiment. The illustrated process may be performed by a computing device, such as computing device 101 of FIG. 1. In some alternative embodiments, the illustrated process may be performed using computing device 101 of FIG. 1 in combination with remote server 121 of FIG. 1. The process of FIG. 6 may correspond to a process that can be implemented using audio consumption tracking software 103 of FIG. 1. For simplicity, the actors in the illustrated process will be referred to as the computing device.
[0070] Referring to Figure 6, the operations associated with initial blocks 601-602 may fully correspond to the operations described in connection with blocks 301-302 of Figure 3 or blocks 401-402 of Figure 4 above, and therefore will not be repeated here for the sake of brevity. Here, it may be assumed that the virtual environment provided to the user by the computing device includes, in addition to the avatar and audio emitter, one or more additional audio emitters for emitting audio within the virtual environment, as depicted in Figure 2, and / or other spatialized and / or non-spatialized audio sources that generate sounds that may be audible to the user simultaneously with one or more audio tracks emitted by the audio emitters. The non-spatialized audio or background audio generated by the other non-spatialized audio sources may include, for example, non-spatialized background sounds, e.g., ambient sound effects associated with the virtual environment, such as city sounds, and / or non-spatialized background music and / or voice chat audio.
[0071] In response to detecting that an avatar is within hearing range of an audio emitter at block 602, and therefore, one or more audio tracks being output to a user via an audio output device of a computing device, the process does not proceed directly to starting an audio consumption timer as in the previous embodiment. Instead, an additional check is performed to verify that the one or more audio tracks output via the audio output device are actually identifiable by the user before the audio consumption time can begin.
[0072] That is, the computing device calculates, in block 603, the audio level of the audio track currently emitted by the audio emitter at the avatar's current position within the virtual environment. The avatar's current position or location may correspond to a two-dimensional or three-dimensional location. The computing device then calculates, in block 604, a background audio level at the avatar's current position. The background audio level may correspond to the total audio level minus the audio level of the audio track. The background audio level may be due to audio emitted by one or more additional audio emitters within the virtual environment and / or the other audio spatialized and / or non-spatialized sources.
[0073] Background audio level A at avatar position background In block 604,
number
number
[0074] If no external audio emitters (or other audio sources) other than the audio emitter emitting the audio track or tracks of interest are audible at the avatar's location, the background audio level can be estimated in block 604 to be zero, i.e., negative infinity decibels, or indeed a very small negative value such as -10000 dB.
[0075] The computing device calculates a signal-to-noise ratio (SNR) of the audio track at the avatar's current location based on the audio level of the audio track and the background audio level in block 605. The SNR of the audio track is calculated as SNR track (in absolute units) can be calculated as follows: SNR track =A track / A background However, A track and A backgroundare the audio levels of the audio track and background in absolute units, respectively. Alternatively, SNR is the signal-to-noise ratio of the audio track in decibels (dB). track can be calculated as follows: SNR track [dB]=A track [dB]-A background [dB] However, A track [dB] and A background [dB] are the audio levels of the audio track and background, respectively, in decibels.
[0076] The computing device then determines whether the calculated SNR exceeds a second predefined threshold in block 606. The second predefined threshold sets a limit on how low the SNR of the audio track can be so that the audio track is reasonably clearly distinguishable or clearly distinguishable from background audio by a human user with normal hearing. The second predefined threshold can be defined in either absolute units or decibel units.
[0077] In some embodiments, the second predefined threshold may have a value greater than 10 dB, preferably greater than 20 dB, more preferably greater than 24 dB, and / or a value less than 40 dB, preferably less than 30 dB, more preferably less than 26 dB. For example, the second predefined threshold may have a value of 25 dB, which in most cases corresponds to an SNR level at which a signal is barely audible to an average human ear with normal hearing.
[0078] In some embodiments, the second predefined threshold may have a value between 24 dB and 26 dB.
[0079] In response to the SNR equaling or exceeding a second predefined threshold in block 606, the computing device starts an audio consumption timer in block 607. In response to the SNR falling below the second predefined threshold in block 606, the computing device does not start the audio consumption timer. Instead, the computing device effectively stops the audio consumption estimation process because no audio track emitted by the audio emitter can be clearly distinguished from background audio by the user based on the calculated SNR. The evaluations described in connection with blocks 602-606 may then be repeated periodically or regularly while the user remains within hearing range.
[0080] So, in summary, according to the embodiment shown in FIG. 6, two separate checks must be passed in order for the audio consumption timer to be started: 1) In block 602, the avatar must be within hearing range of the audio emitter, and -2) In block 606, the SNR of the audio track currently emanating at the avatar's location must be high enough so that a human user can be assumed to be able to distinguish the audio track from the background audio.
[0081] The area or volume in the virtual environment that passes the SNR condition, i.e., condition 2, can be referred to as the audio emitter's consumption range. It should be noted that the audio emitter's consumption range is not static; its size and shape can change dynamically when the audio environment changes, for example, when audio emitters are activated / deactivated and / or moved and / or when non-spatialized audio sources are activated / deactivated.
[0082] The computing device checks whether the user's avatar has left the hearing range of the audio emitter in block 608, similar to block 304 of Figure 3. Also similar to Figure 3, the computing device stops the audio consumption timer in block 611 in response to the avatar not being within hearing range in block 608.
[0083] In response to the avatar being within hearing range in block 608, the computing device repeats in block 609 the audio level calculation defined in block 603, the background audio level calculation defined in block 604, and the SNR calculation defined in block 605 for the avatar's new current location.
[0084] In response to the SNR calculated in block 609 falling below a second predefined threshold in block 610 while the audio consumption timer is running, the computing device stops the audio consumption timer in block 611.
[0085] Both checks defined in blocks 608-610 may be repeated periodically or regularly while the audio consumption timer is running, i.e., when the avatar is within hearing and consumption range, as illustrated in FIG. 6 by the arrow from the "Yes" output of block 610 back to the input of block 608.
[0086] Following stopping of the audio consumption timer in block 611, the process may proceed in a manner similar to that described in connection with any of Figures 3-5. That is, the process may proceed to any of blocks 306, 406, 501 of Figures 3, 4, and 5, respectively.
[0087] 7A, 7B, and 7C illustrate three different audio consumption scenarios that may occur in virtual environment 700. Specifically, the figures illustrate three scenarios that lead to different outcomes of the process of FIG.
[0088] Each of Figures 7A, 7B, and 7C shows a virtual environment 700, a user avatar 701, and an audio emitter 702 with a fixed audible range 703 and a fixed consumption range 704. The consumption range is assumed to be the same in all three cases. In Figures 7A, 7B, and 7C, the consumption range is referred to as the calculated consumption area.
[0089] In Figure 7A, an avatar 701 is in both the audible range 703 and the consuming range 704 of an audio emitter 702. In this case, the user is interpreted by the computing device as currently consuming one or more audio tracks emitted by the audio emitter. It is assumed that the user is not only able to hear the audio track or tracks, but also able to distinguish them from background audio. In the situation in Figure 7A, the audio consumption timer is running.
[0090] In Figure 7B, avatar 701 is within audible range 703 of audio emitter 702 but outside consumption range 704 of audio emitter 702. This is interpreted by the computing device as meaning that the user is currently unable to consume one or more audio tracks emitted by the audio emitter. One or more audio tracks are output by the computing device's audio output device, but the user is unable to distinguish them from the background audio that is also being output. While the user may be able to hear something playing over the background audio, one or more audio tracks are not or barely perceptible to the user, significantly impairing the audio experience. In the situation of Figure 7B, the audio consumption timer is running.
[0091] In Figure 7C, the avatar 701 is outside both the audible range 703 and the consumption range 704 of the audio emitter 702. This is further interpreted by the computing device as the user not currently being able to consume one or more audio tracks emitted by the audio emitter. In this case, the audio track or tracks are not even being output by the computing device's audio output device. In the situation of Figure 7C, the audio consumption timer is not running.
[0092] In some embodiments, a computing device for performing audio consumption tracking may be configured to operate using two different modes of operation: a first mode of operation for evaluating and reporting audio consumption associated with one or more audio tracks emitted by an audio emitter, as described above, and a second mode of operation for evaluating and reporting audio consumption associated with one or more audio tracks played to a user as non-spatialized audio without the use of an audio emitter (e.g., looping audio tracks, in-game “radio,” background music, and menu music). FIG. 8 illustrates a process according to one embodiment for evaluating and reporting a user's consumption of non-spatialized audio. The illustrated process may be performed by a computing device, such as computing device 101 of FIG. 1. In some alternative embodiments, the illustrated process may be implemented using computing device 101 of FIG. 1 acting in a client role in conjunction with remote virtual world server 121 of FIG. 1. The process of FIG. 8 may correspond to a process implementable using audio consumption tracking software 103 of FIG. 1. For simplicity, the actor of the illustrated process will be referred to as the computing device.
[0093] Referring to FIG. 8, a computing device initially performs a check in block 801 to detect whether a non-spatialized audio track is being played to a user of the computing device. The non-spatialized audio track may be played while the user is exploring a virtual environment via an avatar, or at least while the computing device is executing a virtual world application to realize the virtual environment. As described above, the non-spatialized audio track is not emitted by any particular audio emitter. The playback of the non-spatialized audio track and its audio level may be independent of the avatar's position within the virtual environment.
[0094] In response to detecting in block 801 that a non-spatialized audio track has been played to a user, the computing device starts a non-spatialized audio consumption timer, i.e., an audio consumption timer for non-spatialized audio, in block 802.
[0095] In response to detecting in block 803 that the non-spatialized audio track is no longer being played to the user, the computing device stops the non-spatialized audio consumption timer in block 804.
[0096] The computing device detects whether a non-spatialized audio consumption event has occurred based at least on the length of time the audio track was playing during execution of the non-spatialized audio consumption timer and the duration of the non-spatialized audio track, in block 805. Here, the non-spatialized audio consumption event indicates that the user has consumed the non-spatialized audio track. This operation may be performed in a manner similar to the detection performed in block 406.
[0097] In response to detecting that a non-spatialized audio consumption event has occurred in block 806, the computing device increments the value of a non-spatialized audio consumption metric defined for the non-spatialized audio track and the user in block 807. The non-spatialized audio consumption metric may be defined in a manner similar to that described for the audio consumption metrics above. Thus, the non-spatialized audio consumption metric may have a predefined initial value, such as 0. Incrementing corresponds to increasing the current value of the non-spatialized audio consumption metric by a predefined increment value, such as 1. In general, one or more user-specific non-spatialized audio consumption metrics may be defined for one or more non-spatialized audio tracks playable to the user.
[0098] Following the increment at block 807, the computing device outputs information regarding the user's non-spatialized audio consumption at block 808. The output at block 808 may be performed via an application programming interface to a database, such as a database of a database server. The output at block 808 may also be performed via a communications network. This database corresponds to database 142 of FIG. 1. The information regarding the user's non-spatialized audio consumption at block 808 may include values of non-spatialized audio consumption metrics defined for the non-spatialized audio track to quantify the user's audio consumption of the non-spatialized audio track.
[0099] In some embodiments, the information about the user's non-spatialized audio consumption output in block 808 may include one or more of the following quantities: - the number of times a non-spatialized audio track was played to the user, - the number of times a non-spatialized audio consumption event for a non-spatialized audio track was triggered for the user; -the average percentage of non-spatialized audio tracks consumed in the non-spatialized audio consumption event, and -The average length of time that a non-spatialized audio track spends in a non-spatialized audio consumption event.
[0100] In some embodiments, the information about the user's non-spatialized audio consumption output at block 808 may include all of the quantities listed above.
[0101] In some embodiments, the detection in block 805 may be performed in a similar manner as described in relation to blocks 501-503 for an audio track associated with an audio emitter. In this case, any of the definitions provided in relation to FIG. 5 may apply, mutatis mutandis. This is shown in FIG. 9, which helps explain a more detailed implementation of blocks 805 and 806 according to one embodiment using blocks 901-904. Thus, the process of FIG. 9 may replace blocks 805 and 806 of FIG. 8 in some embodiments. The process of FIG. 9 may correspond to a process that may be implemented using audio consumption tracking software 103 of FIG. 1.
[0102] Following stopping the audio consumption timer per block 804 of Figure 8, the computing device calculates, in block 805, the value of a non-spatialized track consumption metric defined as the length of time that a non-spatialized audio track was playing while the non-spatialized audio consumption timer was running, or as a percentage or ratio of the length of time that a non-spatialized audio track was playing while the non-spatialized audio consumption timer was running to the duration of said non-spatialized audio track. Thus, the non-spatialized track consumption metric may be defined in a manner similar to the track consumption metric discussed in connection with Figure 5.
[0103] In response to the value of the non-spatialized track consumption metric exceeding a third predefined threshold (which value may or may not match the value of the first predefined threshold) in block 902, the computing device detects a non-spatialized audio consumption event in block 903. In response to the value of the non-spatialized track consumption metric failing to exceed the third predefined threshold in block 902, the computing device detects that a non-spatialized audio consumption event has not occurred in block 904.
[0104] The blocks, related functions, and information exchanges described above with reference to Figures 3 to 6, 8, and 9 are not in absolute chronological order; some of them may be performed simultaneously or in an order different from that given. Other functions may be performed between or within them, other information may be sent and / or received, and / or other mapping rules may be applied. Some of the blocks or portions of blocks, or one or more pieces of information, may be omitted or replaced with a corresponding block or portion of a block, or one or more pieces of information.
[0105] One embodiment involves using any of the computer-implemented methods described above to track audio consumption in an online virtual environment that includes multiple avatars representing multiple users, the online virtual environment being or equivalent to a metaverse.
[0106] 10 illustrates an apparatus 1001 configured to perform the functions or portions of the functions described above in connection with computing device 101 of FIG. 1. Device 1001 may be an electronic device including electronic circuitry. Device 1001 may be a separate entity or may be multiple separate entities, i.e., a distributed device. Device 1001 may be connected to a communications network similar to that depicted in FIG. 1.
[0107] The device 1001 can include control circuitry 1020, such as at least one processor, and at least one memory 1030 containing computer program code or software 1031, the at least one memory and computer program code or software, together with the at least one processor, configured to cause the device 1001 to perform any one of the above-described embodiments. The software can include a virtual world application 102 and audio consumption tracking software 103, as discussed in connection with FIG. 1 .
[0108] The memory 1030 may be implemented using any suitable data storage technology, such as semiconductor-based memory devices, flash memory, magnetic memory devices and systems, optical memory devices and systems, fixed and removable memory, etc. The memory may include a database 1032. The memory 1030 may be connected to the control circuitry 1020 via an interface.
[0109] The device 1001 may further include one or more interfaces 1010, including hardware and / or software for achieving communication connectivity according to one or more communication protocols. Specifically, the one or more interfaces 1010 may include, for example, an interface providing connection to a remote server, i.e., a virtual world server, via a communication network and / or an interface providing connection to a database server for storing audio consumption data. The one or more interfaces 1010 may enable receiving user input via one or more user input devices, e.g., a keyboard and a mouse. The one or more interfaces 1010 may include standard, well-known components such as amplifiers, filters, frequency converters, modulators / demodulators, encoder / decoder circuits, and one or more antennas. The one or more interfaces 1010 may include an application programming interface for enabling reporting of spatialized and / or non-spatialized audio consumption information to a database server.
[0110] The control circuitry 1020 may include a virtual world implementation circuitry 1021. The virtual world implementation circuitry 1021 may be configured to provide a virtual environment or virtual world according to an embodiment. The control circuitry 1020 may further include an audio consumption tracking circuitry 1022. The audio consumption tracking circuitry 1020 may be configured to perform any of the processes discussed in connection with FIGS. 1-6, 7A, 7B, 7C, 8, and 9, but not performed by the virtual world implementation circuitry 1021. In some embodiments, the virtual world implementation circuitry 1021 and the audio consumption tracking circuitry 1022 may be the same circuit in whole or in part.
[0111] As used in this application, the term "circuitry" may refer to one or more, or all, of the following: (a) a hardware-only circuit implementation, such as an implementation with only analog and / or digital circuitry, and (b) (where applicable) a combination of hardware circuitry and software (and / or firmware), such as: (i) a combination of analog and / or digital hardware circuitry and software / firmware, (ii) any portion of a hardware processor with software, including a digital signal processor, software, and memory, that cooperate to cause an apparatus, such as a terminal device or access node, to perform various functions, and (c) hardware circuits and processors, such as a microprocessor or portion of a microprocessor, that require software, e.g., firmware, to operate, but that the software may not be present when not necessary for operation. This definition of "circuitry" applies to all uses of the term in this application, including the claims. As a further example, as used in this application, the term "circuitry" also covers implementations of simply a hardware circuit or processor, or multiple processors, or portions of a hardware circuit or processor, and their associated software and / or firmware. The term "circuitry" also covers, for example, baseband integrated circuits for access nodes, or terminal devices, or other computing or network devices, if applicable to particular claim elements.
[0112] In one embodiment, at least a portion of the processes described in connection with Figures 3-6, 8, and 9 can be performed by an apparatus (e.g., a computing device or computing system) that includes corresponding means for performing at least a portion of the described processes. Some exemplary means for performing the processes can include at least one of: a detector; a processor, including dual-core and multi-core processors; a digital signal processor; a controller; a receiver; a transmitter; an encoder; a decoder; a memory; a RAM; a ROM; software; firmware; a display; a user interface; a display circuit; a user interface circuit; a user interface software; a display software; a circuit; an antenna; an antenna circuit; and a circuit. In one embodiment, at least one processor, memory, and computer program code form processing means or comprise one or more computer program code portions for performing one or more operations according to any one of Figures 3-6, 8, and 9 or embodiments of those operations.
[0113] The described embodiments may also be implemented in the form of a computer process defined by a computer program or a portion thereof. The method embodiments described with reference to Figures 3-6, 8, and 9 may be implemented by executing at least a portion of a computer program containing corresponding instructions. The computer program may be provided as a computer-readable medium having program instructions stored thereon, or as a non-transitory computer-readable medium having program instructions stored thereon. The computer program may be in source code, object code, or some intermediate form and may be stored on any type of carrier, which may be any entity or device capable of carrying the program. For example, the computer program may be stored on a computer program distribution medium readable by a computer or processor. Examples of computer program medium include, but are not limited to, a recording medium, computer memory, read-only memory, an electrical carrier signal, a telecommunications signal, a software distribution package, etc. The computer program medium may also be a non-transitory medium. Coding software to implement the illustrated and described embodiments is well within the capabilities of one skilled in the art.
[0114] Although the embodiments have been described above with reference to examples in the accompanying drawings, it is clear that the embodiments are not limited thereto and may be modified in a number of ways within the scope of the appended claims. Therefore, all words and expressions should be interpreted broadly and are intended to illustrate, not limit, the embodiments. It will be apparent to those skilled in the art that with the advancement of technology, the concepts of the present invention can be implemented in various ways. Furthermore, it will be apparent to those skilled in the art that the described embodiments may be combined with other embodiments in various ways, but this is not required.
Claims
1. A computer implementation method for tracking audio consumption in a virtual environment, which includes an avatar representing a user of a computing device and an audio emitter for emitting one or more audio tracks within the virtual environment, Steps include: monitoring the position of the avatar within the virtual environment; ensuring that the position of the avatar within the virtual environment is controllable by the user using at least one user input device included in or connected to the computing device; the audio emitter having an audible range that defines an area or volume of the virtual environment; and that one or more audio tracks are output via at least one audio output device included in or connected to the computing device when the avatar is within the audible range. Steps include: starting an audio consumption timer in response to the avatar entering the audible range of the audio emitter; Steps to stop the audio consumption timer in response to the avatar moving out of the audible range of the audio emitter, A step of evaluating the user's audio consumption based on at least the audio consumption timer and the duration of at least one audio track of the one or more audio tracks that was at least partially emitted during the execution of the audio consumption timer, and A step of outputting information regarding the user's audio consumption, Computer implementation methods including
2. Steps to activate the audio emitter in response to the avatar being within the trigger range of the audio emitter, or in response to a first predefined trigger event occurring within the virtual environment, where the trigger range is greater than or equal to the audible range, and / or The steps of deactivating the audio emitter in response to the avatar moving out of the trigger range of the audio emitter, or in response to a second predefined trigger event occurring in the virtual environment, The computer implementation method according to claim 1, further comprising:
3. The step of evaluating the user's audio consumption includes, for each of the one or more audio tracks, the following: Steps to detect whether an audio consumption event has occurred, based at least on the length of time the audio track was played during the execution of the audio consumption timer and the duration of the audio track, and that the occurrence of the audio consumption event indicates that the user consumed the audio track, and Steps to increment the values of audio consumption metrics defined for the audio track and the user in response to the step of detecting that the audio consumption event has occurred, and the information relating to the user's audio consumption includes at least one audio consumption metric defined for one or more audio tracks and the user. The computer implementation method according to claim 1.
4. The step of detecting whether the aforementioned audio consumption event has occurred includes at least the following: A step of calculating a value for a track consumption metric, which is defined as the length of time the audio track was played during the execution of the audio consumption timer, or as a percentage or ratio of the length of time the audio track was played during the execution of the audio consumption timer to the duration of the audio track. The steps include detecting the audio consumption event in response to the value of the track consumption metric exceeding a first predefined threshold, and Steps to detect that no audio consumption event has occurred in response to the failure of the value of the track consumption metric to exceed the first predefined threshold, The computer implementation method according to claim 3.
5. The steps include, in response to the avatar entering the audible range of the audio emitter, performing the following: A step of calculating the audio level of the audio track currently being emitted by the audio emitter at the current position of the avatar. A step of calculating the background audio level at the current position of the avatar, A step of calculating the signal-to-noise ratio of the audio track at the current position of the avatar, based on the audio level of the audio track and the background audio level of the audio track. The step of starting the audio consumption timer in response only when the signal-to-noise ratio is equal to or exceeds a second predefined threshold, The computer implementation method according to claim 4.
6. While the audio consumption timer is running, the steps of calculating the audio level, calculating the background audio level, and calculating the signal-to-noise ratio are repeated periodically or regularly, and While the audio consumption timer is running, the step of stopping the audio consumption timer in response to the signal-to-noise ratio falling below the second predefined threshold, The computer implementation method according to claim 5, further comprising:
7. The computer implementation method according to claim 5, wherein the second predefined threshold value is between 24 dB and 26 dB.
8. The information relating to the user's audio consumption includes, for each or at least one of the one or more audio tracks, one or more of the following quantities: The number of times the audio track was triggered or activated by the user, During the playback of the audio track, the number of times the avatar entered and / or left the audible range of the audio emitter, The number of times the avatar entered and / or left the consumption range of the audio emitter while the audio track was being played, the number of times the consumption range is defined as an area or volume in the virtual environment where the signal-to-noise ratio of the audio track is equal to or exceeds the second predefined threshold, The number of times the audio consumption event of the aforementioned audio track was triggered by the user, The average length of time the avatar spent within the consumption range of the audio emitter while the audio track was being played, The average percentage of the aforementioned audio tracks consumed in an audio consumption event, and The average length of time the aforementioned audio track was consumed during the audio consumption event. The computer implementation method according to claim 5.
9. Steps include: In response to detecting that a despatialized audio track has been played for the user, start a despatialized audio consumption timer; Steps to stop the despatialized audio consumption timer in response to detecting that the despatialized audio track is no longer being played for the user: Steps to detect whether a despatialized audio consumption event has occurred, based at least on the length of time the audio track was played during the execution of the despatialized audio consumption timer and the duration of the despatialized audio track; and steps to determine whether the despatialized audio consumption event indicates that the user consumed the despatialized audio track. In response to the step of detecting that the despatialized audio consumption event has occurred, the steps include: incrementing the values of the despatialized audio consumption metrics defined for the despatialized audio track and the user; and A step of outputting information regarding the user's despatialized audio consumption, The computer implementation method according to claim 1, further comprising:
10. The step of detecting whether the despatialized audio consumption event has occurred includes at least the following: A step of calculating a value for a despatialized track consumption metric, defined as the length of time the despatialized audio track was played during the execution of the despatialized audio consumption timer, or as a percentage or ratio of the length of time the despatialized audio track was played during the execution of the despatialized audio consumption timer to the duration of the despatialized audio track. The steps include detecting the despatialized audio consumption event in response to the value of the despatialized track consumption metric exceeding a third predefined threshold, and Steps to detect that no despatialized audio consumption event has occurred, in response to the failure of the value of the despatialized track consumption metric to exceed the third predefined threshold, The computer implementation method according to claim 9.
11. The step of providing the virtual environment by the computing device, or by the computing device communicating with at least one remote server. The computer implementation method according to claim 1, further comprising:
12. The computer implementation method according to claim 1, wherein the virtual environment is a two-dimensional or three-dimensional virtual environment implemented using a game engine.
13. A computing device comprising means for performing the computer implementation method described in any one of claims 1 to 12.
14. A non-temporary computer-readable medium on which instructions are stored, wherein, when executed by a computing device, the instructions cause the computing device to execute the computer implementation method according to any one of claims 1 to 12.
15. Use of the computer implementation method according to any one of claims 1 to 12 for tracking audio consumption in an online virtual environment including multiple avatars representing multiple users.