Archive

Archive for the ‘service-is-any’ Category

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'
    $global:path
    $global:path1
    $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
    }}
    MonitorAndMoveFile
    #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.

OWA Calendar collaboration is spreading on campus…

… in Spring 2013 to Student Advising and Central Tutoring, from the LRC tutoring, staffing and room and equipment booking since Fall 2011. Glad to see that we get more benefit out of this new tool. 20130220_171700

How to batch-produce animated-GIFs in different speeds

As a little time saver, here is a program (64bit) that automates animated-GIF production with the free UnFreez (a bit hairy to control from AutoIT, hence the mouse-moves) for a dozen or so different speeds. Decompile if you need to adjust it, otherwise no AutoIT software is needed. All other prerequisites are  explained in the startup dialogue, rename the dummy output files to your liking.

How to batch watermark your images for free with Irfanview

batch-watermarking

– just to be a bit more concise than this useful, but long post on yet another great feature of this free program (shout-out to Kai). Not shown here: after making your settings here, click button “Start batch”.

How you can fix student homework “file save errors” on Sanako Study 1200 and Windows XP

  1. Background: We recently got our Sanako network share permissions set up to vendor specifications, and the privileges tightened up appropriately. Fortunately, in the process of this, I was warned to make sure Windows XP has the registry key set: MoveSecurityAttributes, as otherwise XP does not update the permissions when moving files between folders:
  2. Symptom: Here is how this seems to have played out with Sanako ”homework” files (which get sent from the teacher to the student for writing and submitted back), specifically with files that I had:
    1. uploaded from my office PC (XP without the MoveSecurityAttributes key)  to the Sanako teacher share
    2. tried to deploy as homework from the Sanako Study 1200 teacher  station (also XP without the MoveSecurityAttributes key), resulting in a “file save” error:before-MoveSecurityAttributes-on-teacher
    3. Additional context:
      1. sending files to students failed, but not to teachers;
      2. student had not run out of file space on the network share;
      3. students did not lack permissions to the Sanako network share in general;
      4. we did not run into issues with Sanako exam audio recordings which are sent from the student PCs to the network share.
    4. Resolution:
      1. adding HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MoveSecurityAttributes, DWORD ,1, to the computer the files originates from:
        1. first the office pc: this did not fix the issue.
        2. then the teacher PC: this seems to have fixed the issue:after-MoveSecurityAttributes-on-teacher
        3. Here is hoping that this can fix your “file save”error also.
  3. Update: Also consult Raymond Chen’s "Wait, so does moving a file recalculate inherited permissions or doesn’t it?", and the hearty discussion that ensued. 

Looking forward to the Digital Humanities Unconference at UNC Charlotte

  1. Why I come to THATCamp Piedmont:
    1. I am looking for practitioners of NLP in a language and literature teaching context since I am working on Using NLP tools to automate production and correction of interactive learning material  (presented at Calico 2012)
    2. for the Learning Exercise Creation Engines (presented at EUROCALL 2007) I developed.
  2. A little about myself:
    1. My Ph.D. thesis expanded the close reading of textual variants in the German editorial schools of Hans Zäch and the use of the computer-generated textual concordances in the interpretation and selection of textual variants into a corpus linguistic-inspired approach, that traced Leitmotifs in the work  (partially first digitized by myself) of the foremost Swiss-German classic as a digital corpus using Regular Expressions programming.
    2. I have since applied my corpus linguistic approach to
      1. the use of machine translation software
      2. the automation of learning material creation  (glossing, question generation, differentiation) on the basis of natural language processing of textual  (film subtitles, news) corpora.

Code documentation for a job ticket assignment and reporting application

  1. JobAssignments allows for managing job tickets with easy tagging and filtering of task assignments, and for aggregate analysis and reporting. 
  2. Originally developed only for simple tag aggregation reports (watch a demo), JobAssignments  can now also analyze the tag graph: jobassignments_tags_keyneighbours
  3. Click the table of contents on the right to browse the VBA documentation built with Aivosto.
  4. imageimage