US20130191743A1 - Method and apparatus for controlling volume - Google Patents
Method and apparatus for controlling volume Download PDFInfo
- Publication number
- US20130191743A1 US20130191743A1 US13/560,903 US201213560903A US2013191743A1 US 20130191743 A1 US20130191743 A1 US 20130191743A1 US 201213560903 A US201213560903 A US 201213560903A US 2013191743 A1 US2013191743 A1 US 2013191743A1
- Authority
- US
- United States
- Prior art keywords
- line
- volume
- volume level
- audio track
- timeline
- 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.)
- Abandoned
Links
- 238000000034 method Methods 0.000 title claims description 90
- 230000004048 modification Effects 0.000 claims description 32
- 238000012986 modification Methods 0.000 claims description 32
- 230000008859 change Effects 0.000 claims description 9
- 230000004044 response Effects 0.000 claims description 2
- 238000004590 computer program Methods 0.000 claims 5
- 230000003993 interaction Effects 0.000 claims 3
- 239000003550 marker Substances 0.000 description 83
- 230000008569 process Effects 0.000 description 73
- 230000007704 transition Effects 0.000 description 7
- 230000000007 visual effect Effects 0.000 description 5
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04847—Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
Definitions
- the invention is directed towards method and apparatus for controlling volume.
- Controlling volume is often an important aspect of creating multimedia content. This is especially the case when several tracks of audio are mixed to create the content. Controlling the volume of several audio tracks, however, often requires expensive equipment. Less expensive equipment often does not provide sufficient control over the volume level. In addition, the prior art does not provide a visual and intuitive technique for controlling volume. Therefore, there is a need for a simple method that controls the volume of an audio track in a visual and intuitive manner.
- Some embodiments of the invention provide a method for controlling the volume of an audio track.
- This method represents the volume of an audio track with a graph.
- This graph is defined along two axes, with one axis representing time and the other representing the volume level.
- a user can adjust the graph at different instances in time in order to change the volume level in the audio track at these instances.
- Different embodiments use different types of graphs to represent volume. For instance, some embodiments use a deformable line bar.
- FIG. 1 illustrates a deformable line bar of some embodiments of the invention.
- FIG. 2 illustrates a deformation of the volume-control bar of FIG. 1 .
- FIGS. 3 and 4 illustrate a click-and-drag operation that results in the deformation illustrated in FIG. 2 .
- FIG. 5 illustrates an example where the user drags a duration-control knob associated with a deformity in the volume-control bar.
- FIG. 6 illustrates an example of moving a deformity in the volume-control bar left or right along the timeline by dragging a volume-control knob associated with this deformity.
- FIG. 7 illustrates an example of moving the volume-control bar up or down along a volume-level axis in order to change the volume-level specified by a deformity in the volume-control bar.
- FIG. 8 illustrates the attributes of a volume marker in some embodiments.
- FIG. 9A illustrates a process that creates a volume marker.
- FIG. 9B illustrates an example of performing a click-and-drag operation on a portion of a previously defined deformity along the volume-control bar.
- FIG. 10 illustrates an example of drawing a dashed line to assist in the vertical movement of a volume-control knob.
- FIG. 11 illustrates a process for modifying a volume marker by performing a click-and-drag operation on the marker's volume-control knob.
- FIG. 12 illustrates a process for modifying a volume marker by performing a click-and-drag operation on the marker's duration-control knob.
- FIGS. 13 , 14 , and 15 illustrate how some embodiments use the volume markers specified along a volume bar to define the volume level of an audio track.
- FIG. 16 illustrates an example where the invention is useful in mixing two audio tracks.
- FIG. 17 illustrates a computer system with which one embodiment of the invention is implemented.
- Some embodiments of the invention provide a method for controlling the volume of an audio track.
- the audio track can be a standalone track, or it can be associated with, or a part of, a visual presentation (such as a slide show, a movie, an animation, etc.).
- This method represents the volume of an audio track with a graph.
- This graph is defined along two axes, with one axis representing time and the other representing the volume level. A user can adjust the graph at different instances in time in order to change the volume level in the audio track at these instances.
- FIG. 1 illustrates a deformable line bar 105 that is superimposed on a rectangular box 110 .
- This box is a graphical representation of the audio track.
- the line bar 105 and the rectangular box are part of a graphical user interface (“GUI”) with which the user can interact through traditional GUI operations, such as click operations (e.g., to select an item), click-and-drag operations (e.g., to move an item), etc.
- GUI graphical user interface
- a timeline 115 Above the rectangular box are a timeline 115 and a time marker 120 .
- the time marker 120 moves along the timeline 115 to specify the portion of the track that is playing at each instance in time.
- a user can also drag the time marker 120 to a particular time on the timeline 115 to listen to the audio track starting at that time.
- the volume-control bar 105 is defined by reference to two axes. One axis is the above-described horizontal timeline 115 , while the other is a vertical volume axis 117 . Different embodiments express different volume indicia along the volume axis. For instance, in some embodiments, this volume axis expresses the volume levels in terms of percentages that are to be multiplied with a base volume value.
- the volume-axis value of the volume-control bar 105 at any instance in time i.e., at any point along the time axis
- this bar has a volume-control knob 125 at its beginning. The user can drag this knob vertically up or down to increase or reduce the volume level of the audio track. This is illustrated in FIG. 1 . In some embodiments, this knob is not visible or is only visible once the user clicks on the start of the bar.
- FIG. 2 illustrates the deformation of the volume-control bar 105 starting at a time t 1 .
- the volume-control bar 105 has three different portions. These are (1) a flat portion 205 representing the audio track's volume before the time t 1 , (2) a ramping portion 210 representing the track's volume between times t 1 and t 2 , and (3) a flat portion 215 representing the track's volume after time t 2 .
- the flat portion 205 signifies that the audio track's volume before the time t 1 is constant and equal to the midrange value M.
- the ramping portion 210 signifies that the track's volume changes from the midrange value M to an adjusted value A between the time t 1 and a time t 2 .
- the flat portion 215 signifies that the audio track's volume after the time t 2 is constant and equal to the adjusted value A.
- Two control knobs 220 and 225 specify the beginning and end of the ramping portion 210 . These control knobs are further described below. Also, some embodiments specify the ramp as a smooth spline curve, instead of specifying it as a straight line.
- the user can deform the bar through a simple click-and-drag operation. Specifically, to modify the bar, the user can (1) move the cursor to a portion of the bar that is not within a specified distance of a control knob, (2) perform a click-and-hold operation (e.g., press a mouse button down and hold it in a depressed state), (3) drag the cursor to a new location within the box 110 , and (4) terminate the click operation (e.g., release the mouse button).
- a click-and-hold operation e.g., press a mouse button down and hold it in a depressed state
- FIGS. 3 and 4 illustrate the click-and-drag operation that results in the modification illustrated in FIG. 2 .
- FIG. 3 shows that a cursor 305 is initially positioned at a location 310 on the bar 105 .
- the two control knobs 225 and 220 are defined on the volume bar.
- the knob 225 is initially defined at the location of the click, while the knob 220 is a time interval (e.g., 0.5 seconds) behind the other knob.
- FIG. 4 shows the cursor 305 after it has been dragged to a new position 315 .
- this dragging specifies a ramp 320 that divides a previously undivided portion of the bar (which in this case is the entire bar) into two portions 325 and 330 that are at different volume levels.
- the user terminates the click-and-drag operation (e.g., releases the mouse button).
- the modification illustrated in FIG. 2 is specified.
- Some embodiments automatically set the duration of a ramp to a particular value (e.g., 0.5 seconds) in most instances when a portion of the volume bar is deformed and a ramp is defined. This duration, however, can be modified, as further described below.
- the click-and-drag operation creates two knobs 220 and 225 that respectively specify the beginning and end of ramp 210 (i.e., specify the beginning and end of the deformation).
- the knob 220 is square and specifies the beginning of the ramp, while the knob 225 is round and specifies the end of the ramp.
- the square knob is always to the left of the round knob.
- the round knob coincides with the location of the cursor during the click-and-drag operation, while the square knob typically remains a particular time interval behind the round knob.
- the volume level of the square knob remains the initial volume level of the bar at the position that the user clicked when he initiated the click-and-drag operation.
- the volume-axis value of the square knob 220 is the volume level of the audio track before it was changed.
- the volume-axis value of the round knob 225 specifies a new volume level for the audio track. The audio track will be at this new volume level unless the bar is modified again.
- the knobs 220 and 225 are selectable data points that can be used to modify attributes of the ramp 210 . All control knobs (such as knobs 125 , 220 , and 225 ) of the volume bar can be dragged through click-and-drag operations. Specifically, to drag any control knob, the user can place the cursor over the knob, perform a click-and-hold operation to select the knob, drag the knob to the desired location, and then terminate the click operation.
- All control knobs (such as knobs 125 , 220 , and 225 ) of the volume bar can be dragged through click-and-drag operations. Specifically, to drag any control knob, the user can place the cursor over the knob, perform a click-and-hold operation to select the knob, drag the knob to the desired location, and then terminate the click operation.
- a user can increase or decrease the duration of the ramp by dragging the square knob 220 away or towards the round knob 225 . Accordingly, the square knob will be referred to below as the duration-control knob.
- FIG. 5 illustrates an example of the operation of the square knob. In this example, the user drags the knob 220 in a direction away from the knob 225 to increase the duration of the ramp 210 .
- a duration-control knob can also be moved towards the round knob, in order to reduce the duration of the ramp. The duration-control knob, however, cannot pass the round knob.
- the round knob 225 can be used to change the ramp's location or to change the new-volume level specified by the ramp. Accordingly, the round knob is referred to below as the volume-control knob.
- FIG. 6 illustrates an example of the operation of the volume-control knob. This figure illustrates that the ramp 210 can be moved left or right along the timeline by dragging the round knob 225 horizontally right or left along the timeline.
- FIG. 7 illustrates that dragging the round knob 225 vertically up or down changes the volume-level specified by the ramp.
- the duration-control knob of one ramp cannot move the volume-control knob of another ramp.
- the volume-control knob of one ramp can move the duration-control knob of another ramp.
- one ramp's volume-control knob can push another ramp's duration-control knob so much that the two ramp's volume-control knobs overlap.
- the ramp that possesses the duration-control knob that is being pushed i.e., the ramp that does not contain the volume-control knob that is doing the pushing
- a user can also delete a ramp by selecting it and pressing the delete key.
- Some embodiments use one or more volume markers to specify the volume levels along the volume-control bar. These embodiments define an initial volume marker that specifies the volume level at the start of the volume-control bar. For each modification along the volume-control bar, these embodiments also define a volume marker to represent the change in the volume level due to the modification. For instance, in FIG. 2 , two volume markers are defined, an initial volume marker for the initial volume-control knob 125 , and another volume marker for the modification 235 specified by the duration-control knob 220 , ramp 210 , and volume-control knob 225 . Each volume marker is associated with a volume-control knob.
- FIG. 8 illustrates the attributes of a volume marker in some embodiments. These attributes include a time value, a volume value, and a ramp duration.
- the time value and the volume value are respectively the time-axis value and the volume-axis value of the volume-control knob that is associated with the volume marker.
- the time-axis value t 2 and the volume-axis value A are the time- and volume-values associated with the volume-control knob 225 for this modification.
- the time and volume values t 2 and A are stored for the volume marker of the modification 235 .
- the time-axis value 0 and the volume-axis value M of the knob 125 are the time and volume values of the volume-control knob 125 that is associated with the bar's initial volume marker.
- the initial volume marker which is specified at the start of the volume-control bar, does not have an associated ramp, since it is not defined for a volume-bar modification. Hence, its ramp duration is null.
- each volume marker that is specified for a volume-bar modification has an associated ramp, and the duration of this ramp is stored as an attribute of the volume marker.
- This duration is the difference between the time-axis values of the duration-control and volume control knobs of the volume bar modification.
- the ramp duration of a volume marker specified for the modification 235 in FIG. 2 is the difference in the time-axis values (i.e., (t 2 ⁇ t 1 )) of the knobs 225 and 220 .
- FIG. 9A illustrates a process 900 that creates a volume marker. This process starts (at 905 ) when it detects that a user has started a click-and-drag operation on a portion of the volume-control bar that is not within a specified distance of a control knob. The process then creates (at 910 ) a volume marker for the modification to the volume bar that the user has started to make.
- the process also modifies (at 910 ) the duration attribute of the volume marker of the previously defined ramp.
- FIG. 9B illustrates one such operation that starts at a location 970 of a ramp 960 of a previously defined volume modification.
- a volume-control knob 962 and a duration-control knob 964 define the ramp 960 .
- the ramp 960 is modified. Specifically, the location of its duration-control knob 964 is given to a duration-control knob 966 of a new ramp 968 that is defined in response to the click-and-drag operation.
- a volume-control knob 972 is defined to the left of the start location 970 of the click-and-drag operation, as shown in FIG. 9B .
- the duration-control knob 964 of the ramp 960 moves to the right of the start location 970 .
- the process modifies the duration attribute of the volume marker of the ramp 960 to reflect the movement of this ramp's duration-control knob 964 .
- the volume-control knob 972 starts to modify immediately the ramp 960 . The handling of such a modification will be described further below.
- the process also sets the duration of the volume marker that it created at 910 . In most situations, the process typically sets this value to 0.5 seconds. The process might set this value to less than 0.5 seconds when the volume marker is close to the temporal boundary of the audio track, or when the volume marker is defined in a middle of a previously defined ramp that is relatively short.
- the process identifies (at 915 ) the current y-coordinate of the cursor.
- the process maps this coordinate to a volume level Current_Vol along the volume axis 117 .
- the process determines (at 920 ) whether the volume level Current_Vol is within a first threshold of a volume level of any other volume marker of the volume bar 105 . If not, the process transitions to 930 , which is further described below. Otherwise, to show each volume level that is within the first threshold of the volume level Current_Vol, the process specifies (at 925 ) a dashed line for the graphics system to draw.
- FIG. 10 illustrates an example of drawing such a dashed line.
- the user is specifying another modification 1005 after a first modification 235 on the volume bar 105 .
- the modification 1005 is specified by a volume control knob 1010 , which follows the cursor's movement. Accordingly, when the cursor's gets close to the volume level prior to the modification 235 (i.e., when the volume level of the knob 1010 is within a first threshold of the volume level of the initial volume control knob 125 ), the process 900 specifies a dashed line 1015 , which the graphics system draws to specify the volume level of the initial volume control knob 125 .
- the process transitions to 930 .
- the process determines whether the volume level Current_Vol is within a second threshold of the volume level of any other volume marker of the volume bar.
- the second threshold is typically smaller than the first threshold.
- the process transitions to 940 .
- the process sets (at 935 ) the volume level Current_Vol to the identified volume level. For instance, in the example illustrated in FIG. 10 , the process will define the volume level Current_Vol to be the volume level 1015 , when the control knob 1010 gets within a second threshold of the volume level 1015 . In some embodiments, the process also causes (at 935 ) the cursor to snap to the volume level identified at 930 . Some embodiments snap to, and/or specify dashed lines for, only volume levels of volume markers that are before the current volume marker.
- the process transitions to 940 .
- the process records the volume level Current_Vol as the volume-level attribute of the volume marker.
- the process then identifies the current x-coordinate of the cursor, maps this x-coordinate to a time value along the timeline 115 , and then records this time value as the time-value attribute of the volume marker. As mentioned before, this time value is the time value of the volume-control knob of the volume marker.
- the process determines ( 950 ) whether the click-and-drag operation is still continuing. If so, the process returns to 915 to repeat its operations and update the volume marker attributes. Each time the process reaches 950 , it has updated the volume marker's volume and time attributes. Hence, each time the process reaches 950 , the graphics system can redraw the volume marker, the volume bar, and/or the other attributes of this bar to provide an up to date representation of the volume marker and volume bar on the display. The process terminates when it determines (at 950 ) that the click-and-drag operation has terminated.
- FIG. 11 illustrates a process 1100 for modifying a volume marker by performing a click-and-drag operation on the marker's volume-control knob (such as knob 225 for the volume marker 235 in FIG. 2 ).
- this process 1100 starts when the user clicks within a certain distance of the volume-control knob and drags this knob by a slight amount.
- this click-and-drag operation starts (at 1105 ) the process 1100 .
- this process starts, its operation is similar to the operations after 910 of the process 900 of FIG. 9A .
- the operations 915 - 950 of the process 1100 are similar to the similarly numbered operations 915 - 950 of the process 900 .
- FIG. 12 illustrates a process 1200 for modifying a volume marker by performing a click-and-drag operation on the marker's duration-control knob (such as knob 220 for the volume marker 235 in FIG. 2 ).
- this process 1200 starts (at 1205 ) when the user (1) clicks within a certain distance of the duration-control knob of a volume marker, and (2) drags this knob by a slight amount.
- the process detects this click-and-drag operation, the process identifies (at 1210 ) the current x-coordinate cursor. It maps (at 1210 ) this coordinate to a time value along the time axis 115 .
- This new duration equals the difference between the time value attribute of the volume marker (where this attribute corresponds to the time value of the marker's volume-control knob) and the time value identified at 1210 . This difference can never be less than zero, as the duration-control knob can never pass the volume-control knob on the timeline.
- the process records the new computed duration in the volume marker.
- the process determines (at 1220 ) whether the click-and-drag operation is still continuing. If so, the process returns to 1210 to repeat its operations and again update the volume marker duration attribute. Each time the process reaches 1220 , it has updated the volume marker's duration attribute. Hence, each time the process reaches 1220 , the graphics system can redraw the volume marker, the volume bar, and/or the other attributes of this bar to provide an up to date representation of the volume marker and the volume bar on the display. The process terminates when it determines (at 1220 ) that the click-and-drag operation has terminated.
- the duration of a particular volume marker can also be modified if another volume marker's volume-control knob pushes the particular volume marker's duration-control knob towards the particular volume marker's volume-control knob.
- some embodiments use a process similar to process 1200 , except that the process in this case deletes the volume marker when its ramp duration has reached zero, as at this point the two volume-control knobs of the two volume markers overlap.
- FIGS. 13 and 14 illustrate how some embodiments use the volume markers specified along a volume bar to define the volume level of an audio track.
- FIG. 13 illustrates a mixer that receives audio tracks 1 to N and produces an output audio based on these tracks. The mixer also receives volume levels for each track from a volume setting process 1300 for the track.
- FIG. 14 illustrates one example of a volume setting process 1300 . Some embodiments perform this process each time a user directs these embodiments to play an audio track that has set according to the invention. The user might direct the audio track to start playing from its beginning or from some other part of the track. As mentioned above by reference to FIG. 1 , a user in some embodiments can drag a timer marker 120 along a timeline 115 to specify where to start playing the audio track.
- the process 1300 initially identifies (at 1405 ) the volume marker that sets the volume level for the part of the audio track that starts the current play.
- this volume marker is the initial volume marker associated with the initial volume-control knob 125 .
- the volume marker identified at 1405 is the volume marker that has a time-value attribute that (1) is before the start time t and (2) is the closest to the start time t.
- FIG. 15 illustrates an example of an audio track that starts to play at a time t 1 .
- the process 1300 identifies (at 1405 ) the volume marker that is associated with the volume modification 1505 . This is because this volume modification occurs before the time t 1 and is the closest modification to this time.
- the process defines the marker that it identified at 1405 as the Current_Marker.
- the process supplies to the mixer 1310 the volume level that is specified by the volume marker identified at 1405 .
- this volume level is the level 1510 .
- the process determines (at 1415 ) whether there is another volume marker after the Current_Marker on the volume bar. If not, the process terminates. Otherwise, at 1420 , the process identifies the volume marker that is after the Current_Marker on the volume bar, and specifies this identified marker as the new Current_Marker. In FIG. 15 , the next volume marker is the marker for the modification 1515 .
- the process transitions to 1425 , where it stays until the mixer has played the audio track up to the time value specified in the Current_Marker.
- the time value specified in this marker corresponds to the time that the ramp associated with this marker ends.
- the process periodically (at 1425 ) (1) computes the volume level based on the ramp's attributes, and (2) supplies the computed volume levels to the mixer.
- some embodiments specify the ramp as a smooth spline curve. Hence, the values computed at 1425 are value along this curve at different points in time.
- FIG. 15 provides an example of the periodic computation at 1425 . Specifically, this figure illustrates that while the track's play time falls between the start and end times t 2 and t 3 of the ramp 1520 , the process 1300 computes four volume levels, where each volume level is generated at a different time during the audio's play. The process computes the first level 1525 at time t 4 , the second level 1530 at time t 5 , the third level 1535 at time t 6 , and the fourth level 1540 at time t 3 .
- the process 1300 determines (at 1420 ) that the play time has passed the time value specified in the Current_Marker, it transitions back to 1415 . For instance, in FIG. 15 , the process transitions back to 1415 after it computes the fourth level 1540 and then determines that the play time has past t 3 .
- the operation of the process 1300 from 1415 was described above.
- FIG. 16 illustrates one such example.
- This figure illustrates the GUI interface of a movie editing application.
- a user is utilizing the editing application to work on a video clip that has an audio track associated with it.
- the volume level of the audio track appears as a line bar 1605 that is superimposed on the rectangular box 1610 , which represents the video clip. This line bar is superimposed on this box since the user has checked an edit volume button 1640 .
- FIG. 16 the user has added a second audio track to the clip.
- This added audio track appears as a rectangular box 1615 below the box 1610 .
- a line bar 1620 is superimposed on the box 1615 .
- This line bar represents the volume level of the second audio track.
- the volume level of the video clip's audio component is increased in a time interval 1625 , while the volume level of the added audio track is decreased in this interval. This allows the viewer to hear the video clip's audio much more clearly during the timer interval 1625 .
- Another volume feature in FIG. 16 should be noted. This feature is the volume control bar 1630 . After selecting an audio track (which can be either the audio component of a visual clip or a separate audio track), the user can drag a marker 1635 along this bar to reduce or increase the overall volume level.
- FIG. 17 presents a computer system with which one embodiment of the invention is implemented.
- Computer system 1700 includes a bus 1705 , a processor 1710 , a system memory 1715 , a read-only memory 1720 , a permanent storage device 1725 , input devices 1730 , and output devices 1735 .
- the bus 1705 collectively represents all system, peripheral, and chipset buses that communicatively connect the numerous internal devices of the computer system 1700 .
- the bus 1705 communicatively connects the processor 1710 with the read-only memory 1720 , the system memory 1715 , and the permanent storage device 1725 .
- the processor 1710 retrieves instructions to execute and data to process in order to execute the processes of the invention.
- the read-only-memory (ROM) 1720 stores static data and instructions that are needed by the processor 1710 and other modules of the computer system.
- the permanent storage device 1725 is read-and-write memory device.
- This device is a non-volatile memory unit that stores instruction and data even when the computer system 1700 is off.
- Some embodiments of the invention use a mass-storage device (such as a magnetic or optical disk and its corresponding disk drive) as the permanent storage device 1725 .
- the system memory 1715 is a read-and-write memory device.
- the system memory is a volatile read-and-write memory, such as a random access memory.
- the system memory stores some of the instructions and data that the processor needs at runtime.
- the invention's processes are stored in the system memory 1715 , the permanent storage device 1725 , and/or the read-only memory 1720 .
- the bus 1705 also connects to the input and output devices 1730 and 1735 .
- the input devices enable the user to communicate information and select commands to the computer system.
- the input devices 1730 include alphanumeric keyboards and cursor-controllers.
- the output devices 1735 display images generated by the computer system. For instance, these devices display IC design layouts.
- the output devices include printers and display devices, such as cathode ray tubes (CRT) or liquid crystal displays (LCD).
- bus 1705 also couples computer 1700 to a network 1765 through a network adapter (not shown).
- the computer can be a part of a network of computers (such as a local area network (“LAN”), a wide area network (“WAN”), or an Intranet) or a network of networks (such as the Internet).
- LAN local area network
- WAN wide area network
- Intranet a network of networks
- the Internet a network of networks
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
Some embodiments of the invention provide a method for controlling the volume of an audio track. This method represents the volume of an audio track with a graph. This graph is defined along two axes, with one axis representing time and the other representing the volume level. A user can adjust the graph at different instances in time in order to change the volume level in the audio track at these instances. Different embodiments use different types of graphs to represent volume. For instance, some embodiments use a deformable line bar.
Description
- The invention is directed towards method and apparatus for controlling volume.
- Controlling volume is often an important aspect of creating multimedia content. This is especially the case when several tracks of audio are mixed to create the content. Controlling the volume of several audio tracks, however, often requires expensive equipment. Less expensive equipment often does not provide sufficient control over the volume level. In addition, the prior art does not provide a visual and intuitive technique for controlling volume. Therefore, there is a need for a simple method that controls the volume of an audio track in a visual and intuitive manner.
- Some embodiments of the invention provide a method for controlling the volume of an audio track. This method represents the volume of an audio track with a graph. This graph is defined along two axes, with one axis representing time and the other representing the volume level. A user can adjust the graph at different instances in time in order to change the volume level in the audio track at these instances. Different embodiments use different types of graphs to represent volume. For instance, some embodiments use a deformable line bar.
- The novel features of the invention are set forth in the appended claims. However, for purpose of explanation, several embodiments of the invention are set forth in the following figures.
-
FIG. 1 illustrates a deformable line bar of some embodiments of the invention. -
FIG. 2 illustrates a deformation of the volume-control bar ofFIG. 1 . -
FIGS. 3 and 4 illustrate a click-and-drag operation that results in the deformation illustrated inFIG. 2 . -
FIG. 5 illustrates an example where the user drags a duration-control knob associated with a deformity in the volume-control bar. -
FIG. 6 illustrates an example of moving a deformity in the volume-control bar left or right along the timeline by dragging a volume-control knob associated with this deformity. -
FIG. 7 illustrates an example of moving the volume-control bar up or down along a volume-level axis in order to change the volume-level specified by a deformity in the volume-control bar. -
FIG. 8 illustrates the attributes of a volume marker in some embodiments. -
FIG. 9A illustrates a process that creates a volume marker. -
FIG. 9B illustrates an example of performing a click-and-drag operation on a portion of a previously defined deformity along the volume-control bar. -
FIG. 10 illustrates an example of drawing a dashed line to assist in the vertical movement of a volume-control knob. -
FIG. 11 illustrates a process for modifying a volume marker by performing a click-and-drag operation on the marker's volume-control knob. -
FIG. 12 illustrates a process for modifying a volume marker by performing a click-and-drag operation on the marker's duration-control knob. -
FIGS. 13 , 14, and 15 illustrate how some embodiments use the volume markers specified along a volume bar to define the volume level of an audio track. -
FIG. 16 illustrates an example where the invention is useful in mixing two audio tracks. -
FIG. 17 illustrates a computer system with which one embodiment of the invention is implemented. - In the following description, numerous details are set forth for purpose of explanation. However, one of ordinary skill in the art will realize that the invention may be practiced without the use of these specific details. In other instances, well-known structures and devices are shown in block diagram form in order not to obscure the description of the invention with unnecessary detail.
- Some embodiments of the invention provide a method for controlling the volume of an audio track. The audio track can be a standalone track, or it can be associated with, or a part of, a visual presentation (such as a slide show, a movie, an animation, etc.). This method represents the volume of an audio track with a graph. This graph is defined along two axes, with one axis representing time and the other representing the volume level. A user can adjust the graph at different instances in time in order to change the volume level in the audio track at these instances.
- Different embodiments use different types of graphs to represent volume. For instance, the embodiments described below use a deformable line bar. Specifically,
FIG. 1 illustrates adeformable line bar 105 that is superimposed on arectangular box 110. This box is a graphical representation of the audio track. In some embodiments, theline bar 105 and the rectangular box are part of a graphical user interface (“GUI”) with which the user can interact through traditional GUI operations, such as click operations (e.g., to select an item), click-and-drag operations (e.g., to move an item), etc. - Above the rectangular box are a
timeline 115 and atime marker 120. When the audio track is playing, thetime marker 120 moves along thetimeline 115 to specify the portion of the track that is playing at each instance in time. A user can also drag thetime marker 120 to a particular time on thetimeline 115 to listen to the audio track starting at that time. - In
FIG. 1 , the volume-control bar 105 is defined by reference to two axes. One axis is the above-describedhorizontal timeline 115, while the other is avertical volume axis 117. Different embodiments express different volume indicia along the volume axis. For instance, in some embodiments, this volume axis expresses the volume levels in terms of percentages that are to be multiplied with a base volume value. The volume-axis value of the volume-control bar 105 at any instance in time (i.e., at any point along the time axis) represents the volume level of the audio track at that instance. Initially, this bar is flat about a midrange volume value M. In other words, the initial volume along the entire track is equal to the midrange volume value M. - Through the volume-
control bar 105, the user can easily change the volume level. For instance, this bar has a volume-control knob 125 at its beginning. The user can drag this knob vertically up or down to increase or reduce the volume level of the audio track. This is illustrated inFIG. 1 . In some embodiments, this knob is not visible or is only visible once the user clicks on the start of the bar. - The user can also change the volume level at any point in time by deforming the bar at that point in time. For instance,
FIG. 2 illustrates the deformation of the volume-control bar 105 starting at a time t1. As a result of this deformation, the volume-control bar 105 has three different portions. These are (1) aflat portion 205 representing the audio track's volume before the time t1, (2) a rampingportion 210 representing the track's volume between times t1 and t2, and (3) aflat portion 215 representing the track's volume after time t2. Theflat portion 205 signifies that the audio track's volume before the time t1 is constant and equal to the midrange value M.The ramping portion 210 signifies that the track's volume changes from the midrange value M to an adjusted value A between the time t1 and a time t2. Theflat portion 215 signifies that the audio track's volume after the time t2 is constant and equal to the adjusted value A. Twocontrol knobs portion 210. These control knobs are further described below. Also, some embodiments specify the ramp as a smooth spline curve, instead of specifying it as a straight line. - The user can deform the bar through a simple click-and-drag operation. Specifically, to modify the bar, the user can (1) move the cursor to a portion of the bar that is not within a specified distance of a control knob, (2) perform a click-and-hold operation (e.g., press a mouse button down and hold it in a depressed state), (3) drag the cursor to a new location within the
box 110, and (4) terminate the click operation (e.g., release the mouse button). -
FIGS. 3 and 4 illustrate the click-and-drag operation that results in the modification illustrated inFIG. 2 .FIG. 3 shows that acursor 305 is initially positioned at alocation 310 on thebar 105. As shown inFIG. 3 , the moment that the user starts to perform the click-and-drag operation atlocation 310, the twocontrol knobs knob 225 is initially defined at the location of the click, while theknob 220 is a time interval (e.g., 0.5 seconds) behind the other knob. These knobs are further described below. -
FIG. 4 shows thecursor 305 after it has been dragged to anew position 315. As shown in this figure, this dragging specifies aramp 320 that divides a previously undivided portion of the bar (which in this case is the entire bar) into twoportions position 335, the user terminates the click-and-drag operation (e.g., releases the mouse button). At this point, the modification illustrated inFIG. 2 is specified. Some embodiments automatically set the duration of a ramp to a particular value (e.g., 0.5 seconds) in most instances when a portion of the volume bar is deformed and a ramp is defined. This duration, however, can be modified, as further described below. - As shown in
FIG. 2 , the click-and-drag operation creates twoknobs knob 220 is square and specifies the beginning of the ramp, while theknob 225 is round and specifies the end of the ramp. In the embodiments described below, the square knob is always to the left of the round knob. As shown inFIG. 3 , the round knob coincides with the location of the cursor during the click-and-drag operation, while the square knob typically remains a particular time interval behind the round knob. - During the entire click-and-drag operation, the volume level of the square knob remains the initial volume level of the bar at the position that the user clicked when he initiated the click-and-drag operation. In other words, the volume-axis value of the
square knob 220 is the volume level of the audio track before it was changed. On the other hand, the volume-axis value of theround knob 225 specifies a new volume level for the audio track. The audio track will be at this new volume level unless the bar is modified again. - The
knobs ramp 210. All control knobs (such asknobs - A user can increase or decrease the duration of the ramp by dragging the
square knob 220 away or towards theround knob 225. Accordingly, the square knob will be referred to below as the duration-control knob.FIG. 5 illustrates an example of the operation of the square knob. In this example, the user drags theknob 220 in a direction away from theknob 225 to increase the duration of theramp 210. A duration-control knob can also be moved towards the round knob, in order to reduce the duration of the ramp. The duration-control knob, however, cannot pass the round knob. - The
round knob 225 can be used to change the ramp's location or to change the new-volume level specified by the ramp. Accordingly, the round knob is referred to below as the volume-control knob.FIG. 6 illustrates an example of the operation of the volume-control knob. This figure illustrates that theramp 210 can be moved left or right along the timeline by dragging theround knob 225 horizontally right or left along the timeline.FIG. 7 illustrates that dragging theround knob 225 vertically up or down changes the volume-level specified by the ramp. - In the embodiments described below, the duration-control knob of one ramp cannot move the volume-control knob of another ramp. However, the volume-control knob of one ramp can move the duration-control knob of another ramp. In fact, one ramp's volume-control knob can push another ramp's duration-control knob so much that the two ramp's volume-control knobs overlap. When two volume-control knobs overlap, the ramp that possesses the duration-control knob that is being pushed (i.e., the ramp that does not contain the volume-control knob that is doing the pushing) is deleted. A user can also delete a ramp by selecting it and pressing the delete key.
- Some embodiments use one or more volume markers to specify the volume levels along the volume-control bar. These embodiments define an initial volume marker that specifies the volume level at the start of the volume-control bar. For each modification along the volume-control bar, these embodiments also define a volume marker to represent the change in the volume level due to the modification. For instance, in
FIG. 2 , two volume markers are defined, an initial volume marker for the initial volume-control knob 125, and another volume marker for themodification 235 specified by the duration-control knob 220,ramp 210, and volume-control knob 225. Each volume marker is associated with a volume-control knob. -
FIG. 8 illustrates the attributes of a volume marker in some embodiments. These attributes include a time value, a volume value, and a ramp duration. The time value and the volume value are respectively the time-axis value and the volume-axis value of the volume-control knob that is associated with the volume marker. For example, in the example illustrated inFIG. 2 , the time-axis value t2 and the volume-axis value A are the time- and volume-values associated with the volume-control knob 225 for this modification. Hence, the time and volume values t2 and A are stored for the volume marker of themodification 235. Similarly, in this example, the time-axis value 0 and the volume-axis value M of theknob 125 are the time and volume values of the volume-control knob 125 that is associated with the bar's initial volume marker. - The initial volume marker, which is specified at the start of the volume-control bar, does not have an associated ramp, since it is not defined for a volume-bar modification. Hence, its ramp duration is null. On the other hand, each volume marker that is specified for a volume-bar modification has an associated ramp, and the duration of this ramp is stored as an attribute of the volume marker. This duration is the difference between the time-axis values of the duration-control and volume control knobs of the volume bar modification. For instance, the ramp duration of a volume marker specified for the
modification 235 inFIG. 2 is the difference in the time-axis values (i.e., (t2−t1)) of theknobs -
FIG. 9A illustrates aprocess 900 that creates a volume marker. This process starts (at 905) when it detects that a user has started a click-and-drag operation on a portion of the volume-control bar that is not within a specified distance of a control knob. The process then creates (at 910) a volume marker for the modification to the volume bar that the user has started to make. - If the click-and-drag operation is performed on a portion of a previously defined ramp, the process also modifies (at 910) the duration attribute of the volume marker of the previously defined ramp. For instance,
FIG. 9B illustrates one such operation that starts at alocation 970 of aramp 960 of a previously defined volume modification. A volume-control knob 962 and a duration-control knob 964 define theramp 960. Once the user starts his click-and-drag operation, theramp 960 is modified. Specifically, the location of its duration-control knob 964 is given to a duration-control knob 966 of anew ramp 968 that is defined in response to the click-and-drag operation. For thenew ramp 968, a volume-control knob 972 is defined to the left of thestart location 970 of the click-and-drag operation, as shown inFIG. 9B . The duration-control knob 964 of theramp 960 moves to the right of thestart location 970. Hence, when the click-and-drag operation is performed on the previously definedramp 960, the process modifies the duration attribute of the volume marker of theramp 960 to reflect the movement of this ramp's duration-control knob 964. In the example illustrated inFIG. 9B , if the user starts to drag the cursor to the right of thelocation 970, the volume-control knob 972 starts to modify immediately theramp 960. The handling of such a modification will be described further below. - At 910, the process also sets the duration of the volume marker that it created at 910. In most situations, the process typically sets this value to 0.5 seconds. The process might set this value to less than 0.5 seconds when the volume marker is close to the temporal boundary of the audio track, or when the volume marker is defined in a middle of a previously defined ramp that is relatively short.
- After 910, the process identifies (at 915) the current y-coordinate of the cursor. At 915, the process maps this coordinate to a volume level Current_Vol along the
volume axis 117. Next, the process determines (at 920) whether the volume level Current_Vol is within a first threshold of a volume level of any other volume marker of thevolume bar 105. If not, the process transitions to 930, which is further described below. Otherwise, to show each volume level that is within the first threshold of the volume level Current_Vol, the process specifies (at 925) a dashed line for the graphics system to draw.FIG. 10 illustrates an example of drawing such a dashed line. In this example, the user is specifying anothermodification 1005 after afirst modification 235 on thevolume bar 105. Themodification 1005 is specified by avolume control knob 1010, which follows the cursor's movement. Accordingly, when the cursor's gets close to the volume level prior to the modification 235 (i.e., when the volume level of theknob 1010 is within a first threshold of the volume level of the initial volume control knob 125), theprocess 900 specifies a dashedline 1015, which the graphics system draws to specify the volume level of the initialvolume control knob 125. - After 925, the process transitions to 930. At 930, the process determines whether the volume level Current_Vol is within a second threshold of the volume level of any other volume marker of the volume bar. The second threshold is typically smaller than the first threshold. When the volume level Current_Vol is not within the second threshold of any other volume level, the process transitions to 940.
- Otherwise, if the process identifies (at 930) a volume level that is within a threshold of Current_Vol, the process sets (at 935) the volume level Current_Vol to the identified volume level. For instance, in the example illustrated in
FIG. 10 , the process will define the volume level Current_Vol to be thevolume level 1015, when thecontrol knob 1010 gets within a second threshold of thevolume level 1015. In some embodiments, the process also causes (at 935) the cursor to snap to the volume level identified at 930. Some embodiments snap to, and/or specify dashed lines for, only volume levels of volume markers that are before the current volume marker. - After 935, the process transitions to 940. At 940, the process records the volume level Current_Vol as the volume-level attribute of the volume marker. At 945, the process then identifies the current x-coordinate of the cursor, maps this x-coordinate to a time value along the
timeline 115, and then records this time value as the time-value attribute of the volume marker. As mentioned before, this time value is the time value of the volume-control knob of the volume marker. - After 945, the process determines (950) whether the click-and-drag operation is still continuing. If so, the process returns to 915 to repeat its operations and update the volume marker attributes. Each time the process reaches 950, it has updated the volume marker's volume and time attributes. Hence, each time the process reaches 950, the graphics system can redraw the volume marker, the volume bar, and/or the other attributes of this bar to provide an up to date representation of the volume marker and volume bar on the display. The process terminates when it determines (at 950) that the click-and-drag operation has terminated.
-
FIG. 11 illustrates a process 1100 for modifying a volume marker by performing a click-and-drag operation on the marker's volume-control knob (such asknob 225 for thevolume marker 235 inFIG. 2 ). In some embodiments, this process 1100 starts when the user clicks within a certain distance of the volume-control knob and drags this knob by a slight amount. In other words, this click-and-drag operation starts (at 1105) the process 1100. Once this process starts, its operation is similar to the operations after 910 of theprocess 900 ofFIG. 9A . In other words, the operations 915-950 of the process 1100 are similar to the similarly numbered operations 915-950 of theprocess 900. These similar operations are not further described below in order not to obscure the description of the invention with unnecessary detail. -
FIG. 12 illustrates a process 1200 for modifying a volume marker by performing a click-and-drag operation on the marker's duration-control knob (such asknob 220 for thevolume marker 235 inFIG. 2 ). In some embodiments, this process 1200 starts (at 1205) when the user (1) clicks within a certain distance of the duration-control knob of a volume marker, and (2) drags this knob by a slight amount. Once the process detects this click-and-drag operation, the process identifies (at 1210) the current x-coordinate cursor. It maps (at 1210) this coordinate to a time value along thetime axis 115. - Next, at 1215, it computes a new duration for the volume marker's ramp. This new duration equals the difference between the time value attribute of the volume marker (where this attribute corresponds to the time value of the marker's volume-control knob) and the time value identified at 1210. This difference can never be less than zero, as the duration-control knob can never pass the volume-control knob on the timeline. At 1215, the process records the new computed duration in the volume marker.
- After 1215, the process determines (at 1220) whether the click-and-drag operation is still continuing. If so, the process returns to 1210 to repeat its operations and again update the volume marker duration attribute. Each time the process reaches 1220, it has updated the volume marker's duration attribute. Hence, each time the process reaches 1220, the graphics system can redraw the volume marker, the volume bar, and/or the other attributes of this bar to provide an up to date representation of the volume marker and the volume bar on the display. The process terminates when it determines (at 1220) that the click-and-drag operation has terminated.
- As mentioned above, the duration of a particular volume marker can also be modified if another volume marker's volume-control knob pushes the particular volume marker's duration-control knob towards the particular volume marker's volume-control knob. In this circumstance, some embodiments use a process similar to process 1200, except that the process in this case deletes the volume marker when its ramp duration has reached zero, as at this point the two volume-control knobs of the two volume markers overlap.
-
FIGS. 13 and 14 illustrate how some embodiments use the volume markers specified along a volume bar to define the volume level of an audio track.FIG. 13 illustrates a mixer that receivesaudio tracks 1 to N and produces an output audio based on these tracks. The mixer also receives volume levels for each track from avolume setting process 1300 for the track. -
FIG. 14 illustrates one example of avolume setting process 1300. Some embodiments perform this process each time a user directs these embodiments to play an audio track that has set according to the invention. The user might direct the audio track to start playing from its beginning or from some other part of the track. As mentioned above by reference toFIG. 1 , a user in some embodiments can drag atimer marker 120 along atimeline 115 to specify where to start playing the audio track. - The
process 1300 initially identifies (at 1405) the volume marker that sets the volume level for the part of the audio track that starts the current play. When the audio track starts from its beginning, this volume marker is the initial volume marker associated with the initial volume-control knob 125. However, when the audio track starts at some time t within the track, the volume marker identified at 1405 is the volume marker that has a time-value attribute that (1) is before the start time t and (2) is the closest to the start time t. For instance,FIG. 15 illustrates an example of an audio track that starts to play at a time t1. In this example, theprocess 1300 identifies (at 1405) the volume marker that is associated with the volume modification 1505. This is because this volume modification occurs before the time t1 and is the closest modification to this time. At 1405, the process defines the marker that it identified at 1405 as the Current_Marker. - Next, at 1410, the process supplies to the
mixer 1310 the volume level that is specified by the volume marker identified at 1405. In the example illustrated inFIG. 15 , this volume level is thelevel 1510. The process then determines (at 1415) whether there is another volume marker after the Current_Marker on the volume bar. If not, the process terminates. Otherwise, at 1420, the process identifies the volume marker that is after the Current_Marker on the volume bar, and specifies this identified marker as the new Current_Marker. InFIG. 15 , the next volume marker is the marker for themodification 1515. - After 1420, the process transitions to 1425, where it stays until the mixer has played the audio track up to the time value specified in the Current_Marker. The time value specified in this marker corresponds to the time that the ramp associated with this marker ends. When the
process 1300 is at 1425 and the track's play time falls between the start and end times of the ramp associated with the Current_Marker, the process periodically (at 1425) (1) computes the volume level based on the ramp's attributes, and (2) supplies the computed volume levels to the mixer. As mentioned above, some embodiments specify the ramp as a smooth spline curve. Hence, the values computed at 1425 are value along this curve at different points in time. -
FIG. 15 provides an example of the periodic computation at 1425. Specifically, this figure illustrates that while the track's play time falls between the start and end times t2 and t3 of theramp 1520, theprocess 1300 computes four volume levels, where each volume level is generated at a different time during the audio's play. The process computes thefirst level 1525 at time t4, thesecond level 1530 at time t5, thethird level 1535 at time t6, and thefourth level 1540 at time t3. - Once the
process 1300 determines (at 1420) that the play time has passed the time value specified in the Current_Marker, it transitions back to 1415. For instance, inFIG. 15 , the process transitions back to 1415 after it computes thefourth level 1540 and then determines that the play time has past t3. The operation of theprocess 1300 from 1415 was described above. - The above-described embodiments have numerous advantages. These embodiments allow a user to set easily different volume levels at different times for the same track. They enable the user to do this in a visual and intuitive manner. This volume control is especially beneficially when mixing several audio tracks, where at different times the volumes of different tracks need to be raised while others need to be lowered.
- For instance, this is a useful feature when dubbing commentary over the audio track of a video clip. It is also useful when wishing to reduce the background music associated with a video clip in order to listen to the audio component of the video clip.
FIG. 16 illustrates one such example. This figure illustrates the GUI interface of a movie editing application. In this example, a user is utilizing the editing application to work on a video clip that has an audio track associated with it. The volume level of the audio track appears as aline bar 1605 that is superimposed on therectangular box 1610, which represents the video clip. This line bar is superimposed on this box since the user has checked anedit volume button 1640. - In
FIG. 16 , the user has added a second audio track to the clip. This added audio track appears as arectangular box 1615 below thebox 1610. A line bar 1620 is superimposed on thebox 1615. This line bar represents the volume level of the second audio track. As shown inFIG. 16 , the volume level of the video clip's audio component is increased in atime interval 1625, while the volume level of the added audio track is decreased in this interval. This allows the viewer to hear the video clip's audio much more clearly during thetimer interval 1625. Another volume feature inFIG. 16 should be noted. This feature is thevolume control bar 1630. After selecting an audio track (which can be either the audio component of a visual clip or a separate audio track), the user can drag amarker 1635 along this bar to reduce or increase the overall volume level. -
FIG. 17 presents a computer system with which one embodiment of the invention is implemented.Computer system 1700 includes abus 1705, aprocessor 1710, asystem memory 1715, a read-only memory 1720, apermanent storage device 1725,input devices 1730, andoutput devices 1735. - The
bus 1705 collectively represents all system, peripheral, and chipset buses that communicatively connect the numerous internal devices of thecomputer system 1700. For instance, thebus 1705 communicatively connects theprocessor 1710 with the read-only memory 1720, thesystem memory 1715, and thepermanent storage device 1725. - From these various memory units, the
processor 1710 retrieves instructions to execute and data to process in order to execute the processes of the invention. The read-only-memory (ROM) 1720 stores static data and instructions that are needed by theprocessor 1710 and other modules of the computer system. - The
permanent storage device 1725, on the other hand, is read-and-write memory device. This device is a non-volatile memory unit that stores instruction and data even when thecomputer system 1700 is off. Some embodiments of the invention use a mass-storage device (such as a magnetic or optical disk and its corresponding disk drive) as thepermanent storage device 1725. - Other embodiments use a removable storage device (such as a floppy disk or Zip® disk, and its corresponding disk drive) as the permanent storage device. Like the
permanent storage device 1725, thesystem memory 1715 is a read-and-write memory device. However, unlikestorage device 1725, the system memory is a volatile read-and-write memory, such as a random access memory. The system memory stores some of the instructions and data that the processor needs at runtime. In some embodiments, the invention's processes are stored in thesystem memory 1715, thepermanent storage device 1725, and/or the read-only memory 1720. - The
bus 1705 also connects to the input andoutput devices input devices 1730 include alphanumeric keyboards and cursor-controllers. Theoutput devices 1735 display images generated by the computer system. For instance, these devices display IC design layouts. The output devices include printers and display devices, such as cathode ray tubes (CRT) or liquid crystal displays (LCD). - Finally, as shown in
FIG. 17 ,bus 1705 also couplescomputer 1700 to anetwork 1765 through a network adapter (not shown). In this manner, the computer can be a part of a network of computers (such as a local area network (“LAN”), a wide area network (“WAN”), or an Intranet) or a network of networks (such as the Internet). Any or all of the components ofcomputer system 1700 may be used in conjunction with the invention. However, one of ordinary skill in the art would appreciate that any other system configuration may also be used in conjunction with the present invention. - While the invention has been described with reference to numerous specific details, one of ordinary skill in the art will recognize that the invention can be embodied in other specific forms without departing from the spirit of the invention. Thus, one of ordinary skill in the art would understand that the invention is not to be limited by the foregoing illustrative details, but rather is to be defined by the appended claims.
Claims (23)
1-22. (canceled)
23. A method for controlling a volume of an audio track, the method comprising:
generating a graphical representation of a user-modifiable line within a timeline, the user-modifiable line representing a volume level during times depicted by the timeline, wherein the graphical representation is generated for display in a graphical user interface;
identifying a select command received within the graphical user interface for modification of the line, the select command identifying a point of the line used to modify a selected portion of the line;
modifying, in response to the select command, the graphical representation of the volume level to illustrate a change to the volume level during a period of time corresponding to the selected portion of the line, the graphical representation of the volume level modified to depict multiple portions including: a representation of the volume level before the selected portion of the line, a representation of the volume level within the selected portion of the line, and a representation of the volume level after the selected portion of the line; and
specifying the volume level of the audio track according to a volume level before the selected portion of the line, a volume level within the selected portion of the line, and a volume level after the portion of the line, based on the user interaction with the line received in the graphical user interface.
24. The method of claim 23 , wherein generating a graphical representation of a user-modifiable line includes generating a deformable line configured to move in the graphical user interface in correspondence to a determined amount of user interaction with the line identified from the select command.
25. The method of claim 24 , further comprising generating a graphical representation of the audio track along the timeline.
26. The method of claim 25 , wherein the deformable line is superimposed on the graphical representation of the audio track.
27. The method of claim 26 , wherein identifying a select command received within the graphical user interface includes identifying when the line is being dragged in the select command, and wherein modifying the graphical representation of the volume level includes deforming the line based on the select command.
28. The method of claim 24 , wherein the select command includes a movement of the point along the line from a first position to a second position at a point in time within the timeline.
29. The method of claim 24 , wherein the deformed line is modified to include a deformity that is bounded by two points, wherein the two points are respective points in time within the timeline, wherein at least one of the two points is moveable to adjust the deformity.
30. The method of claim 29 , wherein the at least one of the two points that is moveable is used to modify one or more of: the volume after the deformity, the duration of the deformity, or a location of the deformity in the deformable line.
31. A computer readable storage medium comprising a computer program for controlling a volume of an audio track, the computer program comprising instructions for:
representing a volume level of the audio track during a period of time with a timeline for display in a graphical user interface, a first axis of the timeline representing the period of time and a second axis of the timeline representing the volume level;
receiving a modification to a portion of a line of the timeline displayed in the graphical user interface, the modification provided from a user command to select and modify a portion of the line, resulting in: the volume level represented before the portion of the line, the volume level represented with the portion of the line, and the volume level represented after the portion of the line; and
specifying the volume level of the audio track at different instances in time corresponding to a time location of the portion of the line.
32. The computer readable storage medium of claim 31 , wherein the line is a deformable line configured to move in the graphical user interface in correspondence to a user interaction with the line determined from the user command.
33. The computer readable storage medium of claim 32 , wherein the computer program further comprises a set of instructions for:
providing a graphical representation of the audio track along the first axis; and
superimposing the deformable line on the graphical representation of the audio track.
34. The computer readable storage medium of claim 31 , wherein the user command includes a drag operation, and wherein the computer program further comprises sets of instructions for:
identifying when the drag operation is applied to the line; and
deforming the line based on the drag operation.
35. The computer readable storage medium of claim 31 , wherein the computer program further comprises a set of instructions for displaying the line in the graphical user interface, and wherein the line is manipulated through select and drag operations received in the graphical user interface.
36. The computer readable storage medium of claim 31 , wherein the line is modified to include a deformity in the portion of the line, the portion of the line being bounded by two points.
37. The computer readable storage medium of claim 36 , wherein the two points are two data points defined along the axes, wherein at least one of the two points is moveable to adjust the deformity in the portion of the line.
38. The computer readable storage medium of claim 31 , wherein the modification to the portion of the line produces a nonlinear line.
39. The computer readable storage medium of claim 38 , wherein the modification to the portion of the line produces a spline curve in the portion of the line.
40. A computing system, comprising:
a processor;
a system memory;
a display device; and
instructions stored with the system memory, the instructions configured for execution with the processor to provide a graphical user interface for output to the display device to control a volume of an audio track, the instructions configured to implement operations to:
represent a volume level of the audio track with a deformable line in a timeline area, wherein the timeline area is defined along two axes, including a first axis to represent time and a second axis to represent the volume level;
receive a modification to the deformable line from a selection operation and a movement operation provided from user input in the graphical user interface;
illustrate the modification to the timeline as a first point and a second point on the timeline, producing multiple portions of the line, the multiple portions of the line including a portion of the line before the first point, a portion of the line between the first point and the second point, and a portion of the line after the second point; and
determine volume levels of the audio track at different instances in time corresponding to the modification to the deformable line.
41. The computing system of claim 40 , wherein the deformable line in the timeline is configured to respond in the graphical user interface to a corresponding amount of movement of the line generated from the selection operation and the movement operation.
42. The computing system of claim 40 , wherein the instructions are further configured to implement operations to:
provide a graphical representation of the audio track along the first axis; and
superimpose the deformable line on the graphical representation of the audio track.
43. The computing system of claim 40 , wherein the display device is configured to display a display area for displaying a video clip, and wherein the instructions are further configured to implement operations to:
represent the volume level of a first audio track for the video clip in the timeline, the timeline configured for receiving modifications that modify the volume level of the first audio track during portions of the displayed video clip.
44. The computing system of claim 43 , wherein the instructions are further configured to implement operations to:
represent the volume level of a second audio track for the video clip in a second timeline, the second audio track added to the video by a user, and the second timeline configured for receiving modifications that modify the volume level of the second audio track during portions of the displayed video clip.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/560,903 US20130191743A1 (en) | 2003-01-06 | 2012-07-27 | Method and apparatus for controlling volume |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/337,925 US7319764B1 (en) | 2003-01-06 | 2003-01-06 | Method and apparatus for controlling volume |
US11/949,764 US8265300B2 (en) | 2003-01-06 | 2007-12-03 | Method and apparatus for controlling volume |
US13/560,903 US20130191743A1 (en) | 2003-01-06 | 2012-07-27 | Method and apparatus for controlling volume |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/949,764 Continuation US8265300B2 (en) | 2003-01-06 | 2007-12-03 | Method and apparatus for controlling volume |
Publications (1)
Publication Number | Publication Date |
---|---|
US20130191743A1 true US20130191743A1 (en) | 2013-07-25 |
Family
ID=38921065
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/337,925 Expired - Lifetime US7319764B1 (en) | 2003-01-06 | 2003-01-06 | Method and apparatus for controlling volume |
US11/949,764 Active 2025-11-30 US8265300B2 (en) | 2003-01-06 | 2007-12-03 | Method and apparatus for controlling volume |
US13/560,903 Abandoned US20130191743A1 (en) | 2003-01-06 | 2012-07-27 | Method and apparatus for controlling volume |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/337,925 Expired - Lifetime US7319764B1 (en) | 2003-01-06 | 2003-01-06 | Method and apparatus for controlling volume |
US11/949,764 Active 2025-11-30 US8265300B2 (en) | 2003-01-06 | 2007-12-03 | Method and apparatus for controlling volume |
Country Status (1)
Country | Link |
---|---|
US (3) | US7319764B1 (en) |
Cited By (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140351733A1 (en) * | 2013-05-23 | 2014-11-27 | Ramin Soheili | Systems and methods for programming embedded devices using graphical user interface |
USD735227S1 (en) * | 2013-04-01 | 2015-07-28 | Samsung Electronics Co., Ltd. | Display screen or portion thereof with graphical user interface |
US9721611B2 (en) | 2015-10-20 | 2017-08-01 | Gopro, Inc. | System and method of generating video from video clips based on moments of interest within the video clips |
US9754159B2 (en) | 2014-03-04 | 2017-09-05 | Gopro, Inc. | Automatic generation of video from spherical content using location-based metadata |
US9794632B1 (en) | 2016-04-07 | 2017-10-17 | Gopro, Inc. | Systems and methods for synchronization based on audio track changes in video editing |
US9812175B2 (en) | 2016-02-04 | 2017-11-07 | Gopro, Inc. | Systems and methods for annotating a video |
US9838731B1 (en) * | 2016-04-07 | 2017-12-05 | Gopro, Inc. | Systems and methods for audio track selection in video editing with audio mixing option |
US9836853B1 (en) | 2016-09-06 | 2017-12-05 | Gopro, Inc. | Three-dimensional convolutional neural networks for video highlight detection |
US9966108B1 (en) | 2015-01-29 | 2018-05-08 | Gopro, Inc. | Variable playback speed template for video editing application |
US9984293B2 (en) | 2014-07-23 | 2018-05-29 | Gopro, Inc. | Video scene classification by activity |
US10083718B1 (en) | 2017-03-24 | 2018-09-25 | Gopro, Inc. | Systems and methods for editing videos based on motion |
US10096341B2 (en) | 2015-01-05 | 2018-10-09 | Gopro, Inc. | Media identifier generation for camera-captured media |
US10109319B2 (en) | 2016-01-08 | 2018-10-23 | Gopro, Inc. | Digital media editing |
US10127943B1 (en) | 2017-03-02 | 2018-11-13 | Gopro, Inc. | Systems and methods for modifying videos based on music |
US10187690B1 (en) | 2017-04-24 | 2019-01-22 | Gopro, Inc. | Systems and methods to detect and correlate user responses to media content |
US10186012B2 (en) | 2015-05-20 | 2019-01-22 | Gopro, Inc. | Virtual lens simulation for video and photo cropping |
US10185895B1 (en) | 2017-03-23 | 2019-01-22 | Gopro, Inc. | Systems and methods for classifying activities captured within images |
US10185891B1 (en) | 2016-07-08 | 2019-01-22 | Gopro, Inc. | Systems and methods for compact convolutional neural networks |
US10192585B1 (en) | 2014-08-20 | 2019-01-29 | Gopro, Inc. | Scene and activity identification in video summary generation based on motion detected in a video |
US10204273B2 (en) | 2015-10-20 | 2019-02-12 | Gopro, Inc. | System and method of providing recommendations of moments of interest within video clips post capture |
US10262639B1 (en) | 2016-11-08 | 2019-04-16 | Gopro, Inc. | Systems and methods for detecting musical features in audio content |
US10284809B1 (en) | 2016-11-07 | 2019-05-07 | Gopro, Inc. | Systems and methods for intelligently synchronizing events in visual content with musical features in audio content |
US10341712B2 (en) | 2016-04-07 | 2019-07-02 | Gopro, Inc. | Systems and methods for audio track selection in video editing |
US10360945B2 (en) | 2011-08-09 | 2019-07-23 | Gopro, Inc. | User interface for editing digital media objects |
US10534966B1 (en) | 2017-02-02 | 2020-01-14 | Gopro, Inc. | Systems and methods for identifying activities and/or events represented in a video |
US20210158831A1 (en) * | 2019-03-18 | 2021-05-27 | Rovi Guides, Inc. | Method and apparatus for determining periods of excessive noise for receiving smart speaker voice commands |
US12262115B2 (en) | 2022-01-28 | 2025-03-25 | Gopro, Inc. | Methods and apparatus for electronic image stabilization based on a lens polynomial |
US12287826B1 (en) | 2022-06-29 | 2025-04-29 | Gopro, Inc. | Systems and methods for sharing media items capturing subjects |
Families Citing this family (65)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7319764B1 (en) | 2003-01-06 | 2008-01-15 | Apple Inc. | Method and apparatus for controlling volume |
US7610553B1 (en) * | 2003-04-05 | 2009-10-27 | Apple Inc. | Method and apparatus for reducing data events that represent a user's interaction with a control interface |
US9207905B2 (en) | 2003-07-28 | 2015-12-08 | Sonos, Inc. | Method and apparatus for providing synchrony group status information |
US11294618B2 (en) | 2003-07-28 | 2022-04-05 | Sonos, Inc. | Media player system |
US11650784B2 (en) | 2003-07-28 | 2023-05-16 | Sonos, Inc. | Adjusting volume levels |
US8290603B1 (en) | 2004-06-05 | 2012-10-16 | Sonos, Inc. | User interfaces for controlling and manipulating groupings in a multi-zone media system |
US11106424B2 (en) | 2003-07-28 | 2021-08-31 | Sonos, Inc. | Synchronizing operations among a plurality of independently clocked digital data processing devices |
US8086752B2 (en) | 2006-11-22 | 2011-12-27 | Sonos, Inc. | Systems and methods for synchronizing operations among a plurality of independently clocked digital data processing devices that independently source digital data |
US11106425B2 (en) | 2003-07-28 | 2021-08-31 | Sonos, Inc. | Synchronizing operations among a plurality of independently clocked digital data processing devices |
US8234395B2 (en) | 2003-07-28 | 2012-07-31 | Sonos, Inc. | System and method for synchronizing operations among a plurality of independently clocked digital data processing devices |
US7725828B1 (en) * | 2003-10-15 | 2010-05-25 | Apple Inc. | Application of speed effects to a video presentation |
US9374607B2 (en) | 2012-06-26 | 2016-06-21 | Sonos, Inc. | Media playback system with guest access |
US9977561B2 (en) | 2004-04-01 | 2018-05-22 | Sonos, Inc. | Systems, methods, apparatus, and articles of manufacture to provide guest access |
US8326951B1 (en) | 2004-06-05 | 2012-12-04 | Sonos, Inc. | Establishing a secure wireless network with minimum human intervention |
US8868698B2 (en) | 2004-06-05 | 2014-10-21 | Sonos, Inc. | Establishing a secure wireless network with minimum human intervention |
US7831054B2 (en) * | 2005-06-28 | 2010-11-09 | Microsoft Corporation | Volume control |
US8483853B1 (en) | 2006-09-12 | 2013-07-09 | Sonos, Inc. | Controlling and manipulating groupings in a multi-zone media system |
US9202509B2 (en) | 2006-09-12 | 2015-12-01 | Sonos, Inc. | Controlling and grouping in a multi-zone media system |
US8788080B1 (en) | 2006-09-12 | 2014-07-22 | Sonos, Inc. | Multi-channel pairing in a media system |
US12167216B2 (en) | 2006-09-12 | 2024-12-10 | Sonos, Inc. | Playback device pairing |
KR100815523B1 (en) * | 2007-02-08 | 2008-03-20 | 삼성전자주식회사 | Music playback and display method of terminal and device using same |
US9159325B2 (en) * | 2007-12-31 | 2015-10-13 | Adobe Systems Incorporated | Pitch shifting frequencies |
US8543921B2 (en) * | 2009-04-30 | 2013-09-24 | Apple Inc. | Editing key-indexed geometries in media editing applications |
US8392004B2 (en) | 2009-04-30 | 2013-03-05 | Apple Inc. | Automatic audio adjustment |
US8566721B2 (en) | 2009-04-30 | 2013-10-22 | Apple Inc. | Editing key-indexed graphs in media editing applications |
US8332757B1 (en) * | 2009-09-23 | 2012-12-11 | Adobe Systems Incorporated | Visualizing and adjusting parameters of clips in a timeline |
KR20110067755A (en) * | 2009-12-15 | 2011-06-22 | 삼성전자주식회사 | Method and apparatus for outputting audio signal in portable terminal |
JP2011145386A (en) * | 2010-01-13 | 2011-07-28 | Fuji Xerox Co Ltd | Display control device, display device, and program |
US8875025B2 (en) | 2010-07-15 | 2014-10-28 | Apple Inc. | Media-editing application with media clips grouping capabilities |
US10324605B2 (en) | 2011-02-16 | 2019-06-18 | Apple Inc. | Media-editing application with novel editing tools |
US11265652B2 (en) | 2011-01-25 | 2022-03-01 | Sonos, Inc. | Playback device pairing |
US11429343B2 (en) | 2011-01-25 | 2022-08-30 | Sonos, Inc. | Stereo playback configuration and control |
US8954477B2 (en) | 2011-01-28 | 2015-02-10 | Apple Inc. | Data structures for a media-editing application |
US9997196B2 (en) | 2011-02-16 | 2018-06-12 | Apple Inc. | Retiming media presentations |
US8966367B2 (en) | 2011-02-16 | 2015-02-24 | Apple Inc. | Anchor override for a media-editing application with an anchored timeline |
US11747972B2 (en) | 2011-02-16 | 2023-09-05 | Apple Inc. | Media-editing application with novel editing tools |
EP2525359A1 (en) * | 2011-05-20 | 2012-11-21 | Eldon Technology Limited | Systems and methods for reducing a user's ability to perceive hard drive noise |
US8965774B2 (en) | 2011-08-23 | 2015-02-24 | Apple Inc. | Automatic detection of audio compression parameters |
US9423944B2 (en) * | 2011-09-06 | 2016-08-23 | Apple Inc. | Optimized volume adjustment |
US9344292B2 (en) | 2011-12-30 | 2016-05-17 | Sonos, Inc. | Systems and methods for player setup room names |
US9729115B2 (en) | 2012-04-27 | 2017-08-08 | Sonos, Inc. | Intelligently increasing the sound level of player |
CA2873237A1 (en) * | 2012-05-18 | 2013-11-21 | Scratchvox Inc. | Method, system, and computer program for enabling flexible sound composition utilities |
US8995687B2 (en) | 2012-08-01 | 2015-03-31 | Sonos, Inc. | Volume interactions for connected playback devices |
US9008330B2 (en) | 2012-09-28 | 2015-04-14 | Sonos, Inc. | Crossover frequency adjustments for audio speakers |
GB2510323B (en) * | 2012-11-13 | 2020-02-26 | Snell Advanced Media Ltd | Management of broadcast audio loudness |
US10027303B2 (en) | 2012-11-13 | 2018-07-17 | Snell Advanced Media Limited | Management of broadcast audio loudness |
US9251850B2 (en) * | 2012-12-19 | 2016-02-02 | Bitcentral Inc. | Nonlinear proxy-based editing system and method having improved audio level controls |
US9438193B2 (en) | 2013-06-05 | 2016-09-06 | Sonos, Inc. | Satellite volume control |
CN103400592A (en) * | 2013-07-30 | 2013-11-20 | 北京小米科技有限责任公司 | Recording method, playing method, device, terminal and system |
US9231545B2 (en) | 2013-09-27 | 2016-01-05 | Sonos, Inc. | Volume enhancements in a multi-zone media playback system |
US9355555B2 (en) | 2013-09-27 | 2016-05-31 | Sonos, Inc. | System and method for issuing commands in a media playback system |
US9300268B2 (en) * | 2013-10-18 | 2016-03-29 | Apple Inc. | Content aware audio ducking |
US9716909B2 (en) * | 2013-11-19 | 2017-07-25 | SketchPost, LLC | Mobile video editing and sharing for social media |
US9226087B2 (en) | 2014-02-06 | 2015-12-29 | Sonos, Inc. | Audio output balancing during synchronized playback |
US9226073B2 (en) | 2014-02-06 | 2015-12-29 | Sonos, Inc. | Audio output balancing during synchronized playback |
US10599287B2 (en) | 2014-03-11 | 2020-03-24 | Sonos, Inc. | Group volume control |
USD766976S1 (en) * | 2014-08-18 | 2016-09-20 | Rockwell Collins, Inc. | Display panel with icon |
US10248376B2 (en) | 2015-06-11 | 2019-04-02 | Sonos, Inc. | Multiple groupings in a playback system |
US10303422B1 (en) | 2016-01-05 | 2019-05-28 | Sonos, Inc. | Multiple-device setup |
US10712997B2 (en) | 2016-10-17 | 2020-07-14 | Sonos, Inc. | Room association based on name |
USD869493S1 (en) * | 2018-09-04 | 2019-12-10 | Apple Inc. | Electronic device or portion thereof with graphical user interface |
EP4115628A1 (en) | 2020-03-06 | 2023-01-11 | algoriddim GmbH | Playback transition from first to second audio track with transition functions of decomposed signals |
USD946622S1 (en) * | 2020-04-29 | 2022-03-22 | The Foundry Innovation and Research 1, Ltd. | Display screen or portion thereof with graphical user interface |
WO2022006672A1 (en) * | 2020-07-10 | 2022-01-13 | Scratchvox Inc. | Method, system, and computer program for enabling flexible sound composition utilities |
US11848655B1 (en) * | 2021-09-15 | 2023-12-19 | Amazon Technologies, Inc. | Multi-channel volume level equalization based on user preferences |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5204969A (en) * | 1988-12-30 | 1993-04-20 | Macromedia, Inc. | Sound editing system using visually displayed control line for altering specified characteristic of adjacent segment of stored waveform |
US20030164845A1 (en) * | 2002-03-01 | 2003-09-04 | Fayan Randy M. | Performance retiming effects on synchronized data in an editing system |
Family Cites Families (54)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US670429A (en) * | 1900-04-02 | 1901-03-26 | George Albert Lyon | Lug-strap for loom picker-sticks. |
US4868687A (en) | 1987-12-21 | 1989-09-19 | International Business Machines Corporation | Audio editor display interface |
US5151998A (en) | 1988-12-30 | 1992-09-29 | Macromedia, Inc. | sound editing system using control line for altering specified characteristic of adjacent segment of the stored waveform |
AU8932191A (en) | 1990-11-30 | 1992-06-25 | Cambridge Animation Systems Limited | Image synthesis and processing |
US5359712A (en) | 1991-05-06 | 1994-10-25 | Apple Computer, Inc. | Method and apparatus for transitioning between sequences of digital information |
US5999173A (en) | 1992-04-03 | 1999-12-07 | Adobe Systems Incorporated | Method and apparatus for video editing with video clip representations displayed along a time line |
US5682326A (en) | 1992-08-03 | 1997-10-28 | Radius Inc. | Desktop digital video processing system |
US5331111A (en) * | 1992-10-27 | 1994-07-19 | Korg, Inc. | Sound model generator and synthesizer with graphical programming engine |
DE4418203C2 (en) * | 1994-05-25 | 1997-09-11 | Siemens Audiologische Technik | Method for adapting the transmission characteristic of a hearing aid |
US5659793A (en) | 1994-12-22 | 1997-08-19 | Bell Atlantic Video Services, Inc. | Authoring tools for multimedia application development and network delivery |
GB2306750B (en) | 1995-10-23 | 1999-11-10 | Quantel Ltd | An audio editing system |
US5874950A (en) * | 1995-12-20 | 1999-02-23 | International Business Machines Corporation | Method and system for graphically displaying audio data on a monitor within a computer system |
JP2970526B2 (en) * | 1996-01-17 | 1999-11-02 | ヤマハ株式会社 | Sound source system using computer software |
US5892506A (en) | 1996-03-18 | 1999-04-06 | Discreet Logic, Inc. | Multitrack architecture for computer-based editing of multimedia sequences |
US6154601A (en) | 1996-04-12 | 2000-11-28 | Hitachi Denshi Kabushiki Kaisha | Method for editing image information with aid of computer and editing system |
US6628303B1 (en) | 1996-07-29 | 2003-09-30 | Avid Technology, Inc. | Graphical user interface for a motion video planning and editing system for a computer |
US6154600A (en) * | 1996-08-06 | 2000-11-28 | Applied Magic, Inc. | Media editor for non-linear editing system |
US5929867A (en) | 1996-08-07 | 1999-07-27 | Adobe System Incorporated | Floating keyframes |
EP0863510A4 (en) | 1996-09-20 | 2002-05-29 | Sony Corp | Editing system, editing method, clip management apparatus, and clip management method |
GB2323991B (en) | 1997-04-04 | 1999-05-12 | Questech Ltd | Improvements in and relating to the processing of digital video images |
US7091948B2 (en) | 1997-04-25 | 2006-08-15 | Immersion Corporation | Design of force sensations for haptic feedback computer interfaces |
US6956574B1 (en) | 1997-07-10 | 2005-10-18 | Paceworks, Inc. | Methods and apparatus for supporting and implementing computer based animation |
US5880722A (en) | 1997-11-12 | 1999-03-09 | Futuretel, Inc. | Video cursor with zoom in the user interface of a video editor |
US6188403B1 (en) | 1997-11-21 | 2001-02-13 | Portola Dimensional Systems, Inc. | User-friendly graphics generator using direct manipulation |
GB2336022A (en) | 1998-04-03 | 1999-10-06 | Discreet Logic Inc | Edit processing audio-visual data |
PT947955E (en) | 1998-04-03 | 2002-02-28 | Da Vinci Systems Inc | APPARATUS FOR GENERATING RANGE CURVES ADAPTED TO A DETAILED APPLICATION FOR COLOR CORRECTION EQUIPMENT |
JP4103192B2 (en) | 1998-09-17 | 2008-06-18 | ソニー株式会社 | Editing system and editing method |
JP4203779B2 (en) | 1999-03-15 | 2009-01-07 | ソニー株式会社 | Display element three-dimensional apparatus and method |
JP4227241B2 (en) | 1999-04-13 | 2009-02-18 | キヤノン株式会社 | Image processing apparatus and method |
US6512522B1 (en) | 1999-04-15 | 2003-01-28 | Avid Technology, Inc. | Animation of three-dimensional characters along a path for motion video sequences |
US6392135B1 (en) * | 1999-07-07 | 2002-05-21 | Yamaha Corporation | Musical sound modification apparatus and method |
US6624826B1 (en) | 1999-09-28 | 2003-09-23 | Ricoh Co., Ltd. | Method and apparatus for generating visual representations for audio documents |
US6678661B1 (en) | 2000-02-11 | 2004-01-13 | International Business Machines Corporation | Method and system of audio highlighting during audio edit functions |
US6614729B2 (en) | 2000-09-26 | 2003-09-02 | David D. Griner | System and method of creating digital recordings of live performances |
CH694882A5 (en) * | 2000-09-27 | 2005-08-15 | Bernafon Ag | A method for setting a transmission characteristic of an electronic circuit. |
EP1249792A3 (en) | 2001-04-12 | 2006-01-18 | Matsushita Electric Industrial Co., Ltd. | Animation data generation apparatus, animation data generation method, animated video generation apparatus, and animated video generation method |
US7134093B2 (en) | 2001-04-18 | 2006-11-07 | International Business Machines Corporation | Graphical user interface for direct control of display of data |
GB2374748A (en) | 2001-04-20 | 2002-10-23 | Discreet Logic Inc | Image data editing for transitions between sequences |
GB2374719A (en) | 2001-04-20 | 2002-10-23 | Discreet Logic Inc | Image data processing apparatus with two timelines |
TW520602B (en) | 2001-06-28 | 2003-02-11 | Ulead Systems Inc | Device and method of editing video program |
US6928613B1 (en) | 2001-11-30 | 2005-08-09 | Victor Company Of Japan | Organization, selection, and application of video effects according to zones |
US6952655B2 (en) | 2001-12-11 | 2005-10-04 | Lecroy Corporation | User defined processing function |
US20040088723A1 (en) | 2002-11-01 | 2004-05-06 | Yu-Fei Ma | Systems and methods for generating a video summary |
US7319764B1 (en) | 2003-01-06 | 2008-01-15 | Apple Inc. | Method and apparatus for controlling volume |
US7653550B2 (en) | 2003-04-04 | 2010-01-26 | Apple Inc. | Interface for providing modeless timeline based selection of an audio or video file |
US7610553B1 (en) | 2003-04-05 | 2009-10-27 | Apple Inc. | Method and apparatus for reducing data events that represent a user's interaction with a control interface |
US7328412B1 (en) | 2003-04-05 | 2008-02-05 | Apple Inc. | Method and apparatus for displaying a gain control interface with non-linear gain levels |
US7317457B2 (en) | 2003-07-21 | 2008-01-08 | Autodesk, Inc. | Processing image data |
US7042464B1 (en) | 2003-08-01 | 2006-05-09 | Apple Computer, Inc. | Methods and apparatuses for the automated display of visual effects |
US7725828B1 (en) | 2003-10-15 | 2010-05-25 | Apple Inc. | Application of speed effects to a video presentation |
US20050231512A1 (en) | 2004-04-16 | 2005-10-20 | Niles Gregory E | Animation of an object using behaviors |
US7411590B1 (en) | 2004-08-09 | 2008-08-12 | Apple Inc. | Multimedia file format |
US8543921B2 (en) | 2009-04-30 | 2013-09-24 | Apple Inc. | Editing key-indexed geometries in media editing applications |
US8566721B2 (en) | 2009-04-30 | 2013-10-22 | Apple Inc. | Editing key-indexed graphs in media editing applications |
-
2003
- 2003-01-06 US US10/337,925 patent/US7319764B1/en not_active Expired - Lifetime
-
2007
- 2007-12-03 US US11/949,764 patent/US8265300B2/en active Active
-
2012
- 2012-07-27 US US13/560,903 patent/US20130191743A1/en not_active Abandoned
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5204969A (en) * | 1988-12-30 | 1993-04-20 | Macromedia, Inc. | Sound editing system using visually displayed control line for altering specified characteristic of adjacent segment of stored waveform |
US20030164845A1 (en) * | 2002-03-01 | 2003-09-04 | Fayan Randy M. | Performance retiming effects on synchronized data in an editing system |
Cited By (69)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10360945B2 (en) | 2011-08-09 | 2019-07-23 | Gopro, Inc. | User interface for editing digital media objects |
USD735227S1 (en) * | 2013-04-01 | 2015-07-28 | Samsung Electronics Co., Ltd. | Display screen or portion thereof with graphical user interface |
US9521729B2 (en) * | 2013-05-23 | 2016-12-13 | Ramin Soheili | Systems and methods for programming embedded devices using graphical user interface |
US20140351733A1 (en) * | 2013-05-23 | 2014-11-27 | Ramin Soheili | Systems and methods for programming embedded devices using graphical user interface |
US9754159B2 (en) | 2014-03-04 | 2017-09-05 | Gopro, Inc. | Automatic generation of video from spherical content using location-based metadata |
US9760768B2 (en) | 2014-03-04 | 2017-09-12 | Gopro, Inc. | Generation of video from spherical content using edit maps |
US10084961B2 (en) | 2014-03-04 | 2018-09-25 | Gopro, Inc. | Automatic generation of video from spherical content using audio/visual analysis |
US12243307B2 (en) | 2014-07-23 | 2025-03-04 | Gopro, Inc. | Scene and activity identification in video summary generation |
US11776579B2 (en) | 2014-07-23 | 2023-10-03 | Gopro, Inc. | Scene and activity identification in video summary generation |
US10339975B2 (en) | 2014-07-23 | 2019-07-02 | Gopro, Inc. | Voice-based video tagging |
US11069380B2 (en) | 2014-07-23 | 2021-07-20 | Gopro, Inc. | Scene and activity identification in video summary generation |
US9984293B2 (en) | 2014-07-23 | 2018-05-29 | Gopro, Inc. | Video scene classification by activity |
US10074013B2 (en) | 2014-07-23 | 2018-09-11 | Gopro, Inc. | Scene and activity identification in video summary generation |
US10776629B2 (en) | 2014-07-23 | 2020-09-15 | Gopro, Inc. | Scene and activity identification in video summary generation |
US10262695B2 (en) | 2014-08-20 | 2019-04-16 | Gopro, Inc. | Scene and activity identification in video summary generation |
US10643663B2 (en) | 2014-08-20 | 2020-05-05 | Gopro, Inc. | Scene and activity identification in video summary generation based on motion detected in a video |
US10192585B1 (en) | 2014-08-20 | 2019-01-29 | Gopro, Inc. | Scene and activity identification in video summary generation based on motion detected in a video |
US10096341B2 (en) | 2015-01-05 | 2018-10-09 | Gopro, Inc. | Media identifier generation for camera-captured media |
US10559324B2 (en) | 2015-01-05 | 2020-02-11 | Gopro, Inc. | Media identifier generation for camera-captured media |
US9966108B1 (en) | 2015-01-29 | 2018-05-08 | Gopro, Inc. | Variable playback speed template for video editing application |
US11688034B2 (en) | 2015-05-20 | 2023-06-27 | Gopro, Inc. | Virtual lens simulation for video and photo cropping |
US10535115B2 (en) | 2015-05-20 | 2020-01-14 | Gopro, Inc. | Virtual lens simulation for video and photo cropping |
US10186012B2 (en) | 2015-05-20 | 2019-01-22 | Gopro, Inc. | Virtual lens simulation for video and photo cropping |
US10529051B2 (en) | 2015-05-20 | 2020-01-07 | Gopro, Inc. | Virtual lens simulation for video and photo cropping |
US10817977B2 (en) | 2015-05-20 | 2020-10-27 | Gopro, Inc. | Virtual lens simulation for video and photo cropping |
US10529052B2 (en) | 2015-05-20 | 2020-01-07 | Gopro, Inc. | Virtual lens simulation for video and photo cropping |
US11164282B2 (en) | 2015-05-20 | 2021-11-02 | Gopro, Inc. | Virtual lens simulation for video and photo cropping |
US10395338B2 (en) | 2015-05-20 | 2019-08-27 | Gopro, Inc. | Virtual lens simulation for video and photo cropping |
US10679323B2 (en) | 2015-05-20 | 2020-06-09 | Gopro, Inc. | Virtual lens simulation for video and photo cropping |
US12243184B2 (en) | 2015-05-20 | 2025-03-04 | Gopro, Inc. | Virtual lens simulation for video and photo cropping |
US10789478B2 (en) | 2015-10-20 | 2020-09-29 | Gopro, Inc. | System and method of providing recommendations of moments of interest within video clips post capture |
US11468914B2 (en) | 2015-10-20 | 2022-10-11 | Gopro, Inc. | System and method of generating video from video clips based on moments of interest within the video clips |
US10748577B2 (en) | 2015-10-20 | 2020-08-18 | Gopro, Inc. | System and method of generating video from video clips based on moments of interest within the video clips |
US9721611B2 (en) | 2015-10-20 | 2017-08-01 | Gopro, Inc. | System and method of generating video from video clips based on moments of interest within the video clips |
US10204273B2 (en) | 2015-10-20 | 2019-02-12 | Gopro, Inc. | System and method of providing recommendations of moments of interest within video clips post capture |
US10186298B1 (en) | 2015-10-20 | 2019-01-22 | Gopro, Inc. | System and method of generating video from video clips based on moments of interest within the video clips |
US10109319B2 (en) | 2016-01-08 | 2018-10-23 | Gopro, Inc. | Digital media editing |
US11049522B2 (en) | 2016-01-08 | 2021-06-29 | Gopro, Inc. | Digital media editing |
US10607651B2 (en) | 2016-01-08 | 2020-03-31 | Gopro, Inc. | Digital media editing |
US10769834B2 (en) | 2016-02-04 | 2020-09-08 | Gopro, Inc. | Digital media editing |
US10424102B2 (en) | 2016-02-04 | 2019-09-24 | Gopro, Inc. | Digital media editing |
US10083537B1 (en) | 2016-02-04 | 2018-09-25 | Gopro, Inc. | Systems and methods for adding a moving visual element to a video |
US10565769B2 (en) | 2016-02-04 | 2020-02-18 | Gopro, Inc. | Systems and methods for adding visual elements to video content |
US9812175B2 (en) | 2016-02-04 | 2017-11-07 | Gopro, Inc. | Systems and methods for annotating a video |
US11238635B2 (en) | 2016-02-04 | 2022-02-01 | Gopro, Inc. | Digital media editing |
US9794632B1 (en) | 2016-04-07 | 2017-10-17 | Gopro, Inc. | Systems and methods for synchronization based on audio track changes in video editing |
US10341712B2 (en) | 2016-04-07 | 2019-07-02 | Gopro, Inc. | Systems and methods for audio track selection in video editing |
US9838731B1 (en) * | 2016-04-07 | 2017-12-05 | Gopro, Inc. | Systems and methods for audio track selection in video editing with audio mixing option |
US10185891B1 (en) | 2016-07-08 | 2019-01-22 | Gopro, Inc. | Systems and methods for compact convolutional neural networks |
US9836853B1 (en) | 2016-09-06 | 2017-12-05 | Gopro, Inc. | Three-dimensional convolutional neural networks for video highlight detection |
US10284809B1 (en) | 2016-11-07 | 2019-05-07 | Gopro, Inc. | Systems and methods for intelligently synchronizing events in visual content with musical features in audio content |
US10560657B2 (en) | 2016-11-07 | 2020-02-11 | Gopro, Inc. | Systems and methods for intelligently synchronizing events in visual content with musical features in audio content |
US10262639B1 (en) | 2016-11-08 | 2019-04-16 | Gopro, Inc. | Systems and methods for detecting musical features in audio content |
US10546566B2 (en) | 2016-11-08 | 2020-01-28 | Gopro, Inc. | Systems and methods for detecting musical features in audio content |
US10534966B1 (en) | 2017-02-02 | 2020-01-14 | Gopro, Inc. | Systems and methods for identifying activities and/or events represented in a video |
US10679670B2 (en) | 2017-03-02 | 2020-06-09 | Gopro, Inc. | Systems and methods for modifying videos based on music |
US11443771B2 (en) | 2017-03-02 | 2022-09-13 | Gopro, Inc. | Systems and methods for modifying videos based on music |
US10127943B1 (en) | 2017-03-02 | 2018-11-13 | Gopro, Inc. | Systems and methods for modifying videos based on music |
US10991396B2 (en) | 2017-03-02 | 2021-04-27 | Gopro, Inc. | Systems and methods for modifying videos based on music |
US10185895B1 (en) | 2017-03-23 | 2019-01-22 | Gopro, Inc. | Systems and methods for classifying activities captured within images |
US11282544B2 (en) | 2017-03-24 | 2022-03-22 | Gopro, Inc. | Systems and methods for editing videos based on motion |
US10789985B2 (en) | 2017-03-24 | 2020-09-29 | Gopro, Inc. | Systems and methods for editing videos based on motion |
US10083718B1 (en) | 2017-03-24 | 2018-09-25 | Gopro, Inc. | Systems and methods for editing videos based on motion |
US10187690B1 (en) | 2017-04-24 | 2019-01-22 | Gopro, Inc. | Systems and methods to detect and correlate user responses to media content |
US20210158831A1 (en) * | 2019-03-18 | 2021-05-27 | Rovi Guides, Inc. | Method and apparatus for determining periods of excessive noise for receiving smart speaker voice commands |
US11710494B2 (en) * | 2019-03-18 | 2023-07-25 | Rovi Guides, Inc. | Method and apparatus for determining periods of excessive noise for receiving smart speaker voice commands |
US12243547B2 (en) | 2019-03-18 | 2025-03-04 | Adeia Guides Inc. | Method and apparatus for determining periods of excessive noise for receiving smart speaker voice commands |
US12262115B2 (en) | 2022-01-28 | 2025-03-25 | Gopro, Inc. | Methods and apparatus for electronic image stabilization based on a lens polynomial |
US12287826B1 (en) | 2022-06-29 | 2025-04-29 | Gopro, Inc. | Systems and methods for sharing media items capturing subjects |
Also Published As
Publication number | Publication date |
---|---|
US20080080721A1 (en) | 2008-04-03 |
US7319764B1 (en) | 2008-01-15 |
US8265300B2 (en) | 2012-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7319764B1 (en) | Method and apparatus for controlling volume | |
US7725828B1 (en) | Application of speed effects to a video presentation | |
US7334026B2 (en) | Collaborative remote operation of computer programs | |
JP6952877B2 (en) | Systems, methods, and graphical user interfaces for interacting with augmented and virtual reality environments | |
EP2422280B1 (en) | Media timeline interaction | |
US6989847B2 (en) | Method and apparatus for screen object manipulation | |
US8024672B1 (en) | System and method for generating presentations | |
US20040046782A1 (en) | Split edits | |
US7805685B2 (en) | Method and apparatus for displaying a gain control interface with non-linear gain levels | |
US8656306B2 (en) | Apparatus and method for displaying image | |
US20120151401A1 (en) | Method and apparatus for controlling touch screen using timeline bar, recording medium with program for the same recorded therein, and user terminal having the same | |
US10353533B2 (en) | Manipulating visual representations of data | |
WO1993015455A1 (en) | System for performing function on second portal upon activation of related first portal | |
JP2009017486A (en) | Content reproducing device | |
CA2916295A1 (en) | Method and apparatus for mixing media tracks | |
CN109117053B (en) | Dynamic display method, device and equipment for interface content | |
US7694225B1 (en) | Method and apparatus for producing a packaged presentation | |
US20050257171A1 (en) | Accelerator handles | |
US11188213B2 (en) | Edit experience for transformation of digital content | |
US12272382B2 (en) | Methods and systems for presenting media content with multiple media elements in an editing environment | |
JP3284561B2 (en) | Learning support system | |
CN101017660A (en) | Method for displaying objects in window operating environment on multiple display devices | |
JPH0387914A (en) | Method and device for using guidance of electronic computer system | |
KR101353224B1 (en) | Method and apparatus for displaying mata information | |
CN115509664A (en) | Multi-frame large-screen visualization method, system, equipment and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |