Playback Speed Control

The Talking Book device offers playback speed control in order to facilitate learning at the student's own pace. When the student is learning a new word and sound, it's important that they can play the audio at a slower speed so they can hear it better, and perhaps read the corresponding written words. For navigational ease, it's desirable to allow students to increase playback speed, either as a fast forwarding mechanism, or as a way to refresh material in a short period of time.

The device will allow the following play back speed, listed in the order of slowest to fastest:
(Slower playback speed is crucial for learning, and should be prioritized above faster speed, which is more of a navigational helper and not essential to the mission of the device. If cuts need to be made, cut the faster speeds first)

  • 0.5x, or half the normal speed, at constant pitch, so that the student can learn the pronunciation and sound without having to adjust to pitch changes.
  • 0.65x normal speed, at constant pitch is required.
  • 0.8x normal speed, at constant pitch is required
  • 1x or normal playback speed
  • 1.5x normal speed, or 50% faster than normal. Constant pitch is preferred, and should be available as part of the chip set's feature.
  • 2.0x normal speed. Constant pitch is preferred, and should be available as part of the chip set's feature.

The slower speeds are determined from [citation needed] academic studies. The faster speeds are based on digital voice recorder specs only.

We examine all of buttons on the device and found there are no "free" buttons available to put the playback speed buttons:

  • Volume Up/Down should be dedicated.
  • MORE button is used for hyperlink and may be needed at any point in program playback
  • BACK/FORWARD are for jumping back 15 secs or fast forward 30 secs during playback
  • UP/DOWN are used for module/chapter navigation during playback

Thus it's necessary to somehow overloading of existing buttons to accomplish playback speed changes. We examine a number of button schemes:

  • Rapid double-tap of the button: The double-tap speed is hard to gauge and hard to learn. It is probably an unfamiliar concept for non-computer users, since it was introduced via the mouse. Rejected.
  • Tapping of two buttons:
    • Two variations were discussed, either the simultaneous pressing of two buttons, or a key-modifer approach where one button is held down while another is pushed.
    • Pros: There are parallels of simultaneous button pushes in the mechanical world: Some cassette recorders require pushing down of REC+PLAY to start recording. Typewriter's SHIFT key is a similar concept of key modifier and may be familiar to some users. It is easier to demonstrate to new users, without worrying about the timing element which which can be tricky to learn and get right.
    • Con: The two button maneuver requires a bit more dexterity, and is a new interaction that is not used elsewhere on the Talking Book.
  • Holding down of a button for >1 sec:
    • a bit of background: An important point is that a button will only appear to be "tapped" if it is depressed _and_ released within a short time, 1sec or less. The exact duration is TBD.
    • When the button is held (> 1 sec) the device can trigger the HOLD action without ever having triggered the "tap" action.
    • Pro: Since any button held longer than 1 sec is considered a HOLD, there is no tricky timing involved. Since we believe a button modifier scheme such as SHIFT or CTRL is likely the right behavior for any two-button gestures, which will involve a HOLD behavior to begin with, we think we should utilize HOLD by itself as a first step.


  • When a content module is selected, and PLAY is hit, it should always start at 1.0x speed
  • When a paused content module is resumed from a pause state, the playback speed should be the last used playback speed. For example, if I newly selected a module, selected playback at 0.65x, and paused it, but hours later resumed playback, the resumed playback should be still at 0.65x.
  • [FUTURE] It maybe useful to insert the speed back into the metadata for the module, so whenever the next time a given module is played, the same selected speed is used. This will involve, however, some consideration about reseting speeds when a module is copied to another device, etc.
  • Whenever the playback speed is changed, a corresponding SAF is played to tell the user the speed at which audio will play. They are:
    • 0.5x has the SAF as "Slowest Speed".
    • 0.65x has the SAF as "Much Slower Speed"
    • 0.8x has the SAF as "Slow Speed"
    • 1.0x has the SAF as "Normal Speed"
    • 1.5x has the SAF as "Faster Speed"
    • 2.0x has the SAF as "Fastest Speed"
  • When the PLAY button is held down for > 1sec
    • Audio playback is paused, the location is remembered
    • An SAF announces "Audio is paused. Press UP to speed up audio playback, press DOWN to slow down. Press Play again to continue."
    • The user can then tap UP or DOWN buttons to change the playback speed. Each tap will change the playback speed up or down one notch. The SAF corresponding to the newly selected playback speed is announced, i.e. "Slowest" or "Faster", etc.
    • NOTE: The SAF for the speed selected should be played back at the appropriate speed. For example, the SAF for "Slowest" should be played back at 0.5x speed; "Normal" at 1x; "Faster" at 1.5x, and so on. This is to help the user experience how the selected speed will sound.
    • The user can continue to adjust the playback speed up or down until the desired speed is attained.
    • If the playback speed is already at the slowest speed, pushing DOWN will not change the speed further. The SAF for "Slowest" is still played however. The same is true when the speed selected is already the fastest and the user tap UP.
    • When the user is satisfied with the speed selected, he taps PLAY again to continue playback at the selected speed. Audio resumes where it was left off.