| 1 | |
|---|
| 2 | MoodleSpeex - free voice tools for Moodle using JSpeex |
|---|
| 3 | (c) Dan Stowell 2006. |
|---|
| 4 | Released under the GNU Public Licence (GPL). |
|---|
| 5 | |
|---|
| 6 | This Moodle plugin incorporates open-source |
|---|
| 7 | Java code from other projects: |
|---|
| 8 | - JSpeex player/recorder, (c) Wimba S.A. |
|---|
| 9 | - Postlet HTTP uploader, (c) Simon Rycroft |
|---|
| 10 | - JavaSoundDemo, (c) Sun Microsystems |
|---|
| 11 | Please see the licences stored in the "copyrights" folder for more details. |
|---|
| 12 | |
|---|
| 13 | |
|---|
| 14 | |
|---|
| 15 | ------------------- |
|---|
| 16 | SYSTEM REQUIREMENTS |
|---|
| 17 | ------------------- |
|---|
| 18 | |
|---|
| 19 | The speex tools are Java applets running in a teacher/student's web browser. |
|---|
| 20 | This means that Java (1.4 or later) MUST be installed on a computer in order |
|---|
| 21 | to be able to record/play the speech messages. Javascript is also used for |
|---|
| 22 | applet/browser communication. |
|---|
| 23 | |
|---|
| 24 | There are NO special requirements for the Moodle webserver. |
|---|
| 25 | |
|---|
| 26 | The applets have been tested to work with the main types of computer and web |
|---|
| 27 | browser. Notes re browser support: |
|---|
| 28 | |
|---|
| 29 | - Mac OSX: |
|---|
| 30 | - The following browsers reportedly work fine for using the applets: |
|---|
| 31 | - Firefox 1.5 |
|---|
| 32 | - Safari 2.0.4 |
|---|
| 33 | - Camino 1.0.2 |
|---|
| 34 | - Opera 9.0 has a problem in the cookie-passing which prevents |
|---|
| 35 | successful interaction between Moodle and the applets. This prevents |
|---|
| 36 | both upload and playback. |
|---|
| 37 | |
|---|
| 38 | - Windows PC: |
|---|
| 39 | - Works fine in Firefox 1.5 |
|---|
| 40 | - Works fine in Internet Explorer. But note that IE has a slightly annoying |
|---|
| 41 | feature that means you have to click once on the applet before it'll |
|---|
| 42 | respond, giving the impression that the first time you click on the |
|---|
| 43 | play button nothing happens! |
|---|
| 44 | The player applet may also be unable to play back more than once, |
|---|
| 45 | depending on system setup. |
|---|
| 46 | |
|---|
| 47 | - Linux (Ubuntu 6.06): |
|---|
| 48 | - Works fine in Firefox 1.5. However, the official Sun Java plugin must be |
|---|
| 49 | installed. (The "Kaffe" open-source alternative plugin has been tested |
|---|
| 50 | and did NOT work.) To install the Sun Java plugin: |
|---|
| 51 | 1. Open the package manager (menu Applications > Add/Remove) |
|---|
| 52 | 2. Click "Advanced" to switch to the more advanced manager. |
|---|
| 53 | 3. Open the menu item Settings > Repositories and ensure that |
|---|
| 54 | "Multiverse" is enabled (you may need to click on "Edit"). |
|---|
| 55 | 4. Find the package named "sun-java5-plugin" and select to install |
|---|
| 56 | it. (It may also install one or two other sun packages.) |
|---|
| 57 | |
|---|
| 58 | The applets might not necessarily work in all browsers/systems, so it is |
|---|
| 59 | worth ensuring that your students/staff are able to use the applets before |
|---|
| 60 | relying on them to any extent. |
|---|
| 61 | |
|---|
| 62 | |
|---|
| 63 | |
|---|
| 64 | --------------- |
|---|
| 65 | TECHNOLOGY NOTE |
|---|
| 66 | --------------- |
|---|
| 67 | |
|---|
| 68 | These tools do not enable any fancy live voice interaction - the interaction is |
|---|
| 69 | mediated by simple upload/download of audio files, rather than VoIP or any such |
|---|
| 70 | technology. This means that (for example) uploading of audio messages is |
|---|
| 71 | possible, but live two-way conferencing (like a telephone conversation) is |
|---|
| 72 | basically impossible without major development work. |
|---|
| 73 | |
|---|
| 74 | The file format used by these tools is "Ogg Speex", an open format. Open formats |
|---|
| 75 | are good because people can develop applications that use them (such as these |
|---|
| 76 | applets) without having to pay licensing fees. It also makes it more likely |
|---|
| 77 | that the .spx files that these tools create are interoperable, and (for example) |
|---|
| 78 | can be played in free media-playing software such as VLC. |
|---|
| 79 | |
|---|
| 80 | |
|---|
| 81 | |
|---|
| 82 | ------------ |
|---|
| 83 | INSTALLATION |
|---|
| 84 | ------------ |
|---|
| 85 | |
|---|
| 86 | 1) Moodlespeex files |
|---|
| 87 | |
|---|
| 88 | The files in the "moodle" folder of this distribution can |
|---|
| 89 | simply be dropped into place in the corresponding location |
|---|
| 90 | in your Moodle installation. |
|---|
| 91 | |
|---|
| 92 | moodle/lib/speex/* |
|---|
| 93 | moodle/filter/speexplayer/* |
|---|
| 94 | |
|---|
| 95 | The items that are NOT in the "moodle" folder are not |
|---|
| 96 | required on the Moodle server. |
|---|
| 97 | |
|---|
| 98 | |
|---|
| 99 | 2) Modifications to Moodle files |
|---|
| 100 | |
|---|
| 101 | You also need to make changes to some of the core Moodle files - to help with |
|---|
| 102 | this please refer to the "moodlepatches" folder which contains output |
|---|
| 103 | produced using "cvs diff -c" against core moodle code. |
|---|
| 104 | "cvsdiff_moodle-mod-forum.txt" is a diff of files in moodle/mod/forum. |
|---|
| 105 | "cvsdiff_moodle-files.txt" is a diff of files in moodle/files. |
|---|
| 106 | |
|---|
| 107 | To apply these patches on Mac OSX, Linux, or Unix: |
|---|
| 108 | |
|---|
| 109 | * Open a terminal window on your Moodle server (or on a local copy of the |
|---|
| 110 | files) and move to the mod/forum directory. Then feed the patch file to |
|---|
| 111 | the "patch" command. The exact command will vary according to where |
|---|
| 112 | your files are, but for example: |
|---|
| 113 | |
|---|
| 114 | cd /var/www/htdocs/moodle/mod/forum |
|---|
| 115 | patch < ~/Desktop/moodlespeex/moodlepatches/cvsdiff_moodle-mod-forum.txt |
|---|
| 116 | |
|---|
| 117 | * Do the same for the second patch file: |
|---|
| 118 | |
|---|
| 119 | cd /var/www/htdocs/moodle/files |
|---|
| 120 | patch < ~/Desktop/moodlespeex/moodlepatches/cvsdiff_moodle-files.txt |
|---|
| 121 | |
|---|
| 122 | The patch command will tell you if it encounters a problem (it will say that it |
|---|
| 123 | failed to apply one or more chunks). If not, everything should be OK. |
|---|
| 124 | |
|---|
| 125 | |
|---|
| 126 | 3) Modifications to Moodle database |
|---|
| 127 | |
|---|
| 128 | Moodle's "forum" table needs an extra field to store whether audio |
|---|
| 129 | messaging is active. The following SQL will add the column to a MySQL |
|---|
| 130 | Moodle database (please remember to change the table prefix): |
|---|
| 131 | |
|---|
| 132 | ALTER TABLE `mdl_forum` ADD `speex` ENUM( 'off', 'on', 'default' ) NOT NULL DEFAULT 'off'; |
|---|
| 133 | |
|---|
| 134 | |
|---|
| 135 | 4) Activation |
|---|
| 136 | |
|---|
| 137 | Visit your Moodle's Admin->Filters page and activate the "speexplayer" filter. |
|---|
| 138 | |
|---|
| 139 | |
|---|
| 140 | |
|---|
| 141 | ----- |
|---|
| 142 | USAGE |
|---|
| 143 | ----- |
|---|
| 144 | |
|---|
| 145 | 1. To listen to an audio message in Moodle: |
|---|
| 146 | |
|---|
| 147 | The "Speex player" filter should be simple to use: wherever |
|---|
| 148 | there is a link to an .spx file, an applet should appear |
|---|
| 149 | allowing the user to listen to the audio. The filter can |
|---|
| 150 | be activated/deactivated by the administrator. |
|---|
| 151 | |
|---|
| 152 | |
|---|
| 153 | 2: To record a voice message into Moodle: |
|---|
| 154 | |
|---|
| 155 | The "Speex recorder" applet can appear in various contexts. |
|---|
| 156 | For example, if it is enabled for a given forum, when you |
|---|
| 157 | post a new message or a reply you will see a drop-down menu |
|---|
| 158 | labelled "Post mode: text" which you can change to "audio". |
|---|
| 159 | This should take you to a page displaying the recorder applet. |
|---|
| 160 | |
|---|
| 161 | NOTE: By default, audio mode is DISABLED for your Moodle forums. |
|---|
| 162 | To activate it, choose "Update this forum" and you should find a |
|---|
| 163 | new option allowing you to activate audio messaging mode. |
|---|
| 164 | |
|---|
| 165 | When the applet appears: |
|---|
| 166 | |
|---|
| 167 | * Make sure your computer's microphone is set up. |
|---|
| 168 | * Click on "Record" and then start speaking. |
|---|
| 169 | * Click on "Stop" when you have finished speaking. |
|---|
| 170 | * You can use the "Play" button to listen back to your message. |
|---|
| 171 | * If you want to re-record your message, you can do. |
|---|
| 172 | * When you are happy with the message, click on "Upload". |
|---|
| 173 | There will be a delay as the sound is compressed and |
|---|
| 174 | then uploaded, and you will be |
|---|
| 175 | returned to the main screen you came from. |
|---|
| 176 | * You may wish to double-check that your sound file has |
|---|
| 177 | recorded properly by using the "Speex player" to |
|---|
| 178 | listen back to it. This will be a compressed file, so |
|---|
| 179 | the sound will usually be poorer-quality than you |
|---|
| 180 | originally heard. |
|---|
| 181 | |
|---|
| 182 | |
|---|
| 183 | 3: To use Speex (.spx) files after you download them to your |
|---|
| 184 | computer: |
|---|
| 185 | |
|---|
| 186 | The "standard" media players (Windows Media Player, |
|---|
| 187 | iTunes) fail to support open formats such as Speex. I highly |
|---|
| 188 | recommend the VLC player as a general-purpose alternative to |
|---|
| 189 | these programs: |
|---|
| 190 | http://www.videolan.org/vlc/ |
|---|
| 191 | |
|---|
| 192 | VLC can also be used to convert to WAV or MP3 format if desired. |
|---|
| 193 | |
|---|
| 194 | |
|---|
| 195 | |
|---|
| 196 | ------------------- |
|---|
| 197 | INFO FOR DEVELOPERS |
|---|
| 198 | ------------------- |
|---|
| 199 | |
|---|
| 200 | The Java source code is contained in the "java/src" folder. |
|---|
| 201 | I use Apache ant to compile and build the distribution, and |
|---|
| 202 | have included the ant "build.xml" file so that you can do the |
|---|
| 203 | same. |
|---|
| 204 | |
|---|
| 205 | In order to compile and run the applets, you will also need |
|---|
| 206 | to "sign" the JAR file with a digital signature - look in |
|---|
| 207 | the Java jarsigner documentation for more info about this |
|---|
| 208 | process. |
|---|
| 209 | |
|---|
| 210 | |
|---|
| 211 | |
|---|
| 212 | ------------------------------- |
|---|
| 213 | FERVENTLY ANTICIPATED QUESTIONS |
|---|
| 214 | ------------------------------- |
|---|
| 215 | |
|---|
| 216 | Q: What is the connection between this software and |
|---|
| 217 | Horizon Wimba's Voice Tools? |
|---|
| 218 | |
|---|
| 219 | A: This free software package is not produced by Horizon Wimba, |
|---|
| 220 | but it uses some underlying open-source Java code developed |
|---|
| 221 | by Wimba. The Java audio encoder/decoder is probably the |
|---|
| 222 | same or similar to the algorithm used in Wimba's software. |
|---|
| 223 | However, nothing about the behaviour/quality/functionality |
|---|
| 224 | of this package should be used to infer anything about the |
|---|
| 225 | behaviour/quality/functionality of Wimba's tools! The tools |
|---|
| 226 | produced by Wimba are likely to differ significantly. This |
|---|
| 227 | project is (currently) only aimed at providing a relatively |
|---|
| 228 | basic voice functionality. |
|---|
| 229 | |
|---|
| 230 | |
|---|
| 231 | Q: Can I download Speex messages to my portable media player |
|---|
| 232 | and listen to them later? |
|---|
| 233 | |
|---|
| 234 | A: It's unlikely, because many of the main brands (inc Apple's |
|---|
| 235 | iPods) do NOT support Speex .spx files. There are some |
|---|
| 236 | portable players that do, but you'll find that they're in |
|---|
| 237 | a minority. |
|---|
| 238 | |
|---|
| 239 | |
|---|
| 240 | Q: Can I use these tools for podcasting? |
|---|
| 241 | |
|---|
| 242 | A: Probably not, for the reasons described above - many users |
|---|
| 243 | will be unable to play the files on their media players. |
|---|
| 244 | |
|---|
| 245 | |
|---|
| 246 | Q: Can these tools be adapted to record MP3 instead of Speex? |
|---|
| 247 | |
|---|
| 248 | A: No. MP3 is not a free format - developers must pay money to |
|---|
| 249 | develop software using MP3 - so it is unsuitable for open-source |
|---|
| 250 | projects. (Besides, MP3 is not designed to be well-suited for |
|---|
| 251 | voice compression, whereas Speex is specially designed for that |
|---|
| 252 | purpose.) |
|---|
| 253 | |
|---|
| 254 | |
|---|
| 255 | ------- |
|---|
| 256 | SUPPORT |
|---|
| 257 | ------- |
|---|
| 258 | |
|---|
| 259 | As with many freely-provided Moodle add-ins, support |
|---|
| 260 | can not be guaranteed, but there are pretty much always |
|---|
| 261 | friendly people in the moodle.org forums who can offer |
|---|
| 262 | advice. |
|---|
| 263 | |
|---|
| 264 | Please do not ask about how to make it record .MP3 files |
|---|
| 265 | rather than .SPX files! There's a serious licencing problem |
|---|
| 266 | with recording MP3 in open-source software. Besides which, |
|---|
| 267 | Speex is much better for voice applications. |
|---|
| 268 | |
|---|