| 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 |
|
|---|