EP3336834A1 - Controlling a sound object - Google Patents
Controlling a sound object Download PDFInfo
- Publication number
- EP3336834A1 EP3336834A1 EP16203969.7A EP16203969A EP3336834A1 EP 3336834 A1 EP3336834 A1 EP 3336834A1 EP 16203969 A EP16203969 A EP 16203969A EP 3336834 A1 EP3336834 A1 EP 3336834A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- sound
- sound object
- rendered
- user
- audio segment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04S—STEREOPHONIC SYSTEMS
- H04S7/00—Indicating arrangements; Control arrangements, e.g. balance control
- H04S7/30—Control circuits for electronic adaptation of the sound field
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H1/00—Details of electrophonic musical instruments
- G10H1/0008—Associated control or indicating means
- G10H1/0025—Automatic or semi-automatic music composition, e.g. producing random music, applying rules from music theory or modifying a musical piece
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2210/00—Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
- G10H2210/155—Musical effects
- G10H2210/265—Acoustic effect simulation, i.e. volume, spatial, resonance or reverberation effects added to a musical sound, usually by appropriate filtering or delays
- G10H2210/295—Spatial effects, musical uses of multiple audio channels, e.g. stereo
- G10H2210/305—Source positioning in a soundscape, e.g. instrument positioning on a virtual soundstage, stereo panning or related delay or reverberation changes; Changing the stereo width of a musical source
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2220/00—Input/output interfacing specifically adapted for electrophonic musical tools or instruments
- G10H2220/155—User input interfaces for electrophonic musical instruments
- G10H2220/201—User input interfaces for electrophonic musical instruments for movement interpretation, i.e. capturing and recognizing a gesture or a specific kind of movement, e.g. to control a musical instrument
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2220/00—Input/output interfacing specifically adapted for electrophonic musical tools or instruments
- G10H2220/155—User input interfaces for electrophonic musical instruments
- G10H2220/391—Angle sensing for musical purposes, using data from a gyroscope, gyrometer or other angular velocity or angular movement sensing device
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2220/00—Input/output interfacing specifically adapted for electrophonic musical tools or instruments
- G10H2220/155—User input interfaces for electrophonic musical instruments
- G10H2220/395—Acceleration sensing or accelerometer use, e.g. 3D movement computation by integration of accelerometer data, angle sensing with respect to the vertical, i.e. gravity sensing.
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04S—STEREOPHONIC SYSTEMS
- H04S2400/00—Details of stereophonic systems covered by H04S but not provided for in its groups
- H04S2400/11—Positioning of individual sound objects, e.g. moving airplane, within a sound field
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04S—STEREOPHONIC SYSTEMS
- H04S2400/00—Details of stereophonic systems covered by H04S but not provided for in its groups
- H04S2400/15—Aspects of sound capture and related signal processing for recording or reproduction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04S—STEREOPHONIC SYSTEMS
- H04S3/00—Systems employing more than two channels, e.g. quadraphonic
- H04S3/002—Non-adaptive circuits, e.g. manually adjustable or static, for enhancing the sound image or the spatial distribution
Definitions
- Embodiments of the present invention relate to controlling a sound object.
- Spatial audio rendering involves the rendering of a sound scene comprising one or more sound objects.
- a sound scene refers to a representation of a sound space listened to from a particular point of view within the sound space.
- a sound object is a sound that may be located within the sound space.
- a rendered sound object represents a sound rendered from a particular position in the sound space.
- Sound objects may, for example, be defined using multichannel audio signals according to a defined standard such as, for example, binaural coding, 5.1 surround sound coding, 7.1 surround sound coding etc.
- a method comprising: generating a sound object that when rendered repeatedly loops an audio segment; and causing movement of the sound object within a sound space while the sound object is being rendered thereby causing rendering of the audio segment at different positions within the sound space.
- the Figures illustrate example embodiments of the present invention that controls the rendering of a looping (repeating) audio segment 20.
- a sound object 10 is generated for an audio segment 20.
- the sound object 10 is rendered it loops (repeats) the audio segment 20.
- the sound object 10 is rendered may be controlled.
- the audio segment 20 can therefore be rendered at one or more different positions within the sound space.
- the sound object 10 may be moved within a sound space 12 while it is being rendered.
- the audio segment 20 may loop (repeat) independently of its movement; it may loop while moving and loop while stationary.
- rendering means providing in a form that is perceived by a user.
- the rendering of a sound object may, for example, use a personal audio output system such as headphones or a shared audio output system such as an arrangement of loudspeakers. It is intended that the invention will have application not only to existing systems and method of rendering an audio object but also to future, as yet unknown, systems and method of rendering an audio object.
- Fig 1 illustrates a method for controlling generation and rendering of a sound object 10 that when rendered repeatedly loops an audio segment 20.
- Fig 2 illustrates an example of an audio segment 20 that is being looped 22.
- Fig 3 illustrates an example of a sound object 10 being repeatedly rendered while being moved within a sound space 12. This results in the rendering of the audio segment 20 at different positions 18 within the sound space 12.
- Fig 1 illustrates an example of a method 100 for controlling generation and rendering of a sound object 10.
- the method 100 comprises, at block 102, generating a sound object 10 that when rendered repeatedly loops an audio segment 20.
- a sound object 10 that when rendered repeatedly loops an audio segment 20 is a looped sound object 10.
- Reference to a sound object in this description is generally to a looped sound object.
- the term 'generated' means that a looped sound object 10 is a newly created sound object that did not have previous existence. It has independent existence from any sound object associated with the original audio segment 20.
- the method 100 additionally comprises, at block 104, causing movement 14 of the sound object 10 within a sound space 12 while the sound object 10 is being rendered 16 thereby causing rendering of the audio segment 20 at different positions 18 within the sound space 12.
- Fig 2 illustrates an example rendering 16 of the sound object 10. This involves rendering an audio segment 20, in this example a music segment 20 and the repeated looping 22 of the audio segment 20.
- the audio segment 20 has a defined content. When the audio segment is rendered this content is rendered from start to finish producing the audio segment as an audio output. Once the content has finished, the rendering of the content re-starts. In this way the audio segment 20 is repeatedly looped 22.
- the looping may be continuous without interruption. That is, once the content has finished, the rendering of the content re-starts immediately. In this way the audio segment is repeatedly and continuously looped 22.
- Audio characteristics of the sound object may control how the audio segment 20 is rendered. For example, they may control volume, tone, voice, tempo of the audio segment 20.
- the audio characteristics may be fixed and unchanging while the audio segment 20 is repeatedly looped or, in some examples, they may change dynamically while the audio segment 20 is repeatedly looped.
- the audio characteristics (and changes in the audio characteristics) may be determined automatically and/or determined by user input.
- the audio characteristics of the sound object 10 may also determine if and how the rendering of the sound object 10 is terminated so that the audio segment 20 is no longer rendered.
- the audio object 10 may have a finite life determined, for example, by time, repetitions of the loop, distance moved by the sound object 10, or position moved to by the sound object 10 or a similar parameter, of any conditional combination of these or similar parameters.
- the audio object 10 may continue indefinitely until it is replaced or muted. The muting may be done by fading the audio object 10 until it is muted.
- Fig 3 illustrates an example of movement 14 of a sound object 10 through a sound space 12 while the sound object 10 (and audio segment 20) is being rendered 16.
- the audio segment 20 is rendered 16 (the position at which it is rendered) at a particular time is the same as the position of the sound object 10 at that particular time and depends upon the movement 14 of the sound object 10.
- What portion of the audio segment 20 is rendered 16 at a particular time depends upon where that time falls within the repeating loop of the audio segment 20. In particular it depends upon the time, according to the tempo of the audio segment, from the last start of rendering the audio segment 20.
- the sound object 10 is repeatedly and continuously looped as it moves.
- what portion of the audio segment 20 is rendered at a particular time depends only upon where that time falls within the continuously repeating loop of the audio segment.
- the looping of the audio segment 20 is then independent of its movement; it may loop while moving and loop while stationary.
- the Fig 3 schematically illustrates movement 14 of the sound object 10 within the sound space 12 while the sound object 10 is being rendered 16 thereby causing rendering of the music at different positions 18 within the sound space 12.
- the sound object 10 has moved along a trajectory 40 within the sound space 12 defined by positions 18 and has reached position 18 n from where the sound segment 20 is being rendered 16.
- the movement of the sound object 10 along the trajectory 40 may be determined by selection of one or more of the positions 18 along the trajectory 40. In some but not necessarily all examples, the movement 14 of the sound object 10 along the trajectory 40 may be determined wholly or partly by selection of end position 18 T of the trajectory 40.
- this selection may be automatic and in other examples this selection may be controlled by a user.
- this selection is dynamically controlled while the sound object 10 is moving 14. This allows a dynamic change in direction of movement of the sound object 10. In other examples the sound object 10 is not dynamically controlled.
- the movement 14 of the sound object 10 may be controlled to be smoothly varying. This may, for example, be achieved by modelling the movement 14 of the sound object 10 based on movement of an inertial object of constant speed using a physics engine.
- the audio segment 20 is a music segment.
- the example embodiments in Figs 4A-4C, 5A-5C and 6A-6B describe an example that renders a music segment but other audio segments may be rendered in alternative examples, for example as described later in the use cases.
- Figs 4A-4C, 5A-5C, 6A-6D illustrate examples of generating a sound object 10 that when rendered repeatedly loops a music segment 20.
- Fig 4A illustrates an example of generating a sound object 10 that when rendered repeatedly loops a music segment 20.
- the sound object 10 is generated after a user 30 performs the audio segment 20 and in response to a user input 31.
- the user depresses 31 a foot pedal 32 to indicate a start of a music segment 20 and releases the foot pedal 32 to indicate an end of a music segment 20 after playing a riff on the guitar 34.
- the guitar riff then becomes the music segment 20 associated with the sound object 10, so that when the sound object 10 is rendered the music segment 20 (guitar riff) is repeatedly rendered 16.
- Fig 4B illustrates how a user 30 can cause movement 14 of the sound object 10 within the sound space 12 along a trajectory 40 while the sound object 10 is being rendered 16. As illustrated in Fig 4C this subsequently causes rendering 16 of the music segment 20 at different positions 18 within the sound space 12.
- the user selects a position 18 T in the sound space 12, towards which the sound object 10 moves 14.
- the user selects a direction in the sound space 12, towards which the sound object 10 moves 14.
- the user 30 selects where the sound object is rendered by performing a gesture 42, during a first repeat of the music segment 10 caused by rendering the sound object 10, towards a position 18 T .
- the user 30 points towards an end-position 18 T using a head of the guitar 34 during the first repeat of the music segment 20. This determines, at least in part, the trajectory 40 of the moving sound object 10 while it is being rendered 16.
- the sound object 10 begins to move along the trajectory 40 during, for example at the start of, a second repeat of the looped music segment 20.
- the movement 14 of the sound object 10 may be at a constant speed or a slowly varying speed.
- Fig 5A illustrates an example of generating a sound object 10 that when rendered repeatedly loops a music segment 20.
- the sound object 10 is generated after a user 30 performs the music segment 20 and in response to a user input 31.
- the user depresses 31 a foot pedal 32 to indicate a start of a music segment 20 and releases the foot pedal 32 to indicate an end of a music segment 20 after playing a riff on the guitar 34.
- the guitar riff then becomes the music segment 20 associated with the sound object 10, so that when the sound object 10 is rendered the music segment 20 (guitar riff) is repeatedly rendered 16.
- Fig 5B illustrates how movement 14 of the sound object 10 within the sound space 12 along a trajectory 40 is automatically determined while the sound object 10 is being rendered 16 after the user input 31. As illustrated in Fig 5C this subsequently causes automatic rendering 16 of the music segment 20 at different positions 18 within the sound space 12 while the sound object 10 is being rendered 16.
- the user does not select a position 18 in the sound space 12, towards which the sound object 10 moves 14.
- the sound object is rendered is determined automatically during a first repeat of the music segment 10.
- the automatic determination selects at least one position 18 in the sound space 12, towards which the sound object 10 moves 14.
- the determination of the trajectory 40 and/or positions 18 may occur automatically in dependence on the current positions of other existing rendered sound objects in the sound space 12.
- the sound object 10 may move to avoid other sound objects, or to have maximum separation from adjacent sound objects, or to be maximally separated from a particular sound object or to be further from some sound objects while closer to other sound objects.
- the trajectory 40 of the moving sound object 10 while it is being rendered 16 is determined, at least in part, automatically.
- the sound object 10 begins to move along the trajectory 40 during, for example at the start of, a second repeat of the looped music segment 10.
- the movement 14 of the sound object 10 may be at a constant speed or a slowly varying speed.
- Figs 6A, 6B illustrate that a trajectory 40 of a moving sound object 10 may, in some examples, be controlled by a user 30 while the sound object 10 is being rendered 16.
- the trajectory 40 of the moving sound object 10 while it is being rendered 16 changes dynamically in response to a gesture 42 from the user 30.
- the trajectory 40 follows the head of the guitar 34.
- the sound object 10 moves 14 by changing it's velocity to have an increasing component towards where the guitar head is pointing.
- the greater the difference in angular separation between the current position of the sound object 10 and the guitar head then the greater the rate at which the component of velocity toward where the guitar head points, increases.
- Fig 6A the guitar head points upwards and the sound object 10 moves upwards and when the guitar head points downwards
- Fig 6B the sound object 10 moves downwards.
- Figs 6C, 6D illustrate that how a moving sound object 10 moves along a trajectory 40 may be controlled by a user 30.
- the sound object 10 circumscribes (orbits) the trajectory 40 while moving along the trajectory repeatedly looping the music segment 20.
- the sound object 10 reaches the end position 18 T of the trajectory 40 it forms a spatial loop (orbit) at the end position 18 T .
- the time it takes the sound object 10 to complete the spatial loop may be the same as (or an integer multiple of) the duration of the sound segment 20 that is repeatedly looped.
- the trajectory 40 is defined as previously described, for example, in relation to Figs 4A-4C, 5A-5C or 6A-6B .
- the sound object 10 is defined by the user as a spatially looping sound object 10 by a gesture 42 from the user 30.
- the spatial looping of the sound object 10 follows the head of the guitar 34.
- the guitar head is a pointer that writes a closed spatial loop.
- the user 30 then throws the sound object 10 into the trajectory 40 with a flick of the head of the guitar 34 and the sound object 10 moves 14 in the trajectory 40 while being rendered 16 as a spatial loop that circumscribes (orbits) the trajectory 40 as illustrated in Fig 6D .
- some or all of the spatial loops may be partially of wholly pre-defined in shape and/or size and/or orientation. In some examples, some or all of the spatial loops may be partially of wholly defined in shape and/or size and/or orientation by a user before the sound object 10 is thrown into the trajectory 40. In some examples, some or all of the spatial loops may be partially of wholly defined in shape and/or size and/or orientation by a user after the sound object 10 is thrown.
- the movement 14 of the sound object 10 along the trajectory 40 may be determined wholly or partly by selection of end position 18 T of the trajectory 40 or a direction in the sound space 12 towards which the sound object 10 moves 14.
- the end position 18 T or direction may be selected by a user or selected automatically.
- the sound space 12 is divided into predetermined spatial regions which may, for example, be of arbitrary volume.
- the user 30 selects where the sound object is rendered by performing a gesture 42 that selects a predetermined spatial region that defines the end-position 18 T .
- the gesture 42 may, for example, be performed during a first repeat of the music segment 10 caused by rendering the sound object 10.
- the gesture 42 may, for example, comprise pointing a head of a guitar 34.
- the end position 18 T may, in some examples, be controlled by a user 30 while the sound object 10 is being rendered 16.
- the sound object 10 while it is being rendered 16 as a repeatedly looping music segment 20 moves along the trajectory 40.
- the user performs a gesture that defines the end position 18 T .
- the user may rapidly move the head of the guitar 34 up and down when the sound object 10 has reached the desired end position 18 T .
- the audio characteristics of the rendered sound object 10 as it moves through the sound space may be are controlled by the user.
- the user may, by activating a foot pedal select and change an audio characteristic.
- a user 30 is able to assign properties to a region of the sound space 12. These properties are the inherited automatically by other sound objects 10 that are rendered in that region.
- the properties may, for example, include characteristics of trajectories 40 of moving sound objects 10 in that region such as speed, trajectory size, trajectory shape etc.
- the properties may, for example, also or alternatively include audio characteristics of moving sound objects 10 in that region such as speed, trajectory size, trajectory shape etc.
- a user 30 may, in some examples, assign properties to a region of the sound space 12 automatically by locating a first sound object 10 in that region. The properties of that first sound object 10 may or may not have been determined wholly or partly by the user.
- first sound object 10 Some or all of the properties of that first sound object 10 are then inherited by sound objects 10 later positioned in that region. If a first sound object 10 has a particular trajectory 40 within a region with inheritable properties (including inherited trajectory 40), then when a second sound object 10 joins the first sound object 10 in that region the first and second sound objects may move with a common trajectory 40 but with different phase offsets- they may for example be evenly distributed along the length of the same trajectory 40. This may be repeated when additional sound objects 10 join the other sound objects 10 in the region. In an alternative embodiment, it may be desirable to place the added sound objects on top of each other (no phase offset) to augment the sound.
- the user may be able to replace an existing sound object 10 with another sound object that when rendered repeatedly loops a different audio segment. This may be achieved by generating a sound object as described above in relation to Fig 4A & 4B and then removing the current sound object 10 while starting rendering of the new sound object 10.
- the user may control which sound object 10 is replaced by pointing towards that sound object 10. The control of positioning the new sound object then continues as described above for Figs 4B, 4C and 5B, 5C .
- the replacement looped sound object 10 inherits some or all the properties of the replaced sound object such as position and/or trajectory.
- the user 30 produces audio to be looped.
- a new looped sound object 10 will be generated and the loop will start to play automatically. After this, for example on the first replay of the loop, the user 30 selects where the sound object will be rendered.
- the user is a musician performing live or recording a music track.
- the user 30 produces music using his or her voice or a musical instrument.
- the user 30 plays a guitar 34.
- the user performs a guitar riff to be looped.
- the user 30 may indicate the audio section 30 to be looped e.g. by pressing a foot pedal 32 or some other input.
- the new sound object 10 will be generated and the loop will start to play automatically
- the user 30 selects a spatial region (e.g. position 18 T ) by pointing with his guitar.
- the loop will be subsequently moved to that spatial region ( Fig 4C ).
- the user 30 moves his guitar to start moving the sound object 10 in the sound space 12 dynamically.
- the loop continues to play in the background while the rendering sound object 10 smoothly moves according to a trajectory 40 provided at that time by the user 30 ( Fig 6A, 6B ).
- the user 30 may provide the trajectory 40 in real time, for example, by moving the guitar.
- the user 30 may select the trajectory 40 from a collection of presets for example by making a certain gesture with the guitar. Preset gestures are mapped to preset trajectories 40. Also by making a gesture, the guitarist can mute/remove the loop.
- the user 30 is a person speaking, for example a reporter, presenter, actor etc.
- the user 30 can say a phrase and cause it to be looped.
- the new looped sound object 10 will be generated and the loop will start to play automatically.
- the user can assign a spatial location around (or on top of) an associated object such that the looped sound object 10t dynamically tracks the associated object changing the trajectory 40 .
- the sound object 10 may follow a moving sound object or a visual object.
- an origin for the trajectory 40 of the rendering looped sound object 10 may be determined by the associated object and the trajectory 40 may be defined relative to that moving origin.
- the rendering looped sound object 10 may orbit the associated object.
- the user 30 may compare different audio segments by looping those audio segments while controlling spatially where those audio segments are looped.
- the user 30 can generate a looped sound object 10 that loops an audio segment 20 for each audio segment and then render those sound objects 10 at different positions 18. This may enable comparison between the different audio segments 20 associated with the differently located looped sound objects 10.
- a first looped sound object 10 is generated for an original phrase from an actor's original performance and is rendered at a position 18 that is not distracting. This is done according to the method 100.
- the actor hears the original looped phrase produced by the rendering first looped sound object 10 and simultaneously speaks the phrase again, which is recorded.
- a second looped sound object 10 is generated for the newly recorded phrase and is rendered at a position 18 that allows comparison with the original phrase. This is done according to the method 100.
- the actor and director can compare multiple looped takes (audio segments 20) to determine which is the best one. Since the actor or director is able to reposition the first take (first looped sound object 10) and the second take (second looped sound object 10) the takes have spatial separation enabling them to be listened to simultaneously.
- the generating of independent sound objects 10 that loop audio segments 20 and their independent positioning according to the method 100 may also be used in post-recording production, for example during spatial audio mixing.
- a user interface may have "pop-up" track controllers for each of the looped sound objects 10, which appear in the user interface automatically when the sound object 10 is being rendered.
- Fig 7 illustrates an example of an apparatus 202 configured to perform the methods as described above in relation to Figs 1 to 6B .
- the apparatus 202 comprises a controller 200 configured to provide output to an audio output device 204.
- the audio output device 204 may be a device for rendering spatial audio or may be an interface for communicating with another apparatus that is configured to render spatial audio or configured to store data for subsequent rendering of spatial audio.
- the audio output device 204 may be, for example, a personal audio output system such as headphones or a shared audio output system such as an arrangement of loudspeakers or some other system for rendering an audio object.
- Sound objects 10 may be defined using multichannel audio signals according to a defined standard such as, for example, binaural coding, 5.1 surround sound coding, 7.1 surround sound coding etc.
- the controller 200 is configured to generate the sound object 10 that when rendered repeatedly loops an audio segment 20.
- the audio output device enables 204 the controller to cause movement 14 of a sound object 10 within a sound space 12 while the sound object 10 is being rendered 16 thereby causing rendering of the audio segment 20 at different positions 18 within the sound space 12
- the apparatus 202 in some but not necessarily all examples comprises an input device 206.
- the input device 206 may be a device for enabling a user to provide a command input to the controller 200.
- the input device 206 may be or comprise a foot pedal 32 (as described in relation to Figs 4A, 5A )
- the input device 206 may be or comprise a gesture detection device for detecting a user gesture 42 (for example, as described in relation to Fig 4B and Figs 6A & 6B ).
- the gesture detection device may comprise an activity sensor, movement sensor, accelerometer, gyroscope, or such.
- the gesture detection device 42 may be wirelessly connected to the controller 200.
- the wireless connection may be a low power RF connection, like BluetoothTM connection.
- Gestures 42 may be detected in a number of ways. For example, depth sensors may be used to detect movement of parts a user 30 (or instrument) and/or or image sensors may be used to detect movement of parts of a user 30 (or instrument) and/or positional/movement sensors attached to a limb of a user 18 (or instrument) may be used to detect movement of the limb (or instrument).
- depth sensors may be used to detect movement of parts a user 30 (or instrument) and/or or image sensors may be used to detect movement of parts of a user 30 (or instrument) and/or positional/movement sensors attached to a limb of a user 18 (or instrument) may be used to detect movement of the limb (or instrument).
- Object tracking may be used to determine when an object or user changes position. For example, tracking the object on a large macro-scale allows one to create a frame of reference that moves with the object. That frame of reference can then be used to track time-evolving changes of shape of the object, by using temporal differencing with respect to the object. This can be used to detect small scale human motion such as gestures, hand movement, finger movement, facial movement.
- the apparatus 202 may track a plurality of objects and/or points in relation to a user's body, for example one or more joints of the user's body (or an instrument). In some examples, the apparatus 202 may perform full body skeletal tracking of a user's body. The tracking of one or more objects and/or points in relation to a user's body may be used by the apparatus 202 in gesture recognition.
- a gesture may be static or moving.
- a moving gesture may comprise a movement or a movement pattern comprising a series of movements. For example it could be making a circling motion or a side to side or up and down motion or the tracing of a sign in space.
- a moving gesture may involve movement of a user input object e.g. a user body part or parts, or a further apparatus (e.g. an instrument), relative to sensors.
- the body part may comprise the user's hand or part of the user's hand such as one or more fingers and thumbs.
- the user input object may comprise a different part of the body of the user such as their head or arm.
- Three-dimensional movement may comprise motion of the user input object in any of six degrees of freedom.
- the motion may comprise the user input object moving towards or away from the sensors as well as moving in a plane parallel to the sensors or any combination of such motion.
- a gesture may be a non-contact gesture.
- a non-contact gesture does not contact the sensors at any time during the gesture
- a gesture may be defined as evolution of displacement, of a tracked point relative to an origin, with time. It may, for example, be defined in terms of motion using time variable parameters such as displacement, velocity or using other kinematic parameters.
- a gesture may be performed in one spatial dimension (1 D gesture), two spatial dimensions (2D gesture) or three spatial dimensions (3D gesture).
- controller 200 may be as controller circuitry.
- the controller 200 may be implemented in hardware alone, have certain aspects in software including firmware alone or can be a combination of hardware and software (including firmware).
- reference to a user 'controlling' may be considered to be a reference to a user providing a command input via the input device.
- controller 200 may be implemented using instructions that enable hardware functionality, for example, by using executable instructions of a computer program 222 in a general-purpose or special-purpose processor 210 that may be stored on a computer readable storage medium (disk, memory etc) to be executed by such a processor 210.
- a general-purpose or special-purpose processor 210 may be stored on a computer readable storage medium (disk, memory etc) to be executed by such a processor 210.
- the processor 210 is configured to read from and write to the memory 220.
- the processor 210 may also comprise an output interface via which data and/or commands are output by the processor 210 and an input interface via which data and/or commands are input to the processor 210.
- the memory 220 stores a computer program 222 comprising computer program instructions (computer program code) that controls the operation of the apparatus 202 when loaded into the processor 210.
- the computer program instructions, of the computer program 222 provide the logic and routines that enables the apparatus to perform the methods illustrated in Figs 1 to 6 .
- the processor 210 by reading the memory 220 is able to load and execute the computer program 222.
- the apparatus 202 therefore comprises:
- the computer program 222 may arrive at the apparatus 202 via any suitable delivery mechanism 230.
- the delivery mechanism 230 may be, for example, a non-transitory computer-readable storage medium, a computer program product, a memory device, a record medium such as a compact disc read-only memory (CD-ROM) or digital versatile disc (DVD), an article of manufacture that tangibly embodies the computer program 222.
- the delivery mechanism may be a signal configured to reliably transfer the computer program 222.
- the apparatus 202 may propagate or transmit the computer program 222 as a computer data signal.
- memory 220 is illustrated as a single component/circuitry it may be implemented as one or more separate components/circuitry some or all of which may be integrated/removable and/or may provide permanent/semi-permanent/ dynamic/cached storage.
- processor 210 is illustrated as a single component/circuitry it may be implemented as one or more separate components/circuitry some or all of which may be integrated/removable.
- the processor 210 may be a single core or multi-core processor.
- references to 'computer-readable storage medium', 'computer program product', 'tangibly embodied computer program' etc. or a 'controller', 'computer', 'processor' etc. should be understood to encompass not only computers having different architectures such as single /multi- processor architectures and sequential (Von Neumann)/parallel architectures but also specialized circuits such as field-programmable gate arrays (FPGA), application specific circuits (ASIC), signal processing devices and other processing circuitry.
- References to computer program, instructions, code etc. should be understood to encompass software for a programmable processor or firmware such as, for example, the programmable content of a hardware device whether instructions for a processor, or configuration settings for a fixed-function device, gate array or programmable logic device etc.
- circuitry refers to all of the following:
- the blocks and processes illustrated in and described with reference to the Figs 1 to 6B may represent steps in a method and/or sections of code in the computer program 222.
- the illustration of a particular order to the blocks does not necessarily imply that there is a required or preferred order for the blocks and the order and arrangement of the block may be varied. Furthermore, it may be possible for some blocks to be omitted.
- module' refers to a unit or apparatus that excludes certain parts/components that would be added by an end manufacturer or a user.
- the controller 200 may be a module.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
Description
- Embodiments of the present invention relate to controlling a sound object.
- Spatial audio rendering involves the rendering of a sound scene comprising one or more sound objects. A sound scene refers to a representation of a sound space listened to from a particular point of view within the sound space. A sound object is a sound that may be located within the sound space. A rendered sound object represents a sound rendered from a particular position in the sound space.
- Sound objects may, for example, be defined using multichannel audio signals according to a defined standard such as, for example, binaural coding, 5.1 surround sound coding, 7.1 surround sound coding etc.
- According to various, but not necessarily all, embodiments of the invention there is provided a method comprising: generating a sound object that when rendered repeatedly loops an audio segment; and causing movement of the sound object within a sound space while the sound object is being rendered thereby causing rendering of the audio segment at different positions within the sound space.
- According to various, but not necessarily all, embodiments of the invention there is provided examples as claimed in the appended claims.
- For a better understanding of various examples that are useful for understanding the detailed description, reference will now be made by way of example only to the accompanying drawings in which:
-
Fig 1 illustrates an example of a method for controlling generation and rendering of a sound object that when rendered repeatedly loops an audio segment; -
Fig 2 illustrates an example of an audio segment that is being looped; -
Fig 3 illustrates an example of movement of a sound object through a sound space while the sound object is being rendered; -
Figs 4A, 4B, 4C illustrates an example of generating a sound object, causing movement of the sound object and rendering of the sound object while moving; -
Figs 5A, 5B, 5C illustrates another example of generating a sound object, causing movement of the sound object and rendering of the sound object while moving; -
Figs 6A and 6B illustrate an example in which a trajectory of a moving sound object is dynamically controlled by a user; -
Figs 6C and 6D illustrate an example in which a trajectory of a moving sound object is a closed spatial loop; -
Fig 7 illustrates an example of an apparatus configured to perform the methods as described in relation toFigs 1 to 6B ; and -
Fig 8 illustrates an example of a record medium. - The Figures illustrate example embodiments of the present invention that controls the rendering of a looping (repeating)
audio segment 20. Asound object 10 is generated for anaudio segment 20. When thesound object 10 is rendered it loops (repeats) theaudio segment 20. Where thesound object 10 is rendered may be controlled. Theaudio segment 20 can therefore be rendered at one or more different positions within the sound space. - The
sound object 10 may be moved within asound space 12 while it is being rendered. Theaudio segment 20 may loop (repeat) independently of its movement; it may loop while moving and loop while stationary. - In this description "rendering" means providing in a form that is perceived by a user. The rendering of a sound object may, for example, use a personal audio output system such as headphones or a shared audio output system such as an arrangement of loudspeakers. It is intended that the invention will have application not only to existing systems and method of rendering an audio object but also to future, as yet unknown, systems and method of rendering an audio object.
-
Fig 1 illustrates a method for controlling generation and rendering of asound object 10 that when rendered repeatedly loops anaudio segment 20.Fig 2 illustrates an example of anaudio segment 20 that is being looped 22.Fig 3 illustrates an example of asound object 10 being repeatedly rendered while being moved within asound space 12. This results in the rendering of theaudio segment 20 atdifferent positions 18 within thesound space 12.
In more detail,Fig 1 illustrates an example of amethod 100 for controlling generation and rendering of asound object 10. - The
method 100 comprises, atblock 102, generating asound object 10 that when rendered repeatedly loops anaudio segment 20. - A
sound object 10 that when rendered repeatedly loops anaudio segment 20 is a loopedsound object 10. Reference to a sound object in this description is generally to a looped sound object. The term 'generated' means that a loopedsound object 10 is a newly created sound object that did not have previous existence. It has independent existence from any sound object associated with theoriginal audio segment 20. - The
method 100 additionally comprises, atblock 104, causingmovement 14 of thesound object 10 within asound space 12 while thesound object 10 is being rendered 16 thereby causing rendering of theaudio segment 20 atdifferent positions 18 within thesound space 12. -
Fig 2 illustrates an example rendering 16 of thesound object 10. This involves rendering anaudio segment 20, in this example amusic segment 20 and the repeatedlooping 22 of theaudio segment 20. - The
audio segment 20 has a defined content. When the audio segment is rendered this content is rendered from start to finish producing the audio segment as an audio output. Once the content has finished, the rendering of the content re-starts. In this way theaudio segment 20 is repeatedly looped 22. - The looping may be continuous without interruption. That is, once the content has finished, the rendering of the content re-starts immediately. In this way the audio segment is repeatedly and continuously looped 22.
- The
sound object 10 when rendered repeatedly loops theaudio segment 20. Audio characteristics of the sound object may control how theaudio segment 20 is rendered. For example, they may control volume, tone, voice, tempo of theaudio segment 20. The audio characteristics may be fixed and unchanging while theaudio segment 20 is repeatedly looped or, in some examples, they may change dynamically while theaudio segment 20 is repeatedly looped. The audio characteristics (and changes in the audio characteristics) may be determined automatically and/or determined by user input. - The audio characteristics of the
sound object 10 may also determine if and how the rendering of thesound object 10 is terminated so that theaudio segment 20 is no longer rendered. In some, but not necessarily all, examples theaudio object 10 may have a finite life determined, for example, by time, repetitions of the loop, distance moved by thesound object 10, or position moved to by thesound object 10 or a similar parameter, of any conditional combination of these or similar parameters. In other examples, theaudio object 10 may continue indefinitely until it is replaced or muted. The muting may be done by fading theaudio object 10 until it is muted. -
Fig 3 illustrates an example ofmovement 14 of asound object 10 through asound space 12 while the sound object 10 (and audio segment 20) is being rendered 16. - Where the
audio segment 20 is rendered 16 (the position at which it is rendered) at a particular time is the same as the position of thesound object 10 at that particular time and depends upon themovement 14 of thesound object 10. - What portion of the
audio segment 20 is rendered 16 at a particular time depends upon where that time falls within the repeating loop of theaudio segment 20. In particular it depends upon the time, according to the tempo of the audio segment, from the last start of rendering theaudio segment 20. - In some examples, the
sound object 10 is repeatedly and continuously looped as it moves. In this case, what portion of theaudio segment 20 is rendered at a particular time depends only upon where that time falls within the continuously repeating loop of the audio segment. The looping of theaudio segment 20 is then independent of its movement; it may loop while moving and loop while stationary. - The
Fig 3 schematically illustratesmovement 14 of thesound object 10 within thesound space 12 while thesound object 10 is being rendered 16 thereby causing rendering of the music atdifferent positions 18 within thesound space 12. - At the time illustrated in the
Fig 3 , thesound object 10 has moved along atrajectory 40 within thesound space 12 defined bypositions 18 and has reachedposition 18n from where thesound segment 20 is being rendered 16. - The movement of the
sound object 10 along thetrajectory 40 may be determined by selection of one or more of thepositions 18 along thetrajectory 40. In some but not necessarily all examples, themovement 14 of thesound object 10 along thetrajectory 40 may be determined wholly or partly by selection ofend position 18T of thetrajectory 40. - In some examples, this selection may be automatic and in other examples this selection may be controlled by a user.
- In some examples, this selection is dynamically controlled while the
sound object 10 is moving 14. This allows a dynamic change in direction of movement of thesound object 10. In other examples thesound object 10 is not dynamically controlled. - The
movement 14 of thesound object 10 may be controlled to be smoothly varying. This may, for example, be achieved by modelling themovement 14 of thesound object 10 based on movement of an inertial object of constant speed using a physics engine. - In some but not necessarily all examples the
audio segment 20 is a music segment. The example embodiments inFigs 4A-4C, 5A-5C and 6A-6B describe an example that renders a music segment but other audio segments may be rendered in alternative examples, for example as described later in the use cases. -
Figs 4A-4C, 5A-5C, 6A-6D illustrate examples of generating asound object 10 that when rendered repeatedly loops amusic segment 20. -
Fig 4A illustrates an example of generating asound object 10 that when rendered repeatedly loops amusic segment 20. Thesound object 10 is generated after auser 30 performs theaudio segment 20 and in response to auser input 31. - In this example, the user depresses 31 a
foot pedal 32 to indicate a start of amusic segment 20 and releases thefoot pedal 32 to indicate an end of amusic segment 20 after playing a riff on theguitar 34. The guitar riff then becomes themusic segment 20 associated with thesound object 10, so that when thesound object 10 is rendered the music segment 20 (guitar riff) is repeatedly rendered 16. -
Fig 4B illustrates how auser 30 can causemovement 14 of thesound object 10 within thesound space 12 along atrajectory 40 while thesound object 10 is being rendered 16. As illustrated inFig 4C this subsequently causes rendering 16 of themusic segment 20 atdifferent positions 18 within thesound space 12. - In
Fig 4B , the user selects aposition 18T in thesound space 12, towards which thesound object 10 moves 14. In other examples, the user selects a direction in thesound space 12, towards which thesound object 10 moves 14. In this example, theuser 30 selects where the sound object is rendered by performing agesture 42, during a first repeat of themusic segment 10 caused by rendering thesound object 10, towards aposition 18T. In this example, theuser 30 points towards an end-position 18T using a head of theguitar 34 during the first repeat of themusic segment 20. This determines, at least in part, thetrajectory 40 of the movingsound object 10 while it is being rendered 16. - In this example, the
sound object 10 begins to move along thetrajectory 40 during, for example at the start of, a second repeat of the loopedmusic segment 20. Themovement 14 of thesound object 10 may be at a constant speed or a slowly varying speed. - There may be different responses when the
sound object 10 reaches theend position 18T and, in some examples, these responses may be controlled by auser 30. -
Fig 5A illustrates an example of generating asound object 10 that when rendered repeatedly loops amusic segment 20. Thesound object 10 is generated after auser 30 performs themusic segment 20 and in response to auser input 31. In this example, the user depresses 31 afoot pedal 32 to indicate a start of amusic segment 20 and releases thefoot pedal 32 to indicate an end of amusic segment 20 after playing a riff on theguitar 34. The guitar riff then becomes themusic segment 20 associated with thesound object 10, so that when thesound object 10 is rendered the music segment 20 (guitar riff) is repeatedly rendered 16. -
Fig 5B illustrates howmovement 14 of thesound object 10 within thesound space 12 along atrajectory 40 is automatically determined while thesound object 10 is being rendered 16 after theuser input 31. As illustrated inFig 5C this subsequently causesautomatic rendering 16 of themusic segment 20 atdifferent positions 18 within thesound space 12 while thesound object 10 is being rendered 16. - In
Fig 5B , theposition 18T in thesound space 12, towards which thesound object 10 moves 14 or a direction in thesound space 12 towards which thesound object 10 moves 14 is automatically determined. - In an example embodiment of
Fig 5B , the user does not select aposition 18 in thesound space 12, towards which thesound object 10 moves 14. In this example, where the sound object is rendered is determined automatically during a first repeat of themusic segment 10. The automatic determination selects at least oneposition 18 in thesound space 12, towards which thesound object 10 moves 14. The determination of thetrajectory 40 and/orpositions 18 may occur automatically in dependence on the current positions of other existing rendered sound objects in thesound space 12. For example, thesound object 10 may move to avoid other sound objects, or to have maximum separation from adjacent sound objects, or to be maximally separated from a particular sound object or to be further from some sound objects while closer to other sound objects. - The
trajectory 40 of the movingsound object 10 while it is being rendered 16 is determined, at least in part, automatically. - In this example, the
sound object 10 begins to move along thetrajectory 40 during, for example at the start of, a second repeat of the loopedmusic segment 10. Themovement 14 of thesound object 10 may be at a constant speed or a slowly varying speed. -
Figs 6A, 6B illustrate that atrajectory 40 of a movingsound object 10 may, in some examples, be controlled by auser 30 while thesound object 10 is being rendered 16. - In the example of
Fig 6A and 6B , thetrajectory 40 of the movingsound object 10 while it is being rendered 16 changes dynamically in response to agesture 42 from theuser 30. In this example, thetrajectory 40 follows the head of theguitar 34. When the guitar head points in a direction away from the current position of thesound object 10, thesound object 10 moves 14 by changing it's velocity to have an increasing component towards where the guitar head is pointing. The greater the difference in angular separation between the current position of thesound object 10 and the guitar head, then the greater the rate at which the component of velocity toward where the guitar head points, increases. Thus inFig 6A , the guitar head points upwards and thesound object 10 moves upwards and when the guitar head points downwards, inFig 6B , thesound object 10 moves downwards. -
Figs 6C, 6D illustrate that how a movingsound object 10 moves along atrajectory 40 may be controlled by auser 30. In this example, thesound object 10 circumscribes (orbits) thetrajectory 40 while moving along the trajectory repeatedly looping themusic segment 20. When thesound object 10 reaches theend position 18T of thetrajectory 40 it forms a spatial loop (orbit) at theend position 18T. In some but not necessarily all examples, the time it takes thesound object 10 to complete the spatial loop may be the same as (or an integer multiple of) the duration of thesound segment 20 that is repeatedly looped. - In the example of
Figs 6C and 6D , thetrajectory 40 is defined as previously described, for example, in relation toFigs 4A-4C, 5A-5C or 6A-6B . In this example, thesound object 10 is defined by the user as a spatially loopingsound object 10 by agesture 42 from theuser 30. In this example, the spatial looping of thesound object 10 follows the head of theguitar 34. The guitar head is a pointer that writes a closed spatial loop. Theuser 30 then throws thesound object 10 into thetrajectory 40 with a flick of the head of theguitar 34 and thesound object 10 moves 14 in thetrajectory 40 while being rendered 16 as a spatial loop that circumscribes (orbits) thetrajectory 40 as illustrated inFig 6D . - This may be repeated a number of times by defining different music sequences and by throwing the spatially looping sound objects 10 for those looping music sequences into the same or different trajectories.
- In some examples, some or all of the spatial loops may be partially of wholly pre-defined in shape and/or size and/or orientation. In some examples, some or all of the spatial loops may be partially of wholly defined in shape and/or size and/or orientation by a user before the
sound object 10 is thrown into thetrajectory 40. In some examples, some or all of the spatial loops may be partially of wholly defined in shape and/or size and/or orientation by a user after thesound object 10 is thrown. - In the preceding examples, the
movement 14 of thesound object 10 along thetrajectory 40 may be determined wholly or partly by selection ofend position 18T of thetrajectory 40 or a direction in thesound space 12 towards which thesound object 10 moves 14. Theend position 18T or direction may be selected by a user or selected automatically. - In some examples, the
sound space 12 is divided into predetermined spatial regions which may, for example, be of arbitrary volume. - The
user 30 selects where the sound object is rendered by performing agesture 42 that selects a predetermined spatial region that defines the end-position 18T. Thegesture 42 may, for example, be performed during a first repeat of themusic segment 10 caused by rendering thesound object 10. Thegesture 42 may, for example, comprise pointing a head of aguitar 34. - If there are not predetermined spatial regions or the selection of a predetermined spatial region is ambiguous, the
end position 18T may, in some examples, be controlled by auser 30 while thesound object 10 is being rendered 16. Thesound object 10 while it is being rendered 16 as a repeatedly loopingmusic segment 20 moves along thetrajectory 40. When it has reached a desiredend position 18T the user performs a gesture that defines theend position 18T. For example, the user may rapidly move the head of theguitar 34 up and down when thesound object 10 has reached the desiredend position 18T. - As previously described, in addition or alternatively, to controlling the position of the
sound object 10 while it is being rendered, the audio characteristics of the renderedsound object 10 as it moves through the sound space may be are controlled by the user. For example, the user may, by activating a foot pedal select and change an audio characteristic. - In some but not necessarily all examples, a
user 30 is able to assign properties to a region of thesound space 12. These properties are the inherited automatically by other sound objects 10 that are rendered in that region. The properties may, for example, include characteristics oftrajectories 40 of movingsound objects 10 in that region such as speed, trajectory size, trajectory shape etc. The properties may, for example, also or alternatively include audio characteristics of movingsound objects 10 in that region such as speed, trajectory size, trajectory shape etc. Auser 30 may, in some examples, assign properties to a region of thesound space 12 automatically by locating afirst sound object 10 in that region. The properties of thatfirst sound object 10 may or may not have been determined wholly or partly by the user. Some or all of the properties of thatfirst sound object 10 are then inherited bysound objects 10 later positioned in that region. If afirst sound object 10 has aparticular trajectory 40 within a region with inheritable properties (including inherited trajectory 40), then when asecond sound object 10 joins thefirst sound object 10 in that region the first and second sound objects may move with acommon trajectory 40 but with different phase offsets- they may for example be evenly distributed along the length of thesame trajectory 40. This may be repeated when additional sound objects 10 join the other sound objects 10 in the region. In an alternative embodiment, it may be desirable to place the added sound objects on top of each other (no phase offset) to augment the sound. - In some but not necessarily all examples, the user may be able to replace an existing
sound object 10 with another sound object that when rendered repeatedly loops a different audio segment. This may be achieved by generating a sound object as described above in relation toFig 4A & 4B and then removing thecurrent sound object 10 while starting rendering of thenew sound object 10. In the examples ofFigs 4A, 4B , the user may control which soundobject 10 is replaced by pointing towards thatsound object 10. The control of positioning the new sound object then continues as described above forFigs 4B, 4C and 5B, 5C . In other examples, the replacement loopedsound object 10 inherits some or all the properties of the replaced sound object such as position and/or trajectory. - Examples of applications of the above described methods can be better understood with reference to the following use cases.
- In the first and second use cases the
user 30 produces audio to be looped. In accordance with themethod 100, a new loopedsound object 10 will be generated and the loop will start to play automatically. After this, for example on the first replay of the loop, theuser 30 selects where the sound object will be rendered. - In a first use case the user is a musician performing live or recording a music track. The
user 30 produces music using his or her voice or a musical instrument. In the example illustrated inFigs 4A-4C, 5A-5C & 6A-6B theuser 30 plays aguitar 34. The user performs a guitar riff to be looped. Theuser 30 may indicate theaudio section 30 to be looped e.g. by pressing afoot pedal 32 or some other input. Thenew sound object 10 will be generated and the loop will start to play automatically - After this, on the first replay of the loop (
Fig 4B ), theuser 30 selects a spatial region (e.g. position 18T) by pointing with his guitar. The loop will be subsequently moved to that spatial region (Fig 4C ). - During the second replay of the loop (
Fig 6A, 6B ), theuser 30 moves his guitar to start moving thesound object 10 in thesound space 12 dynamically. - The loop continues to play in the background while the
rendering sound object 10 smoothly moves according to atrajectory 40 provided at that time by the user 30 (Fig 6A, 6B ). Theuser 30 may provide thetrajectory 40 in real time, for example, by moving the guitar. Theuser 30 may select thetrajectory 40 from a collection of presets for example by making a certain gesture with the guitar. Preset gestures are mapped to presettrajectories 40. Also by making a gesture, the guitarist can mute/remove the loop. - In a second use case the
user 30 is a person speaking, for example a reporter, presenter, actor etc. Theuser 30 can say a phrase and cause it to be looped. The new loopedsound object 10 will be generated and the loop will start to play automatically. Then, during the first replay of the loop, the user can assign a spatial location around (or on top of) an associated object such that the looped sound object 10t dynamically tracks the associated object changing thetrajectory 40 . In other words, thesound object 10 may follow a moving sound object or a visual object. In some examples, an origin for thetrajectory 40 of the rendering loopedsound object 10 may be determined by the associated object and thetrajectory 40 may be defined relative to that moving origin. For example, the rendering loopedsound object 10 may orbit the associated object. - In a third use case, the
user 30 may compare different audio segments by looping those audio segments while controlling spatially where those audio segments are looped. In accordance with themethod 100, theuser 30 can generate a loopedsound object 10 that loops anaudio segment 20 for each audio segment and then render thosesound objects 10 atdifferent positions 18. This may enable comparison between thedifferent audio segments 20 associated with the differently located looped sound objects 10. - This may be particularly useful for dialogue replacement. In a studio session, a first looped
sound object 10 is generated for an original phrase from an actor's original performance and is rendered at aposition 18 that is not distracting. This is done according to themethod 100. The actor hears the original looped phrase produced by the rendering first loopedsound object 10 and simultaneously speaks the phrase again, which is recorded. A second loopedsound object 10 is generated for the newly recorded phrase and is rendered at aposition 18 that allows comparison with the original phrase. This is done according to themethod 100. Thus, the actor and director can compare multiple looped takes (audio segments 20) to determine which is the best one. Since the actor or director is able to reposition the first take (first looped sound object 10) and the second take (second looped sound object 10) the takes have spatial separation enabling them to be listened to simultaneously. - This may also be of particular use in a rehearsal situation where an actor is practicing reciting lines (dialogue).
- In a fourth use case, the generating of independent sound objects 10 that
loop audio segments 20 and their independent positioning according to themethod 100 may also be used in post-recording production, for example during spatial audio mixing. A user interface may have "pop-up" track controllers for each of the looped sound objects 10, which appear in the user interface automatically when thesound object 10 is being rendered. -
Fig 7 illustrates an example of anapparatus 202 configured to perform the methods as described above in relation toFigs 1 to 6B . - The
apparatus 202 comprises a controller 200 configured to provide output to anaudio output device 204. - The audio output device 204.may be a device for rendering spatial audio or may be an interface for communicating with another apparatus that is configured to render spatial audio or configured to store data for subsequent rendering of spatial audio.
- The audio output device 204.may be, for example, a personal audio output system such as headphones or a shared audio output system such as an arrangement of loudspeakers or some other system for rendering an audio object.
- Sound objects 10 may be defined using multichannel audio signals according to a defined standard such as, for example, binaural coding, 5.1 surround sound coding, 7.1 surround sound coding etc.
- The controller 200 is configured to generate the
sound object 10 that when rendered repeatedly loops anaudio segment 20. - The audio output device enables 204 the controller to cause
movement 14 of asound object 10 within asound space 12 while thesound object 10 is being rendered 16 thereby causing rendering of theaudio segment 20 atdifferent positions 18 within thesound space 12 - The
apparatus 202 in some but not necessarily all examples comprises aninput device 206. Theinput device 206 may be a device for enabling a user to provide a command input to the controller 200. - In some but not necessarily all examples the
input device 206 may be or comprise a foot pedal 32 (as described in relation toFigs 4A, 5A ) - In some but not necessarily all examples the
input device 206 may be or comprise a gesture detection device for detecting a user gesture 42 (for example, as described in relation toFig 4B andFigs 6A & 6B ). The gesture detection device may comprise an activity sensor, movement sensor, accelerometer, gyroscope, or such. Thegesture detection device 42 may be wirelessly connected to the controller 200. The wireless connection may be a low power RF connection, like Bluetooth™ connection. -
Gestures 42 may be detected in a number of ways. For example, depth sensors may be used to detect movement of parts a user 30 (or instrument) and/or or image sensors may be used to detect movement of parts of a user 30 (or instrument) and/or positional/movement sensors attached to a limb of a user 18 (or instrument) may be used to detect movement of the limb (or instrument). - Object tracking may be used to determine when an object or user changes position. For example, tracking the object on a large macro-scale allows one to create a frame of reference that moves with the object. That frame of reference can then be used to track time-evolving changes of shape of the object, by using temporal differencing with respect to the object. This can be used to detect small scale human motion such as gestures, hand movement, finger movement, facial movement.
- The
apparatus 202 may track a plurality of objects and/or points in relation to a user's body, for example one or more joints of the user's body (or an instrument). In some examples, theapparatus 202 may perform full body skeletal tracking of a user's body. The tracking of one or more objects and/or points in relation to a user's body may be used by theapparatus 202 in gesture recognition. - A gesture may be static or moving. A moving gesture may comprise a movement or a movement pattern comprising a series of movements. For example it could be making a circling motion or a side to side or up and down motion or the tracing of a sign in space. A moving gesture may involve movement of a user input object e.g. a user body part or parts, or a further apparatus (e.g. an instrument), relative to sensors. The body part may comprise the user's hand or part of the user's hand such as one or more fingers and thumbs. In other examples, the user input object may comprise a different part of the body of the user such as their head or arm. Three-dimensional movement may comprise motion of the user input object in any of six degrees of freedom. The motion may comprise the user input object moving towards or away from the sensors as well as moving in a plane parallel to the sensors or any combination of such motion.
A gesture may be a non-contact gesture. A non-contact gesture does not contact the sensors at any time during the gesture. - A gesture may be defined as evolution of displacement, of a tracked point relative to an origin, with time. It may, for example, be defined in terms of motion using time variable parameters such as displacement, velocity or using other kinematic parameters.
- A gesture may be performed in one spatial dimension (1 D gesture), two spatial dimensions (2D gesture) or three spatial dimensions (3D gesture).
- Implementation of the controller 200 may be as controller circuitry. The controller 200 may be implemented in hardware alone, have certain aspects in software including firmware alone or can be a combination of hardware and software (including firmware).
- In the above descriptions, reference to a user 'controlling' may be considered to be a reference to a user providing a command input via the input device.
- In the above descriptions, reference to a process being 'automatic' should be understood to mean that the process is performed by the controller 200 without further additional input from the user.
- As illustrated in
Fig 7 the controller 200 may be implemented using instructions that enable hardware functionality, for example, by using executable instructions of acomputer program 222 in a general-purpose or special-purpose processor 210 that may be stored on a computer readable storage medium (disk, memory etc) to be executed by such a processor 210. - The processor 210 is configured to read from and write to the
memory 220. The processor 210 may also comprise an output interface via which data and/or commands are output by the processor 210 and an input interface via which data and/or commands are input to the processor 210. - The
memory 220 stores acomputer program 222 comprising computer program instructions (computer program code) that controls the operation of theapparatus 202 when loaded into the processor 210. The computer program instructions, of thecomputer program 222, provide the logic and routines that enables the apparatus to perform the methods illustrated inFigs 1 to 6 . The processor 210 by reading thememory 220 is able to load and execute thecomputer program 222. - The
apparatus 202 therefore comprises: - at least one processor 210; and
- at least one
memory 220 including computer program code - the at least one
memory 220 and the computer program code configured to, with the at least one processor 210, cause theapparatus 202 at least to perform:- generating a
sound object 10 that when rendered repeatedly loops anaudio segment 20; and - causing movement of the
sound object 10 within asound space 12 while thesound object 10 is being rendered 16 thereby causing rendering of theaudio segment 20 atdifferent positions 18 within thesound space 12.
- generating a
- As illustrated in
Fig 8 , thecomputer program 222 may arrive at theapparatus 202 via anysuitable delivery mechanism 230. Thedelivery mechanism 230 may be, for example, a non-transitory computer-readable storage medium, a computer program product, a memory device, a record medium such as a compact disc read-only memory (CD-ROM) or digital versatile disc (DVD), an article of manufacture that tangibly embodies thecomputer program 222. The delivery mechanism may be a signal configured to reliably transfer thecomputer program 222. Theapparatus 202 may propagate or transmit thecomputer program 222 as a computer data signal. - Although the
memory 220 is illustrated as a single component/circuitry it may be implemented as one or more separate components/circuitry some or all of which may be integrated/removable and/or may provide permanent/semi-permanent/ dynamic/cached storage. - Although the processor 210 is illustrated as a single component/circuitry it may be implemented as one or more separate components/circuitry some or all of which may be integrated/removable. The processor 210 may be a single core or multi-core processor.
- References to 'computer-readable storage medium', 'computer program product', 'tangibly embodied computer program' etc. or a 'controller', 'computer', 'processor' etc. should be understood to encompass not only computers having different architectures such as single /multi- processor architectures and sequential (Von Neumann)/parallel architectures but also specialized circuits such as field-programmable gate arrays (FPGA), application specific circuits (ASIC), signal processing devices and other processing circuitry. References to computer program, instructions, code etc. should be understood to encompass software for a programmable processor or firmware such as, for example, the programmable content of a hardware device whether instructions for a processor, or configuration settings for a fixed-function device, gate array or programmable logic device etc.
- As used in this application, the term 'circuitry' refers to all of the following:
- (a) hardware-only circuit implementations (such as implementations in only analog and/or digital circuitry) and
- (b) to combinations of circuits and software (and/or firmware), such as (as applicable): (i) to a combination of processor(s) or (ii) to portions of processor(s)/software (including digital signal processor(s)), software, and memory(ies) that work together to cause an apparatus, such as a mobile phone or server, to perform various functions and
- (c) to circuits, such as a microprocessor(s) or a portion of a microprocessor(s), that require software or firmware for operation, even if the software or firmware is not physically present. This definition of 'circuitry' applies to all uses of this term in this application, including in any claims. As a further example, as used in this application, the term "circuitry" would also cover an implementation of merely a processor (or multiple processors) or portion of a processor and its (or their) accompanying software and/or firmware. The term "circuitry" would also cover, for example and if applicable to the particular claim element, a baseband integrated circuit or applications processor integrated circuit for a mobile phone or a similar integrated circuit in a server, a cellular network device, or other network device.
- The blocks and processes illustrated in and described with reference to the
Figs 1 to 6B may represent steps in a method and/or sections of code in thecomputer program 222. The illustration of a particular order to the blocks does not necessarily imply that there is a required or preferred order for the blocks and the order and arrangement of the block may be varied. Furthermore, it may be possible for some blocks to be omitted. - Where a structural feature has been described, it may be replaced by means for performing one or more of the functions of the structural feature whether that function or those functions are explicitly or implicitly described.
- As used here 'module' refers to a unit or apparatus that excludes certain parts/components that would be added by an end manufacturer or a user. the controller 200 may be a module.
- The term 'comprise' is used in this document with an inclusive not an exclusive meaning. That is any reference to X comprising Y indicates that X may comprise only one Y or may comprise more than one Y. If it is intended to use 'comprise' with an exclusive meaning then it will be made clear in the context by referring to "comprising only one" or by using "consisting".
- In this brief description, reference has been made to various examples. The description of features or functions in relation to an example indicates that those features or functions are present in that example. The use of the term 'example' or 'for example' or 'may' in the text denotes, whether explicitly stated or not, that such features or functions are present in at least the described example, whether described as an example or not, and that they can be, but are not necessarily, present in some of or all other examples. Thus 'example', 'for example' or 'may' refers to a particular instance in a class of examples. A property of the instance can be a property of only that instance or a property of the class or a property of a sub-class of the class that includes some but not all of the instances in the class. It is therefore implicitly disclosed that a features described with reference to one example but not with reference to another example, can where possible be used in that other example but does not necessarily have to be used in that other example.
- Although embodiments of the present invention have been described in the preceding paragraphs with reference to various examples, it should be appreciated that modifications to the examples given can be made without departing from the scope of the invention as claimed.
- Features described in the preceding description may be used in combinations other than the combinations explicitly described.
- Although functions have been described with reference to certain features, those functions may be performable by other features whether described or not.
- Although features have been described with reference to certain embodiments, those features may also be present in other embodiments whether described or not.
- Whilst endeavoring in the foregoing specification to draw attention to those features of the invention believed to be of particular importance it should be understood that the Applicant claims protection in respect of any patentable feature or combination of features hereinbefore referred to and/or shown in the drawings whether or not particular emphasis has been placed thereon.
Claims (15)
- A method comprising:generating a sound object that when rendered repeatedly loops an audio segment; andcausing movement of the sound object within a sound space while the sound object is being rendered thereby causing rendering of the audio segment at a plurality of different positions within the sound space.
- A method as claimed in claim 1 further comprising selecting a position or direction in the sound space, wherein movement of the sound object, within the sound space, is towards the selected position or in the selected direction.
- A method as claimed in claim 1 or 2, wherein the user selects at least one position where the sound object is rendered.
- A method as claimed in claim 1, 2 or 3, wherein the user selects at least one position where the sound object is rendered by performing a gesture towards the position.
- A method as claimed in any preceding claim, wherein the user selects at least one position where the sound object is rendered by providing a user input during a first repeated loop of the audio segment caused by rendering the sound object.
- A method as claimed in any preceding claim, wherein at least one position where the sound object is rendered is selected automatically.
- A method as claimed in claim 2, wherein the selection of the position is determined automatically in dependence on the current positions of existing rendered sound objects in the sound space.
- A method as claimed in any preceding claim, wherein the sound object begins to move towards during a second repeated loop of the audio segment when the sound object caused by rendering the sound object.
- A method as claimed in any preceding claim, wherein the movement of the sound object is at a constant speed or a slowly varying speed.
- A method as claimed in any preceding claim, wherein a trajectory of the sound object moving through the sound space, causing repeated looping of the audio segment at different positions within the sound space, is controlled by the user.
- A method as claimed in any preceding claim, wherein the audio characteristics of the rendered sound object as it moves through the sound space, causing repeated looping of the audio segment at different positions within the sound space, are controlled by the user.
- A method as claimed in any preceding claim, wherein the sound object when rendered automatically renders the audio segment in a looped fashion until it is replaced or muted.
- A method as claimed in any preceding claim further comprising generating an additional sound object that when rendered repeatedly loops a different audio segment; and causing movement of the additional sound object within the sound space while the additional sound object is being rendered thereby causing repeated looping of the different audio segment at different positions within the sound space.
- A method as claimed in any preceding claim, wherein the sound object is generated after a user performs to produce the audio segment and in response to a user input and/or wherein the sound object is defined by the user as a spatially looping sound object.
- An apparatus comprising means for performing the method of any preceding claim and/or a computer program that when loaded into a processor enables the method of any preceding claim.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP16203969.7A EP3336834A1 (en) | 2016-12-14 | 2016-12-14 | Controlling a sound object |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP16203969.7A EP3336834A1 (en) | 2016-12-14 | 2016-12-14 | Controlling a sound object |
Publications (1)
Publication Number | Publication Date |
---|---|
EP3336834A1 true EP3336834A1 (en) | 2018-06-20 |
Family
ID=57754942
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP16203969.7A Withdrawn EP3336834A1 (en) | 2016-12-14 | 2016-12-14 | Controlling a sound object |
Country Status (1)
Country | Link |
---|---|
EP (1) | EP3336834A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112585999A (en) * | 2018-08-30 | 2021-03-30 | 索尼公司 | Information processing apparatus, information processing method, and program |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2830041A2 (en) * | 2013-07-22 | 2015-01-28 | Dolby Laboratories Licensing Corporation | Interactive audio content generation, delivery, playback and sharing |
-
2016
- 2016-12-14 EP EP16203969.7A patent/EP3336834A1/en not_active Withdrawn
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2830041A2 (en) * | 2013-07-22 | 2015-01-28 | Dolby Laboratories Licensing Corporation | Interactive audio content generation, delivery, playback and sharing |
Non-Patent Citations (3)
Title |
---|
MARTIN NAEF ET AL: "A VR Interface for Collaborative 3D Audio Performance", PROCEEDINGS OF THE 2006 CONFERENCE ON NEW INTERFACES FOR MUSICAL EXPRESSION, 4 June 2006 (2006-06-04), pages 57 - 60, XP055376597, Retrieved from the Internet <URL:http://www.research.navisto.ch/pdf/NIME2006-naef-3D-Audio.pdf> [retrieved on 20170529] * |
MARTIN NAEF ET AL: "Spatialized audio rendering for immersive virtual environments", VRST 2002. PROCEEDINGS OF THE ACM SYMPOSIUM ON VIRTUAL REALITY SOFTWARE AND TECHNOLOGY. HONG KONG, CHINA, NOV. 11 - 13, 2002; [ACM SYMPOSIUM ON VIRTUAL REALITY SOFTWARE AND TECHNOLOGY], NEW YORK, NY : ACM, US, 11 November 2002 (2002-11-11), pages 65 - 72, XP058321303, ISBN: 978-1-58113-530-5, DOI: 10.1145/585740.585752 * |
MIKE WOZNIEWSKI ET AL: "A SPATIAL INTERFACE FOR AUDIO AND MUSIC PRODUCTION", PROC. OF THE 9TH INTERNATIONAL CONFERENCE ON DIGITAL AUDIO EFFECTS (DAFX '06), 18 September 2016 (2016-09-18), XP055376456, Retrieved from the Internet <URL:https://pdfs.semanticscholar.org/6bc5/6e157c1eeea647ded043cddccf0740fd2558.pdf> [retrieved on 20170529] * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112585999A (en) * | 2018-08-30 | 2021-03-30 | 索尼公司 | Information processing apparatus, information processing method, and program |
US11849301B2 (en) | 2018-08-30 | 2023-12-19 | Sony Group Corporation | Information processing apparatus and method, and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9891714B2 (en) | Audio enhanced simulation of high bandwidth haptic effects | |
EP3264259A1 (en) | Audio volume handling | |
CN111916039B (en) | Music file processing method, device, terminal and storage medium | |
EP2891955A1 (en) | In-vehicle gesture interactive spatial audio system | |
US10775894B2 (en) | Systems and methods for providing customizable haptic playback | |
US20170329503A1 (en) | Editing animations using a virtual reality controller | |
JP2011521511A (en) | Audio augmented with augmented reality | |
JP6055657B2 (en) | GAME SYSTEM, GAME PROCESSING CONTROL METHOD, GAME DEVICE, AND GAME PROGRAM | |
EP3209038B1 (en) | Method, computer readable storage medium, and apparatus for determining a target sound scene at a target position from two or more source sound scenes | |
EP3238011B1 (en) | System and method for automatically localizing haptic effects on a body | |
EP3261737B1 (en) | Modifying haptic effects for slow motion | |
JP7439131B2 (en) | Apparatus and related methods for capturing spatial audio | |
JP2020201926A (en) | System and method for generating haptic effect based on visual characteristics | |
EP3336834A1 (en) | Controlling a sound object | |
EP3174317A1 (en) | Intelligent audio rendering | |
KR20150121001A (en) | Method for reproducing an item of audiovisual content having haptic actuator control parameters and device implementing the method | |
US20210014615A1 (en) | Combined Near-Field and Far-Field Audio Rendering and Playback | |
CN108605195B (en) | Intelligent audio presentation | |
CN114747232A (en) | Audio scene change signaling | |
US20230077102A1 (en) | Virtual Scene | |
US11696085B2 (en) | Apparatus, method and computer program for providing notifications | |
EP3337066B1 (en) | Distributed audio mixing | |
US10200606B2 (en) | Image processing apparatus and control method of the same | |
KR102358514B1 (en) | Apparatus and method for controlling sound using multipole sound object | |
WO2017137751A1 (en) | Method and apparatus for generation of audio signals |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION HAS BEEN PUBLISHED |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
AX | Request for extension of the european patent |
Extension state: BA ME |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
17P | Request for examination filed |
Effective date: 20181217 |
|
RBV | Designated contracting states (corrected) |
Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: EXAMINATION IS IN PROGRESS |
|
17Q | First examination report despatched |
Effective date: 20190131 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION HAS BEEN WITHDRAWN |
|
18W | Application withdrawn |
Effective date: 20190606 |