Information processing program, information processing system, information processing device, and information processing method

The information processing program addresses the issue of sound sources becoming inaudible by correcting distance attenuation with relative speed, ensuring sustained audio presence in virtual environments.

JP2026112758APending Publication Date: 2026-07-07NINTENDO CO LTD

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
NINTENDO CO LTD
Filing Date
2024-12-25
Publication Date
2026-07-07

AI Technical Summary

Technical Problem

Conventional methods fail to effectively maintain the presence of a sound source when it moves away in a virtual space, leading to instances where the sound becomes inaudible too quickly.

Method used

An information processing program that applies a correction to the distance attenuation between a virtual listener and a sound source based on their relative speed, adjusting the attenuation reference distance to ensure the sound source's presence is retained by reducing volume attenuation as the sound source moves away.

Benefits of technology

The program ensures that the sound source remains audible for a longer duration, maintaining its presence even when moving at high speed by dynamically adjusting volume attenuation based on the relative velocity and distance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026112758000001_ABST
    Figure 2026112758000001_ABST
Patent Text Reader

Abstract

This provides an information processing program that can retain a certain degree of presence of a sound source even when the sound source is moving away. [Solution] In one example of the information processing system of this embodiment, a sound source and a virtual listener are set up in a virtual space, and a correction is applied to the distance between the position of the virtual listener and the position of the sound source so that the faster the sound source moves away from the virtual listener, the closer the sound source gets to the virtual listener. Based on the calculated attenuation reference distance, the distance attenuation of the sound volume of the sound source is calculated.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to an information processing program, an information processing system, an information processing device, and an information processing method capable of controlling voice.

Background Art

[0002] Conventionally, there has been an information processing program that attenuates the volume of a sound source in a virtual space based on distance (see, for example, Patent Document 1).

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] In the above conventional method, there is room for improvement regarding leaving the presence of the sound source when the sound source moves away.

[0005] Therefore, the present embodiment discloses an information processing program, an information processing system, an information processing device, and an information processing method capable of leaving the presence of a sound source to some extent when the sound source moves away.

Means for Solving the Problems

[0006] (First Configuration) In the first configuration of this embodiment, the information processing program causes the computer to determine the volume at which it will output the sound set for each of the at least one sound sources set in the virtual space, based on distance attenuation corresponding to the attenuation reference distance, which is the distance between the position of the virtual listener in the virtual space and the position of the sound source, with a correction applied so that the speed at which the sound source moves away from the virtual listener is faster. The information processing program also causes the computer to output the sound set for the sound source based on the determined volume.

[0007] According to the above, for example, even when the sound source moves away, it is possible to retain a certain degree of the sound source's presence.

[0008] (Second structure) In the second configuration, in the first configuration described above, the speed at which the sound source moves away from the virtual listener may be a value based on the relative speed between the sound source and the virtual listener, either the component in the direction from the sound source towards the virtual listener or the component in the direction from the virtual listener towards the sound source.

[0009] According to the above, the speed at which the sound source moves away from the virtual listener can be determined based on the relative velocity between the sound source and the virtual listener, specifically the directional component from the sound source towards the virtual listener or the directional component from the virtual listener towards the sound source.

[0010] (The third structure) In the third configuration, in the first or second configuration described above, the information processing program may cause the computer to apply less of the correction as the distance between the position of the virtual listener in the virtual space and the position of the sound source increases.

[0011] According to the above, the greater the distance between the virtual listener and the sound source, the smaller the correction can be, which can suppress the occurrence of sounds that are too far away to be heard.

[0012] (Fourth structure) In the fourth configuration, in any of the first to third configurations described above, the virtual listener may be set to a position corresponding to the position of the virtual camera in the virtual space.

[0013] According to the above, when a sound source viewed from a virtual camera moves away, the volume of that sound source can be attenuated based on the attenuation reference distance.

[0014] (Fifth component) In the fifth configuration, in the fourth configuration described above, the information processing program may cause the computer to move the player object in the virtual space based on the operation input, and to move the position of the virtual camera to a position corresponding to the position of the player object.

[0015] According to the above, when a player object is controlled to move along with a virtual camera, and the sound source moves away, the volume of the sound source can be attenuated based on the attenuation reference distance.

[0016] (The sixth component) In the sixth configuration, in the fifth configuration described above, the player object may be a moving object that moves on a field in the virtual space. The sound source may be set at least at the location of a moving object other than the player object in the virtual space. The information processing program may cause the computer to move the player object and the moving objects other than the player object on the field.

[0017] According to the above, in games where objects are driven, such as racing games, when a driving object moves away from a player object due to passing or overtaking, it is possible to retain some of the sound from that driving object.

[0018] Furthermore, the other components may be an information processing system, an information processing device, or an information processing method. [Effects of the Invention]

[0019] According to an example of the present invention, for example, when the sound source moves away at high speed, the presence of the sound source can be retained to a certain extent.

Brief Description of Drawings

[0020] [Figure 1] Figure showing an example of a game system [Figure 2] Block diagram showing an example of the internal configuration of the main body device [Figure 3] View of the virtual space during a racing game as seen from above [Figure 4] Figure for explaining a method of calculating the attenuation reference distance [Figure 5] Figure for explaining the distance attenuation based on the attenuation reference distance CD calculated by Equation (5) [Figure 6] View of the virtual space during a racing game as seen from above, showing an example of the virtual space when a plurality of sound source objects exist [Figure 7] Figure showing an example of various data stored in the game system 1 [Figure 8] Flowchart showing an example of game processing related to a racing game [Figure 9] Flowchart showing details of the voice control processing in step S15

Embodiments for Carrying Out the Invention

[0021] (Configuration of the Game System) The following describes a game system according to an example of this embodiment. Figure 1 is a diagram showing an example of a game system. The example of the game system 1 in this embodiment includes a main unit (information processing device; in this embodiment, it functions as the main unit of the game device) 2, a left controller 3, and a right controller 4. The main unit 2 is a device that performs various processes (for example, game processing) in the game system 1. The left controller 3 and the right controller 4 include, as an example of an operation section for user input, a plurality of directional buttons 30 including up, down, right, and left buttons, a plurality of buttons (A button, B button, X button, Y button, L button, R button, etc.), a left analog stick 31, and a right analog stick 35.

[0022] The main unit 2 is configured so that the left controller 3 and the right controller 4 can be attached and detached. In other words, the game system 1 can be used as an integrated device by attaching the left controller 3 and the right controller 4 to the main unit 2, or the main unit 2 and the left controller 3 and the right controller 4 can be used as separate units. In the following, the left controller 3 and the right controller 4 will be collectively referred to as "controllers".

[0023] Figure 2 is a block diagram showing an example of the internal configuration of the main unit 2. As shown in Figure 2, the main unit 2 includes a processor 21. The processor 21 is an information processing unit that performs various information processing (e.g., game processing) in the main unit 2, and includes, for example, one or more CPUs (Central Processing Units) and one or more GPUs (Graphics Processing Units). The processor 21 may consist only of a CPU, or it may consist of a SoC (System-on-a-chip) that includes multiple functions such as CPU functions and GPU functions. The processor 21 performs various information processing by executing information processing programs (e.g., game programs) stored in a storage unit (specifically, an internal storage medium such as flash memory 26, or an external storage medium installed in slot 29).

[0024] The main unit 2 also includes a display 12. The display 12 displays images generated by the main unit 2. In this embodiment, the display 12 is a liquid crystal display (LCD). However, the display 12 may be any type of display device. The display 12 is connected to the processor 21. The processor 21 displays images generated (for example, by executing the above-mentioned information processing) and / or images acquired from an external source on the display 12.

[0025] Furthermore, the main unit 2 is equipped with a left terminal 22, which is a terminal for the main unit 2 to communicate with the left controller 3 via wired connection, and a right terminal 23, which is for the main unit 2 to communicate with the right controller 4 via wired connection.

[0026] Furthermore, the main unit 2 includes a flash memory 26 and a DRAM (Dynamic Random Access Memory) 27 as examples of internal storage media built into it. The flash memory 26 and DRAM 27 are connected to the processor 21. The flash memory 26 is a memory mainly used to store various types of data (which may be programs) stored in the main unit 2. The DRAM 27 is a memory used to temporarily store various types of data used in information processing.

[0027] The main unit 2 is equipped with a slot 29. The slot 29 has a shape that allows a predetermined type of storage medium to be inserted. The predetermined type of storage medium is, for example, a storage medium (e.g., a dedicated memory card) dedicated to the game system 1 and similar information processing devices. The predetermined type of storage medium is used to store, for example, data used by the main unit 2 (e.g., save data for game applications, etc.) and / or programs executed by the main unit 2 (e.g., game programs, etc.).

[0028] The main unit 2 is equipped with a slot interface (hereinafter abbreviated as "I / F") 28. The slot I / F 28 is connected to the processor 21. The slot I / F 28 is connected to slot 29 and reads and writes data to a predetermined type of storage medium (for example, a dedicated memory card) installed in slot 29, according to instructions from the processor 21.

[0029] The processor 21 performs the above-mentioned information processing by appropriately reading and writing data to the flash memory 26 and DRAM 27, as well as to each of the above-mentioned storage media.

[0030] Furthermore, the main unit 2 includes a network communication unit 24. The network communication unit 24 is connected to the processor 21. The network communication unit 24 communicates with external devices wirelessly or via wired connection over a network. In this embodiment, as a first communication mode, the network communication unit 24 connects to a wireless LAN and communicates with external devices using a method compliant with the Wi-Fi standard. In addition, as a second communication mode, the network communication unit 24 performs wireless communication with other main unit 2 of the same type using a predetermined communication method (for example, communication using a proprietary protocol or infrared communication). The wireless communication using the second communication mode is possible with other main unit 2 located within a closed local network area, and realizes a function that enables so-called "local communication" in which data is transmitted and received by communicating directly or indirectly via access points between multiple main unit 2.

[0031] The main unit 2 includes a controller communication unit 25. The controller communication unit 25 is connected to the processor 21. The controller communication unit 25 communicates wirelessly with the left controller 3 and / or the right controller 4. The communication method between the main unit 2 and the left controller 3 and the right controller 4 is arbitrary, but in this embodiment, the controller communication unit 25 communicates with the left controller 3 and with the right controller 4 in accordance with the Bluetooth® standard.

[0032] The processor 21 is connected to the left terminal 22 and the right terminal 23 described above. When the processor 21 communicates with the left controller 3 via a wired connection, it transmits data to the left controller 3 via the left terminal 22 and receives operation data from the left controller 3 via the left terminal 22. Similarly, when the processor 21 communicates with the right controller 4 via a wired connection, it transmits data to the right controller 4 via the right terminal 23 and receives operation data from the right controller 4 via the right terminal 23. Thus, in this embodiment, the main unit 2 can perform both wired and wireless communication with the left controller 3 and the right controller 4, respectively.

[0033] The main unit 2 also includes a codec circuit 40, speakers (specifically, a left speaker and a right speaker) 31, and audio input / output terminals 42. The codec circuit 40 is connected to the speakers 41 and the audio input / output terminals 42, as well as to the processor 21. The codec circuit 40 is a circuit that controls the input and output of audio data to the speakers 41 and the audio input / output terminals 42.

[0034] In addition to the elements shown in Figure 2, the main unit 2 also includes a battery for supplying power and output terminals for outputting images and sound to an external display device (e.g., a television) separate from the display 12.

[0035] (Overview of voice control) Next, an overview of the voice control performed in game system 1 will be described. For example, in this embodiment, a racing game is played in which a player object controlled by the player travels on a field in the game space (an example of a virtual space). The voice control performed in the racing game of this embodiment will be described below.

[0036] In this embodiment, a sound source object, which acts as a virtual sound source, is set up in the virtual space. The sound source object may be, for example, an object that moves within the virtual space, or an object that is fixed within the virtual space. In the following description, we will assume that the sound source object moves within the virtual space.

[0037] Figure 3 is a view from above of a portion of the virtual space during a racing game.

[0038] As shown in Figure 3, a virtual listener L and a moving object S are placed in the virtual space. An XYZ Cartesian coordinate system is set up in the virtual space. The Y axis is the upward axis of the virtual space, and the X and Z axes are perpendicular to the Y axis.

[0039] Within the virtual space, a player object (not shown) is placed that moves within the virtual space in response to the player's actions. The virtual listener L is an object set according to the position of the player object and is a virtual microphone. During the racing game, a virtual camera is placed near the player object (for example, behind the player object), and the image of the virtual space as seen from the virtual camera is displayed on a display device such as the display 12. The virtual listener L is set at the position of the virtual camera. The player moves the player object within the virtual space using the controller while viewing the image based on the virtual camera. For example, when the A button on the right controller 4 is pressed, the player object moves forward, and when a directional input is made to the analog stick 31 of the left controller 3, the direction of movement of the player object changes. The virtual listener L moves within the virtual space in conjunction with the player object. For example, in Figure 3, the virtual listener L is located at P1 in the virtual space and is moving at velocity LV (velocity vector LV).

[0040] Furthermore, the moving object S is, for example, an object that mimics a virtual car or motorcycle, which is automatically controlled by the processor 21, and moves around the field. The moving object S is an object that does not participate in the racing game, and for example, moves in the opposite direction to the player object. For example, the moving object S may be an object that acts as an obstacle to the participating objects that participate in the racing game, including the player object. The moving object S may also be a participating object that participates in the racing game and is controlled by another player object. Alternatively, the moving object S may also be a participating object that participates in the racing game and is a non-player object that is automatically controlled by the processor 21.

[0041] As shown in Figure 3, the moving object S is located at P2 in the virtual space and is moving across the field at a velocity SV (velocity vector SV). The moving object S is an example of a sound source object that emits sound. For example, the moving object S moves while continuously emitting sound. Alternatively, the moving object S may emit sound intermittently. In addition to the moving object S, various other sound source objects exist in the virtual space. Each sound source object emits a sound according to its type.

[0042] The main unit 2's memory (for example, flash memory 26 or a dedicated memory card) pre-stores audio data corresponding to the moving object S. The sound based on the audio data corresponding to the moving object S is controlled based on the positional relationship between the virtual listener L and the moving object S, and output from a speaker (for example, the speaker 41 of the main unit 2, a speaker connected to the audio input / output terminal 42, or a speaker of an external display device).

[0043] Specifically, when sound based on audio data is output, the volume of the sound based on the audio data is attenuated based on the distance between the virtual listener L and the moving object S. This attenuation of volume according to distance is called "distance attenuation."

[0044] In this embodiment, any method may be used for attenuation of sound volume according to distance (distance attenuation). For example, distance attenuation may be performed based on an attenuation curve that correlates distance and sound volume. Alternatively, distance attenuation may be performed based on an equation that expresses the relationship between distance and sound volume. Furthermore, the way in which sound volume is attenuated by distance may differ depending on the frequency of the sound. For example, high-frequency sounds and low-frequency sounds may exhibit different attenuations in terms of sound volume according to distance, even at the same distance. The way in which sound volume is attenuated by distance may also differ depending on the shape of the sound source.

[0045] In conventional distance attenuation calculations, the volume of a sound source is attenuated based on the distance D between the virtual listener and the sound source. Therefore, for example, if a virtual listener and a sound source pass each other at high speed, the distance between them increases rapidly, and the sound from the sound source may become inaudible for an instant. In such cases, the player may miss the sound from the sound source.

[0046] Therefore, in this embodiment, assuming that distance attenuation is calculated using any method, a correction is applied to the distance D between the virtual listener and the sound source, and distance attenuation is calculated based on the corrected distance. Specifically, a correction is applied to the distance D (the distance between P1 and P2 in the 3D virtual space) such that the faster the virtual listener L and the moving object S move away from each other, the closer the moving object S becomes to the virtual listener L. Then, distance attenuation is performed to reduce the volume of sound from the moving object S based on the corrected distance. Here, the corrected distance (the distance used in the calculation of distance attenuation) is referred to as the "attenuation reference distance". The method for calculating the attenuation reference distance will be explained in detail below.

[0047] Figure 4 is a diagram illustrating the method for calculating the damping reference distance.

[0048] As shown in Figure 4, first, the relative velocity vector RelV is calculated based on the velocity vector LV of the virtual listener L and the velocity vector SV of the moving object S. The velocity vectors LV and SV have velocity components in each axis direction in the three-dimensional virtual space. Specifically, RelV is calculated based on the following equation (1). RelV = SV - LV (1)

[0049] Next, the velocity at which the moving object S moves away from the virtual listener L is calculated. Specifically, a vector SL is calculated from the position P1 of the virtual listener L in the virtual space to the position P2 of the moving object S, and the directional component Vsl of this vector SL of the relative velocity RelV is calculated. Specifically, Vsl is calculated based on the following equation (2). Vsl=RelV·NSL (2)

[0050] Here, NSL is the unit vector of vector SL, and Vsl is the dot product of vector RelV and the unit vector NSL. Alternatively, a vector LS can be calculated from the position P2 of the moving object S toward the position P1 of the virtual listener L, and the directional component of the relative velocity RelV toward this vector LS can be calculated.

[0051] Next, the corrected value CV is calculated by multiplying the calculated Vsl by a predetermined coefficient Ratio. Specifically, the corrected value CV is calculated based on the following equation (3). CV = Vsl × Ratio (3)

[0052] If the attenuation reference distance is calculated by subtracting this correction value CV from the distance D between the virtual listener L and the moving object S, the attenuation reference distance may become too small. If the volume attenuation is calculated based on this calculated attenuation reference distance, the player may hear a sound even when a distant sound source that should be almost inaudible is moving away.

[0053] Therefore, in this embodiment, the correction value CV is reduced by a reduction rate corresponding to the distance D between the virtual listener L and the moving object S. For example, the reduction rate is calculated based on the following equation (4). Decrease rate=POWER(COEF,-D) (4)

[0054] Here, "COEF" is a predetermined positive value. Also, POWER(A,B) is a function that outputs A raised to the power of B.

[0055] Then, the attenuation reference distance CD is calculated by subtracting the correction value CV, which is reduced by the reduction rate calculated in equation (4), from the distance D. Specifically, the attenuation reference distance CD is calculated based on the following equation (5). CD=D-(CV×decrease rate) (5)

[0056] If the CD calculated by formula (5) is a negative value, CD will be set to "0".

[0057] The "rate of decrease" decreases exponentially with respect to distance D, so when D is large enough, "CV × rate of decrease" approaches "0". If distance D is greater than or equal to a predetermined value, the rate of decrease may be set to "0". Note that the above formula (4) is merely an example, and if the rate of decrease decreases as distance D increases, the rate of decrease may be calculated using a different formula. Alternatively, the rate of decrease may be calculated based on a graph that shows the relationship between the rate of decrease and distance D. This graph shows that the rate of decrease decreases as distance D increases.

[0058] Then, based on the attenuation reference distance CD calculated by equation (5), the volume of sound from the moving object S is attenuated.

[0059] Figure 5 is a diagram illustrating distance attenuation based on the attenuation reference distance CD calculated by equation (5). As shown in Figure 5, although the virtual listener L and the moving object S are actually separated by a distance D, the volume of sound from the moving object S is attenuated as if the moving object S were located at position P2', which is "CV × reduction rate" closer to position P1. Therefore, the virtual listener (player) at position P1 can hear the sound from the moving object S more easily.

[0060] Figures 3 to 5 illustrate the case where the moving sound source object S moves in the opposite direction to the virtual listener L. In addition to the moving object S, the virtual space contains multiple sound source objects, such as sound source objects that move in any direction and sound source objects that are fixed in the virtual space.

[0061] Figure 6 is a view from above of the virtual space during a racing game, illustrating an example of a virtual space where multiple sound source objects exist.

[0062] As shown in Figure 6, the virtual space contains a virtual listener L, and sound source objects SO1, SO2, SO3, and SO4. These sound source objects are collectively referred to as "sound source object S".

[0063] Sound source object SO1 is moving with velocity vector S1_V. Sound source object SO2 is moving with velocity vector S2_V. Sound source objects SO1 and SO2 are moving away from the virtual listener L. Sound source objects SO1 and SO2 may also be moving in the height direction (Y-axis direction). In addition, sound source object SO3 is stationary in the virtual space, but because the virtual listener L is moving with velocity vector LV, sound source object SO3 has a velocity that moves it relatively away from the virtual listener L. For these sound source objects SO1 to SO3, the attenuation reference distance CD is calculated based on equation (5) described above, and the distance attenuation of each volume is calculated based on the respective attenuation reference distance CD.

[0064] On the other hand, the sound source object SO4 is moving with velocity vector S4_V and is moving in the same direction as the virtual listener L. Specifically, the virtual listener L and the sound source object SO4 are moving in a direction that brings them relatively closer together. For this reason, the attenuation reference distance CD for the sound source object SO4 is not calculated based on equation (5) described above. In this case, the distance between the virtual listener L and the sound source object SO4 in the virtual space is set as the attenuation reference distance for the sound source object SO4. Then, based on this distance, the distance attenuation of the sound volume from the sound source object SO4 is calculated. Note that whether or not the virtual listener L and the sound source object SO4 are approaching may be determined, for example, based on whether or not the dot product of their relative velocity vector "S4_V-LV" and LV is a positive value.

[0065] Furthermore, sound source objects are not limited to objects pre-configured in the virtual space; for example, they may be objects that temporarily appear in the virtual space depending on the player object's actions or the game situation. Also, sound source objects may not be displayed in the game image. For example, when a player object jumps in the virtual space and lands on a specific terrain, a sound source object SO3 indicating the landing sound may temporarily appear at the landing location. Then, the attenuation reference distance CD may be calculated for the sound source object that appeared at the landing location, and the distance attenuation of the sound volume of the sound source object may be calculated based on the attenuation reference distance CD.

[0066] As described above, in this embodiment, with respect to at least one sound source set in the virtual space, when the virtual listener and the sound source move away from each other, a correction is applied to the distance D between the virtual listener and the sound source so that the faster the sound source moves away from the virtual listener, the closer the sound source gets to the virtual listener. Then, based on the correction, the distance attenuation of the sound from the sound source is calculated. Finally, the distance-attenuated sound is output from the speaker.

[0067] Therefore, even when a sound source moves away at high speed, the player can still hear some of the sound from that source, and the presence of the sound source can be retained to some extent. For example, if the above correction is not performed, the sound from the sound source object will become inaudible after 0.5 seconds, but if the above correction is performed, the timing at which the sound becomes inaudible will be delayed by about 0.5 seconds.

[0068] (Details of voice control processing) Next, we will explain the details of the voice control processing performed in game system 1.

[0069] Figure 7 shows an example of various data stored in the game system 1. As shown in Figure 7, the memory of the game system 1 (for example, DRAM 27, a storage medium installed in slot 29, or flash memory 26) stores the game program, operation data, player object data, virtual listener data, and sound source object data. In addition to these, various other data used in racing games are also stored.

[0070] The game program is a program for executing the game processing of this embodiment. This program includes a program for performing the voice control described above. The game program is pre-stored in a storage medium or flash memory 26 installed in slot 29 and is loaded into DRAM 27 when the game is executed.

[0071] Operation data is, for example, data corresponding to player operations transmitted from controllers 3 and 4. Operation data includes, for example, data indicating the amount of input corresponding to the left or right tilt of the left analog stick 31, and data indicating whether or not each button was pressed. Operation data is transmitted from the controller to the main unit 2 at predetermined time intervals (for example, every 1 / 200 second).

[0072] Player object data is data relating to a player object controlled by the player. Player object data includes shape data representing the shape and appearance of the player object, position data representing the player object's position in the 3D virtual space, and velocity data representing the player object's velocity vector (speed and direction).

[0073] Virtual listener data is data relating to virtual listener L. The virtual listener data includes position data representing the position P1 of virtual listener L in 3D virtual space, and velocity data representing the velocity vector LV (speed and direction) of virtual listener L. The position P1 of virtual listener L is set to the position of the virtual camera, and the velocity vector LV is set to the velocity vectors of the virtual camera and the player object.

[0074] The sound source object data is data relating to a sound source object S. For each sound source object S, sound source object data is stored. The sound source object data includes shape data representing the shape and appearance of the sound source object S, position data representing the position P2 of the sound source object S in the 3D virtual space, and velocity data representing the velocity vector SV (speed and direction) of the sound source object S. The sound source object data also includes audio data corresponding to the sound source object S. The sound source object S is an object automatically controlled by the processor 21 and may include objects that do not participate in the racing game. The sound source object S is a participating object that participates in the racing game and may include other player objects operated by other players, or non-player objects automatically controlled by the processor 21. The sound source object S may also include objects fixed in the virtual space. The sound source object S may also include objects that are not displayed in the game image (objects that do not have shape data).

[0075] Next, we will explain the game processing performed in game system 1. Figure 8 is a flowchart showing an example of game processing related to a racing game. Game processing begins when the player gives an instruction to start the racing game. In Figure 8, we will mainly explain the processing related to the audio control of sound from the sound source mentioned above, and other processing will be explained in a simplified manner.

[0076] Furthermore, in this embodiment, the processor 21 of the main unit 2 executes the game program using memory, thereby executing the processing of each step shown in Figure 8. However, in other embodiments, some of the processing of each step may be executed by a processor other than the processor 21 (for example, a dedicated circuit). Also, if the game system 1 can communicate with other information processing devices, some of the processing of each step may be executed by the other information processing devices. Moreover, the processing of each step is merely an example, and the processing order of each step may be changed, or other processing may be performed in addition to (or instead of) the processing of each step, as long as similar results can be obtained.

[0077] As shown in Figure 8, the processor 21 first performs an initial process (step S11). Here, the processor 21 sets one of several courses based on the player's selection and starts the racing game. In the initial process, a player object, a virtual camera, a virtual listener L, and at least one sound source object S are set up in the virtual space.

[0078] When the racing game starts, the processor 21 acquires operation data from controllers 3 and 4 (step S12). Thereafter, the processor 21 repeatedly executes the processes from steps S12 to S18 at predetermined frame time intervals (for example, 1 / 60 second intervals).

[0079] Next, the processor 21 performs player object control processing (step S13). Here, the processor 21 updates the position, orientation, velocity vector, etc., of the player object based on the operation data. For example, the processor 21 updates the speed of the player object depending on whether or not acceleration is being performed, updates the direction of movement of the player object according to the amount of input corresponding to the tilt of the left analog stick 31 in the left or right direction, and updates the position of the player object based on the updated speed and direction of movement (velocity vector). The processor 21 also sets the positions of the virtual camera and virtual listener L based on the position of the player object. For example, the positions of the virtual camera and virtual listener L are set to a predetermined distance away from the player object. The processor 21 also sets the velocity vector LV of the virtual listener L to the velocity vector of the player object.

[0080] Next, the processor 21 performs movement control processing for the sound source object S (step S14). Here, the processor 21 controls the movement of the sound source object S in the virtual space. Specifically, the processor 21 updates the velocity vector SV of the sound source object S and updates the position P2 of the sound source object S. For example, the processor 21 updates the velocity vector of a moving object S that does not participate in the racing game and updates the position of the moving object S according to a predetermined algorithm. The processor 21 also updates the velocity vector of a non-player object that acts as a sound source and participates in the racing game, and updates the position of the non-player object, according to a predetermined algorithm.

[0081] Furthermore, the main unit 2 of this embodiment can execute a racing game in multiplayer mode based on communication with other main unit 2s. When a racing game is played in multiplayer mode, the processor 21 receives game data from the other main unit 2 in step S14 and controls the movement of the other player object that serves as a sound source, corresponding to the other main unit 2, based on the game data.

[0082] Next, the processor 21 performs voice control processing (step S15). Here, the sound from the sound source object S set in the virtual space is controlled. The details of the voice control processing in step S15 are described below. Figure 9 is a flowchart showing the details of the voice control processing in step S15.

[0083] As shown in Figure 9, the processor 21 selects one sound source object S set in the virtual space (step S21). Here, the processor 21 selects a sound source object S from among multiple sound source objects in the virtual space for which distance attenuation calculation has not yet been performed. In step S21, only sound source objects whose distance from the virtual listener L is less than a threshold may be selected. In this case, distance attenuation calculations are not performed for sound from sound source objects whose distance from the virtual listener L is greater than or equal to the threshold, and the sound from such sound source objects does not need to be output from the speaker.

[0084] Next, the processor 21 calculates the distance D in the virtual space between the virtual listener L and the sound source object S (step S22).

[0085] Next, the processor 21 calculates the relative velocity RelV between the virtual listener L and the sound source object S (step S23). Specifically, the processor 21 calculates the relative velocity vector RelV by subtracting the velocity vector LV of the virtual listener L from the velocity vector SV of the sound source object S.

[0086] Next, the processor 21 determines whether the sound source object S is moving away from the virtual listener L (step S24). For example, the processor 21 may determine whether the sound source object S is moving away from the virtual listener L based on whether the dot product of the relative velocity vector RelV and the velocity vector LV is negative.

[0087] If the sound source object S is moving away from the virtual listener L (step S24: YES), the processor 21 calculates a vector SL from the position P1 of the virtual listener L to the position P2 of the sound source object S (step S25).

[0088] Next, the processor 21 calculates the directional component Vsl of the vector SL of the relative velocity RelV, and further calculates a correction value CV (step S26). Specifically, the processor 21 calculates the unit vector NSL of vector SL, and calculates the dot product Vsl of the relative velocity vector RelV and the unit vector NSL. Then, the processor 21 multiplies Vsl by a predetermined coefficient Ratio to calculate the correction value CV.

[0089] Next, the processor 21 reduces the correction value CV according to the distance D and calculates the attenuation reference distance CD (step S27). Specifically, the processor 21 calculates the "reduction rate" that decreases according to the distance D based on, for example, equation (4) above, and calculates the attenuation reference distance CD by subtracting "CV × reduction rate" from the distance D.

[0090] On the other hand, if the sound source object S is not far from the virtual listener L (step S24: NO), the processor 21 sets the distance D between the virtual listener L and the sound source object S as the attenuation reference distance CD (step S28).

[0091] If the process in step S27 or step S28 is performed, the processor 21 calculates the distance attenuation of the volume of the sound source object S based on the attenuation reference distance CD (step S29). Any method may be used for distance attenuation.

[0092] Next, the processor 21 determines whether distance attenuation has been calculated for all sound source objects (step S30). For example, the processor 21 determines whether distance attenuation has been calculated for all sound source objects that are within a predetermined distance from the virtual listener L. Alternatively, the processor 21 may determine whether distance attenuation has been calculated for all sound source objects that exist in the virtual space.

[0093] If the result in step S30 is NO, the processor 21 executes the process in step S21 again. If the result in step S30 is YES, the processor 21 terminates the process shown in Figure 9 and returns the process to Figure 8.

[0094] Returning to Figure 8, after the audio control processing in step S15, the processor 21 performs drawing processing (step S16). Here, the processor 21 generates game images based on the virtual camera.

[0095] Next, the processor 21 performs output processing (step S17). Here, the processor 21 outputs the game image generated in step S16, as well as sound based on the result of the audio control processing in step S15. As a result, the game image is displayed on the display device (display 12 or external display device), and sound from each sound source object is output from the speaker.

[0096] Next, the processor 21 determines whether or not to terminate the racing game (step S18). For example, the processor 21 determines whether or not to terminate the racing game based on whether or not the player object has reached the goal set on the course. If the result in step S18 is YES, the processor 21 terminates the process shown in Figure 8. If the result in step S18 is NO, the processor 21 executes the process in step S12 again.

[0097] As described above, in this embodiment, when the sound source object S is moving away from the virtual listener L (YES in step S24), a reference attenuation distance CD is calculated by adding a correction (CV × reduction rate) to the distance D between the sound source object S and the virtual listener L, which becomes smaller as the speed at which the sound source object S and the virtual listener L move away increases (step S27). Then, based on the reference attenuation distance CD, the distance attenuation of the sound volume from the sound source object S is calculated (step S29).

[0098] This allows sound to be output from the sound source object S even when it moves away from the virtual listener L at high speed, thus maintaining a certain degree of presence for the sound source object.

[0099] (modified version) Although this embodiment has been described above, the above embodiment is merely an example, and modifications such as the following may be made.

[0100] For example, the formula used in the above embodiment is merely illustrative and may be replaced with other formulas.

[0101] Furthermore, in the above embodiment, assuming that the virtual listener L is moving with velocity vector LV, the relative velocity with respect to the sound source object S is calculated, and the attenuation reference distance CD is calculated based on the relative velocity. Even when the virtual listener L is stationary, the relative velocity with respect to the sound source object S is calculated, and the attenuation reference distance CD is calculated based on the relative velocity.

[0102] Furthermore, in the above embodiment, the position of the virtual listener L was set to a position corresponding to the position of the player object (for example, the position of a virtual camera at a predetermined distance from the player object). In other embodiments, the position of the virtual listener may be set to the position of the player object. The position of the virtual listener may be set to, for example, the center of the player object, or to a predetermined position on the surface of the player object.

[0103] Furthermore, in the above embodiment, the audio control of a sound source object in a racing game was described on the premise that a racing game is played in which a player object moves in a virtual space. In other embodiments, the above audio control may be used in any game, not just racing games. For example, the above audio control may be used in games in which sound source objects and player objects move freely in a three-dimensional virtual space, shooting games, role-playing games, fighting games, etc. Also, the above audio control may be used to control the audio of any virtual sound source set in a virtual space, not just games.

[0104] Furthermore, the above-mentioned voice control processing is not limited to game system 1, but may be performed in any other information processing device or information processing system. The information processing device may be, for example, a smartphone, tablet terminal, personal computer, game device, server, etc. The information processing system may consist of multiple devices, and the multiple devices may be connected via a network (for example, a LAN or the internet).

[0105] Furthermore, the configurations of the above embodiments and their modified forms can be combined in any way, as long as they do not contradict each other. Moreover, the above is merely an example of the present invention, and various other improvements and modifications may be made. [Explanation of Symbols]

[0106] 1. Game System 21 processors L Player Object S Sound Source Object

Claims

1. On the computer, For each of the at least one sound source set up in the virtual space, Based on the attenuation reference distance, which is the distance between the position of the virtual listener in the virtual space and the position of the sound source, with a correction applied so that the distance decreases as the speed at which the sound source moves away from the virtual listener increases, The volume of the sound output set for the sound source is determined based on distance attenuation according to the attenuation reference distance. Based on the determined volume, the sound source is made to output the sound set therein. Information processing program.

2. The information processing program according to claim 1, wherein the speed at which the sound source moves away from the virtual listener is a value based on the relative speed between the sound source and the virtual listener, either the component in the direction from the sound source towards the virtual listener or the component in the direction from the virtual listener towards the sound source.

3. To the aforementioned computer, The information processing program according to claim 1 or 2, wherein the greater the distance between the position of the virtual listener in the virtual space and the position of the sound source, the less correction is applied.

4. The information processing program according to claim 1 or 2, wherein the virtual listener is set to a position corresponding to the position of the virtual camera in the virtual space.

5. To the aforementioned computer, Based on the input, the player object is moved and controlled within the virtual space. The information processing program according to claim 4, which controls the position of the virtual camera to move to a position corresponding to the position of the player object.

6. The aforementioned player object is a moving object that travels on the field in the virtual space, The sound source is set at least at the location of a moving object other than the player object in the virtual space, To the aforementioned computer, The information processing program according to claim 5, which moves the player object and other running objects on the aforementioned field.

7. An information processing system comprising a processor, wherein the processor is For each of the at least one sound source set up in the virtual space, Based on the attenuation reference distance, which is the distance between the position of the virtual listener in the virtual space and the position of the sound source, with a correction applied so that the distance decreases as the speed at which the sound source moves away from the virtual listener increases, The volume at which the sound output from the sound source is set is determined based on distance attenuation according to the attenuation reference distance. Based on the determined volume, the sound source outputs the sound set therein. Information processing system.

8. The information processing system according to claim 7, wherein the speed at which the sound source moves away from the virtual listener is a value based on the relative speed between the sound source and the virtual listener, either the component in the direction from the sound source towards the virtual listener or the component in the direction from the virtual listener towards the sound source.

9. The aforementioned processor, The information processing system according to claim 7 or 8, wherein the correction is applied less as the distance between the position of the virtual listener in the virtual space and the position of the sound source increases.

10. The information processing system according to claim 7 or 8, wherein the virtual listener is set to a position corresponding to the position of the virtual camera in the virtual space.

11. The aforementioned processor, Based on the operation input, the player object is moved and controlled within the virtual space. The information processing system according to claim 10, wherein the position of the virtual camera is controlled to move to a position corresponding to the position of the player object.

12. The aforementioned player object is a moving object that travels on the field in the virtual space, The sound source is set at least at the location of a moving object other than the player object in the virtual space, The aforementioned processor, The information processing system according to claim 11, wherein the player object and other running objects are made to run on the field.

13. An information processing apparatus comprising a processor, wherein the processor is For each of the at least one sound source set up in the virtual space, Based on the attenuation reference distance, which is the distance between the position of the virtual listener in the virtual space and the position of the sound source, with a correction applied so that the distance decreases as the speed at which the sound source moves away from the virtual listener increases, The volume at which the sound output from the sound source is set is determined based on distance attenuation according to the attenuation reference distance. Based on the determined volume, the sound source outputs the sound set therein. Information processing device.

14. The information processing apparatus according to claim 13, wherein the speed at which the sound source moves away from the virtual listener is a value based on the relative speed between the sound source and the virtual listener, either the component in the direction from the sound source towards the virtual listener or the component in the direction from the virtual listener towards the sound source.

15. The aforementioned processor, The information processing apparatus according to claim 13 or 14, wherein the correction is applied less as the distance between the position of the virtual listener in the virtual space and the position of the sound source increases.

16. The information processing apparatus according to claim 13 or 14, wherein the virtual listener is set to a position corresponding to the position of the virtual camera in the virtual space.

17. The aforementioned processor, Based on the operation input, the player object is moved and controlled within the virtual space. The information processing apparatus according to claim 16, which controls the movement of the virtual camera to a position corresponding to the position of the player object.

18. The aforementioned player object is a moving object that travels on the field in the virtual space, The sound source is set at least at the location of a moving object other than the player object in the virtual space, The aforementioned processor, The information processing device according to claim 17, wherein the player object and other running objects are made to run on the field.

19. An information processing method performed in an information processing system, For each of the at least one sound source set up in the virtual space, Based on the attenuation reference distance, which is the distance between the position of the virtual listener in the virtual space and the position of the sound source, with a correction applied so that the distance decreases as the speed at which the sound source moves away from the virtual listener increases, The volume at which the sound output from the sound source is determined based on distance attenuation according to the attenuation reference distance, and, An information processing method comprising outputting a sound set on the sound source based on the determined volume.

20. The information processing method according to claim 19, wherein the speed at which the sound source moves away from the virtual listener is a value based on the relative speed between the sound source and the virtual listener, either the component in the direction from the sound source towards the virtual listener or the component in the direction from the virtual listener towards the sound source.

21. The information processing method according to claim 19 or 20, wherein the greater the distance between the position of the virtual listener in the virtual space and the position of the sound source, the less correction is applied.

22. The information processing method according to claim 19 or 20, wherein the virtual listener is set to a position corresponding to the position of the virtual camera in the virtual space.

23. To control the movement of player objects within the virtual space based on operation input, and, The information processing method according to claim 22, further comprising controlling the position of the virtual camera to move to a position corresponding to the position of the player object.

24. The aforementioned player object is a moving object that travels on the field in the virtual space, The sound source is set at least at the location of a moving object other than the player object in the virtual space, The information processing method according to claim 23, comprising moving the player object and a running object other than the player object on the field.