Playback Enhancement

From Audacity Wiki
Revision as of 16:18, 30 March 2008 by Taruntandon (talk | contribs)
Jump to: navigation, search

As listed (under the possible mentorship of Mr. DominicMazzoni, lead developer of Audacity and Mr. Vaughan, member of the Audacity Team as well as Audacity Technical Leadership Council) in the ideas page, I wish to be a part of the development team to incorporate the various PLAYBACK ENHANCEMENTS into the next stable audacity release version 1.4.

4.1.1No 'click' on start/stop/loop; At the moment there usually is an audible click when Audacity starts or stops playing a sound, or in iterations of playing a loop. A very short fade-in and fade-out applied only to playback should fix this. The fix is simple yet efficient. The fading effects can easily be incorporated onto the tracks but the major consideration in this would the time of the fade. If the selected track is comparable to the size of the fade which we would put, the user might not be able to figure out what part of the selected audio track is actually being played. Thus we can also include an initial condition of the length of the selected track before applying the fades. We apply the fade only if the track is longer than the specified length. Even though the ‘click’ sound is hardly noticeable, removing the sound would definitely lead to a better user experience.

4.1.2:Loop play adjusts dynamically to boundaries being moved; Finding the precise boundaries of a sound, for example an unwanted sound to be fixed, can be difficult with Audacity as it currently is. The location of the sound isn't obvious from the waveform. The new option would allow playing the sound in a loop, adjusting the boundaries to find out exactly where it starts and stops. To identify the precise boundaries through the waveform is currently left to user interpretation. Another proposed solution to this can be making multiple end points. We can ask the user to specify breakpoints in the selected track (through a keyboard shortcut) wherein the sound playback would pause momentarily and then either continue playback from the breakpoint or from the start point. Once the user can understand which breakpoint is the desired end point which he requires, he can set the particular breakpoint as the endpoint. One more solution can be to allow dragging of the playback cursor while playing in a continuous loop. Thus the user can find the desired boundary using hit and try of the playback cursor placement.

4.1.3:Vari-speed playback; Fast playback of sound allows sections of audio to be located more rapidly. Slow playback allows precise location (on timeline) of sound to be determined more accurately. There is a crude version of this on the 'Transcription Toolbar' - refining it would include allowing the speed to vary during playback without starting and stopping. As a very useful enhancement, providing direct buttons in the control toolbar for adjusting the speed of playback would help the user in more ways than one. We can try to implement the algorithms which are currently used in the Effects->Change Speed menu to dynamically change the speed of playback without changing the timeline. We can allow for this to be implemented either before playback or even during playback.

4.1.4:Drag-playback-cursor whilst playing; This requires changes to both playback and GUI. It is an extension of vari-speed playback and would make locating sound more rapid. As mentioned in a technique to find the exact desired boundary of the track, we can use this technique not just as an extension of vari-speed playback but also for making the usage even more interactive.

4.2 Timeline I propose to initially implement 4.1.1 since it can be easily implemented and would not require major time devotion. Next, I wish to implement 4.1.3 as it is essential to playback enhancement. It would require a lot of time but would be very fruitful once completed. Since 4.1.4 is an enhancement of 4.1.3, it would follow next and in the end, I can implement 4.1.2 using 4.1.4. Goal for Halfway – Completion of 4.1.1 as well as 4.1.3.