§ Learning code by hearing it


I learnt of this from an amazing discussion on HackerNews, where a sighted programmed, who is going blind, asked the community if he could remain a software engineer. An answer by kolanos read:
You can definitely continue as a software engineer. I'm living proof. ...
For example, as you get better with a
screen reader, you'll be bumping the speech rate up to 1.75-2X normal speech.
... Typos will be easily spotted as they just won't "sound right". It will be
like listening to a familiar song and then hitting an off note in the melody.
And this includes code . Also, because code is no longer represented
visually as blocks,
you'll find you're building an increasingly detailed memory model of your code .
Sighted people do this, too, but they tend to visualize in their mind. When
you abandon this two dimensional representation,
your non-visual mental map suffers no spatial limits . You'll be amazed
how good your memory will get without the crutch of sight.

I find this incredibly fascinating. I think I'm going to try this: I'll listen to lectures on 1.5-2x anyway, so this may work just as well. I'm planning on trying this with the MLIR codebase, which I want to get to know intimately. I'll write updates on how this goes.
Drew DeVault also posted links to tools/scripts for programming without needing visual feedback:
I also learnt about emacspeak , which supposedly works well for an audio-based-workflow.

§ Setting up festival


It seems that festival is the best(?) TTS engine for linux. One should
  1. install festival
  2. install the voice packs, given by the name festvox-*.
  3. The best (?) festival voice is supposedly in the package festvox-us-slt-hts, with voice name voice_cmu_us_slt_arctic_hts. The pacakge is also available at the debian site: https://packages.debian.org/sid/all/festvox-us-slt-hts/download
  4. edit the festival config file /etc/festival.scm and add a line

; the ' is important to escape the string
; (set! voice_default ')
(set! voice_default 'voice_cmu_us_slt_arctic_hts)

§ Setting up SVOX pico2wave



#!/bin/bash
pico2wave -w=/tmp/test.wav "$1"
aplay /tmp/test.wav
rm /tmp/test.wav