Archive for February, 2013

Web-based Greek to Roman characters transliteration using Greeklish

Automating language learning listening material creation with Google Translate text-to-speech: The technology

  1. A digital audio lab heavily depends on the availability of, but does not usually come with digital learning materials (and recent exceptions are exceptions for a reason)  Some digital audio materials that come with your textbook may be adaptable. “Rolling your own” has all kinds of advantages (allows for personalization, for both teachers to express themselves, and for students to learn), but can be a chore.
  2. Can the LRC find a workaround?  Here is one attempt: making Google translate (too often abused by students in its original interface) text-to-speech (unusable for learning material in its original interface since severely crippled) usable for digital audio learning material production, provided you have a source text in the target language. image
  3. GoogleTTS can serve as the gateway to better suiting Google Translate text-to-speech features to the needs of the LRC:
    1. imageGoogleTTS allows for arbitrary-length input text (it chunks it automatically).
    2. GoogleTTS produces intermediate local audio files which we can postprocess.
    3. Google Translate’s automatic language recognition remains a sore point: it is not reliable. Unlike Google Translate, GoogleTTS has no interface to set the language manually when the automatic recognition fails.
  4. Batch-download the files from Google Translate, using MS-PowerShell: <
    $global:folder = 'G:\Temporary Internet Files\Content.IE5'
    $filter = '*.mp3' # &lt;-- set this according to your requirements
    $global:destination = 'G:\conf\programs\GoogleTTS\mp3'
    $currenttimeFunction MonitorAndMoveFile{
    $fsw = New-Object IO.FileSystemWatcher $folder, $filter -Property @{
    IncludeSubdirectories = $true # ja, brauch ich für googletts i&lt;-- set this according to your requirements
    NotifyFilter = [IO.NotifyFilters]'FileName, LastWrite'
    $onCreated = Register-ObjectEvent $fsw Created -SourceIdentifier FileCreated -Action { # the even monitored is file created - to force recreation of files by googletts, you may have to clear watched folder of all mp3 &lt; 100kb first
    $global:path = $Event.SourceEventArgs.FullPath
    Write-Host $global:path -ForegroundColor Magenta # this works also
    $name = $Event.SourceEventArgs.Name
    $changeType = $Event.SourceEventArgs.ChangeType
    start-sleep -Seconds 2 # The OnCreated event is raised as soon as a file is created.
    if ($global:path -ne $global:path1) # it is a createdevent on a different file from last time - just in caseon oncreated not firing clear cut, but it seems to
    $currenttime = Get-Date -Format yyyy-MM-dd-hhmmss
    Write-Host "attempt copy $global:path1 to $cuurrenttime" # try copying the past file
    # Copy-Item -Path $global:path1 -Destination "G:\conf\programs\GoogleTTS\mp3\$currenttime.mp3" -Force # that worked with the last generated file, wait: the last one is the one that remaisn behind, earlier ones get overwritten
    Copy-Item -LiteralPath $global:path1 -Destination "G:\conf\programs\GoogleTTS\mp3\$currenttime.mp3" -Force # that worked with the last generated file, wait: the last one is the one that remaisn behind, earlier ones get overwritten
    # use parameter -literalPath because files in the temp folder have usually [ and ] inside the name which acts as wildcards characters
    $global:path1 = $global:path
    while (1) {
    sleep -Milliseconds 100
    write-host $global:path # this works
    #Unregister-Event -SourceIdentifier FileCreated
  5. Merge the downloaded files (wisely numbered sequentially):
  6. image
  7. Fix minor errors in your audio editor:
  8. image
  9. Done:
    1. Here I have a lot of questions for a speaking exam in ESL, and with a much better accent than my own.
    2. Nifty, plus output sounds even better for German than for English. Note, there is no attempt to parse sentences semantically. Some languages chunk better than others (I made some little improvements in this regard to the original program). Other common problems include numbers and in German I find myself, when listening, tending to look up once in a while and shake a high school students by the shoulders, asking him: “Do you actually understand what you are reading?!” Smile– which in my eyes is an indicator to the progress made in speech-synthesis.
    3. Other examples include French,
    4. Hindi,
    5. Italian,
    6. Spanish.
  10. So can the LRC relieve teachers from recording their cue files for the digital audio lab listening comprehension and exam? Within limitiations.

Keyboarding game and Typing tutor for ESL students unfamiliar with Roman letters keyboards

  1. For ESL learners unfamiliar with Roman letters keyboards, the LRC features only a few keyboards with non-Roman character overlays, and otherwise software transliterators integrated into Windows that, while allowing typing in L1 for dictionary lookup and note taking, still require familiarity with the Roman letters keyboards. To help ESL learners getting started, here are a 2 websites I found:
  2. A typing tutor: image
    1. pros: pedagogically sound: English words are given as cues, and an on screen keyboard that can be operated from the hardware keyboard, but gives hints when needed by highlighting the next letter on the keyboard after a waiting period
    2. cons: a bit drab.
  3. An arcade-like keyboarding game (Missile command/Tetris): image
    1. cons:
      1. bit too much sound,
      2. not advertisement free
      3. letters only, not practice of English words
    2. pros:
      1. autostarts and thus can be directly launched for students from the teacher station as a divertissement during slow times in the LRC ,
      2. reasonably entertaining,
      3. Levels that start slow, but adaptive. Arabic–English Online Dictionary features:  easy lookup (1,2,3), and for each lemma: grammar information (4), synonyms (5, with lookup (6)), usage samples (7), pronunciation help (8: audio, but not IPA), reverse lookup (9).


And an example for the reverse lookup: image.

In short, this is a real dictionary, unlike Google Translate, which is amazing in itself, but often misused  by language learners. Unlike Google Translate, helps with lookup by Arabic letter, but does not come with a phonetic transliteration to make it usable with a Roman letters keyboard. Fortunately, the LRC features to phonetic transliterators integrated into Windows: MS-Maren and Google Arabic Input.

Protected: How teachers can share multimedia files unsuitable for the LMS on MS-SkyDrive

2013/02/27 Enter your password to view comments.

This content is password protected. To view it please enter your password below:

New Sanako Lite Recorder Installation error

As seen when starting up the Student.exe after instalaltion (and before restart). What i noticed was the red warning in the sanako student “no audio”. After a restart after installation, i could play back sound. no microphone was installed on the system, but should that result in such errors? we are having a lot of installation issues with the sanako lite recorder on our pretty standard (xp dp3, win7 64-bit) dell optiplex (755, 760,780 mostly) machines. I am used to reading stack traces, but my users are not and would run into this – plus this one seems deliberately obfuscated.

************** Exception Text **************
System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
at System.Collections.ArrayList.get_Item(Int32 index)
at A.B.A()
at A.B.A(Int32 offset)
at A.B.b(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

************** Loaded Assemblies **************
Assembly Version:
Win32 Version: 2.0.50727.5466 (Win7SP1GDR.050727-5400)
CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
Assembly Version: 5.51.10221.1
Win32 Version: 5.51.010221.01
CodeBase: file:///C:/Program%20Files%20(x86)/SANAKO/Study/Student/SoundDeviceWizard.exe
Assembly Version:
Win32 Version: 2.0.50727.5468 (Win7SP1GDR.050727-5400)
CodeBase: file:///C:/windows/assembly/GAC_MSIL/System.Windows.Forms/
Assembly Version:
Win32 Version: 2.0.50727.5467 (Win7SP1GDR.050727-5400)
CodeBase: file:///C:/windows/assembly/GAC_MSIL/System/
Assembly Version:
Win32 Version: 2.0.50727.5467 (Win7SP1GDR.050727-5400)
CodeBase: file:///C:/windows/assembly/GAC_MSIL/System.Drawing/
Assembly Version: 5.51.10221.1

ESL L2 Listening&Speaking Exam Rubric

Categories: Uncategorized