• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1Sonic is a simple algorithm for speeding up or slowing down speech.  However,
2it's optimized for speed ups of over 2X, unlike previous algorithms for changing
3speech rate.  The Sonic library is a very simple ANSI C library that is designed
4to easily be integrated into streaming voice applications, like TTS back ends.
5
6The primary motivation behind Sonic is to enable the blind and visually impaired
7to improve their productivity with open source speech engines, like espeak.
8Sonic can also be used by the sighted.  For example, Sonic can improve the
9experience of listening to an audio book on an Android phone.
10
11A native Java port of Sonic is in Sonic.java.  Main.java is a simple example of
12how to use Sonic.java.  To play with it, you'll need a "talking.wav" file in the
13current directory, and you'll want to change the speed, pitch or other
14parameters manually in Main.java, in the main method.
15
16Sonic is Copyright 2010, 2011, Bill Cox, all rights reserved.  It is released
17under the Apache 2.0 license, to promote usage as widely as possible.
18
19Performance test:
20
21I sped up a 751958176 byte wav file with sonic (a 9 hour, 28 minute mono audio
22file encoded at 16-bit 11.KHz), but with the output writing disabled.  The
23reported time, running Ubuntu 11.04 on my HP Pavilion dm4 laptop was:
24
25real    0m50.839s
26user    0m47.370s
27sys     0m0.620s
28
29The Java version is not much slower.  It reported:
30
31real    0m52.043s
32user    0m51.190s
33sys     0m0.310s
34
35Author: Bill Cox
36email: waywardgeek@gmail.com
37