Category: goatee-stroking musing, or something

  • [tɒk bɒks] — a tiny hardware speech synthesizer/TTS

    a small black component case with speaker holes, a switch and two sockets
    [tɒk bɒks]: case
    a circuit board with two smaller boards mounted on top. One is the EMIC-2 board, the other a USB to serial adapter
    [tɒk bɒks]: inside. The observant amongst you will notice that the speech board is 1/10″ further in than it should be for ideal alignment with the USB serial adapter.

    Back in the 1980s, the now-defunct Digital Equipment Corporation (“DEC”) sold a hardware speech synthesizer based on Dennis Klatt’s research at MIT.  These DECTalk boxes were compact and robust, and — despite not having the greatest speech quality — gave valuable speech, telephone and reading accessibility to many people. Stephen Hawking’s distinctive voice is from a pre-DEC version of the MIT hardware.

    DEC is long gone, and the licensing of DECTalk has wandered off into mostly software (ahem …). Much to the annoyance of those in earshot, I’ve always enjoyed dabbling in speech synthesis. DECTalk hardware remains expensive, partly because of demand from electronic music producers (its vocoder-like burr is on countless tracks), but also because there are still many people who rely on it for daily life. I couldn’t justify buying a real DECTalk, but I found this: the Parallax Emic 2 Text-to-Speech Module.  For about $80, this stamp-sized board brings a hardware DECTalk implementation to embedded projects.

    The Emic 2 is really marketed to microcontroller hobbyists: Make Your Arduino Speak! sorta thing. But I wanted to make a DECTalk-ish hardware box, with serial input, a speaker, and switchable headphone/line jack.  [tɒk bɒks] (a fair IPA approximation of how I pronounce “Talk Box”) is the result.

    Hardware

    • Parallax Emic 2 Text-to-Speech Module
    • OSEPP FTDI USB-Serial Breakout — there are many USB-Serial boards that would do this, but two points in this one’s favour are: i) it has header pins for breadboard use, and ii) I had a spare one.
    • Small 8Ω speaker element — the one I used is most likely a headphone element, bought from Active Surplus (RIP). This should be as small as you can get away with (and still hear) as the USB-Serial connection isn’t designed to supply audio power.
    • Header pins and sockets
    • Toggle switch
    • Small project box with perfboard
    • Jumper wires and solder

    Connections

    Emic 2             Serial
    ======             ======
     GND                GND
     5V                 Vcc
     SOUT               RXD
     SIN                TXD
    
    Emic 2             Speaker
    ======             =======
     SP-                -
     SP+  (via switch)  +

    Using it

    You’ll need some kind of serial terminal connection. In a pinch, you can use the serial monitor that is in the Arduino development environment. Either way, identify your serial port (/dev/ttyUSBN, COMN:, or /dev/tty-usbserialNNNN) and find a way to send 9600 baud, 8N1 characters to it. Hit Return, and you should be greeted by the Emic 2’s : prompt (or a ?, followed by :). Whether you get the prompt or not depends on whether local echo is set or not. Either way, try sending this line:

    SAll watched over by machines of loving grace.

    You should hear a voice say the title of Richard Brautigan’s lovely poem All Watched Over by Machines of Loving Grace (caution: video link contains nekkid hippies). You should get the : prompt back once the the speech has stopped. And that’s all there is to it: send an S, followed by up to 1023 bytes of (basically ASCII) text, followed by a newline, and it will be spoken. There’s more detail, of course, in the Emic 2 documentation and the Emic 2 Epson/Fonix DECTalk 501 User’s Guide for changing voices, etc. Yes, you can make it sing. No, you probably shouldn’t, though.

    Notes

    1. The Emic 2 has no serial flow control, so you have to wait until the module stops speaking (or you send it the stop command) before you can send more. The easiest way is to poll the serial port and see if there’s the : prompt waiting. Until you see the prompt, any text you send it may be lost.
    2. The Emic 2 is an embedded device: Unicode is a bit of a stretch. It’s supposed to accept ISO Latin-1 8-bit characters (handy for Spanish mode), though.
    3. Starting every speech line with S may make this board incompatible with assistive technology software such as the JAWS screen reader. I don’t think that this was the goal for Emic 2’s designers (Grand Idea Studio), however.
    4. The output from the audio jack has a fair bit of noise on it, and you need to set the volume quite low to avoid hiss and hum. Your experience may be different, as I may have accidentally made a ground loop. There is an  audible click at the start and end of the text, too.
    5. The Emic 2 uses DECTalk v5 commands and phonemes. Many DECTalk resources on the web (like these songs) use v4 or older, which are subtly incompatible. I haven’t found a reliable conversion protocol yet.
    6. The board also starts in Epson-style command mode, which uses slightly different commands from standard DECTalk.

    To end, here’s the Emic 2’s “Dennis” voice reading all of Brautigan’s All Watched Over By Machines of Loving Grace:


    (plain link: molg-dennis-140wpm-16khz.mp3)

    (even plainer link if you can’t decode MP2 files: molg-dennis-140wpm.mp3)

    (recorded and edited for length with Audacity. No hippies — nekkid, or otherwise — were harmed in the making of this recording.)

    Resources

    Parallax Inc have rearranged their website and deleted a lot of their archive documents. Here are PDF copies, retrieved from the Internet Archive:

  • #logofail

    I think that I shall never see / A directory lovely as a tree
    I think that I shall never see / A directory lovely as a tree

    This is from Arz Fine Foods. Their logo is a tree. On this receipt, they’ve got a tree alright, but no-one expected an MS-DOS directory tree. I think, as we sort of say in Scotland, that someone made an arz of this …

    (I’m not hating on Arz, btw. They have an epic selection of foods, including fresh Sukkari dates.)

  • Progress on Hershey font outlines

    Hershey Simplex says Hello

    I still have lots of work to do, but at least now I can make buffered outlines of the 1967-vintage Hershey character glyphs into Fontforge-friendly vectors.

    My goal is to release these as OTF fonts, rendered as it they’d been drawn by a constant line width pen plotter or film recorder, as was used in Dr Hershey’s day. Frank at Kiosk Fonts has loftier goals, and may actually release pretty fonts one day …

  • If death is not the end …

    Alan Rickman reads Robyn Hitchcock’s poem “If Death is not the End …¨

    Update: Robyn posted a better recording via twitter: audioBoom / Alan Rickman reads If Death Is Not The End

  • Fountain decoration excerpt

    Excerpt of mosaic pattern from 16th C CE fountain from Eqypt in the Aga Khan Museum
    Excerpt of mosaic pattern from 16th C CE fountain from Egypt in the Aga Khan Museum

    Fountain.
    Fountain — photo by Sameer Vasta from Flickr. CC BY-NC-SA, 2015.

    Clipped repeat:

    akm-fountain-edge-clip-p1

    (Not sure if I got the mosaic quite right. There were some damaged and replaced tiles that look a little out of place.)

  • maybe I *do* want the Small Web back …

    All I wanted to do was read a post on Winston Rowntree‘s Patreon page, yet something was blocked by uBlock Origin. In trying to find what it was, I found the page was pulling in 91 separate resources from 15 different sites:

    s3.amazonaws.com
    s3-us-west-1.amazonaws.com
    api.amplitude.com
    maxcdn.bootstrapcdn.com
    ajax.cdnjs.com
    cdnjs.cloudflare.com
    connect.facebook.net
    s-static.ak.facebook.com
    www.facebook.com
    www.google.com
    fonts.gstatic.com
    www.gstatic.com
    mandrillapp.com
    api.patreon.com
    www.patreon.com

    Do we really need all that crud? It’s a bunch of trackers and fonts and mystery swf and javascript. It might be all responsive web like, but the more fancy you do, and the more of other people’s “TRUST ME” code you pull in, something’s gonna go wrong.

  • When the Doge-Hens Invaded Old London

    [gfycat data_id=”ImpeccableWiltedAfricanfisheagle” data_autoplay=true]

    when the doge-hens invaded old london, take 2

    when the doge-hens invaded old london, take 2

  • [relevant to my interests]

    Richard gave me this book of logarithms, Dr Bruhns’ A new manual of logarithms to seven places of decimals. It had been lurking in his family library for decades. Just look at the layout!

    bruhns-1000logThis is packing a ridiculous amount of information on the page. It’s dropping as many leading digits as it can: instead of showing log10 1001 as 3.0003431, it assumes you know the power of ten, leaves out leading zeroes, and shows it as ‘3431’. Another trick it uses to save space is printing logs of numbers less than one (which would be negative) as 10 + that logarithm. So log10 (1/𝜋) ≅ log10 (0.3183099) ≅ -0.4971499 would be represented by 9.5028501. You get the right significand, just the result is off by 10 orders of magnitude (since 10𝑥+10 = 10𝑥×1010). I guess keeping track of the powers of ten was just considered mundane housekeeping.

    Richard wondered why the book had  Printed in Germany overstamped with Printed in USA:

    imprintGiven the date, it’s likely that it was printed from plates, rather than a photographic offset litho process. These plates were expensive to modify, so for a student reprint of a well-established textbook, it would have been cheaper to hand-stamp over the front page.

    Because accuracy of reproduction is important for log tables, the many editions of Dr Bruhns’ tables were proud to be copied from printing plates so no new errors were introduced:

    16stereotypeStereotyping was an old way of copying printing plates, first with papier maché, and later by electroplating/electrotyping. Because it was a cheap way of getting articles and pictures reproduced in newspapers, stereotype came to have its modern meaning. The word cliché also comes from the same process, as it was an onomatopoetic French word for the sound of molten casting metal hitting the papier maché mould.

    There are many copies of this book in the Internet archive:

    Anyone want to check ’em for errors? There used to be a Prussian gold piece available if you found an error, but Prussia’s not returning our calls these days.

    There’s one last surprise (or potential horror) in the book: a table of local definitions of the foot measure before metrication (and, since Dr Bruhns gotta bruhn, the logs of each number):

    foot_lengthsNone of these are equal to the US customary foot, which is 0.3048 m precisely. The British and Russian foot are close, at 0.3047945 m. The US Survey foot isn’t represented either. Go on yourself, Mecklenburg and the Netherlands, with your plucky 11 inches to the foot (wat?). And I couldn’t leave you without a helpful instance of an obsolete measure symbol, the line, 1‴ (that’s U+2034) being 1/12″ or  2.116667 mm. Why code point space is being wasted on that and there isn’t a symbol for the wonderful HP plotter unit (1/40 mm, or 0.000025 m, which also happens to be the round[ish] 1/1016″) I will never know …

  • Screen pattern, Aga Khan Museum

    Rendering of Aga Khan Museum screen

    I’m rather pleased with this, as it’s the first pattern I’ve worked out from a real example, a screen in the Aga Khan Museum:

    Screen detail, Aga Khan Museum

    Here’s the pattern as a full page PDF from Inkscape: akm-screen-tiled-strapwork.pdf. The pattern’s not much more than an 8-pointed star with a smaller 8-pointed star inside it, rotated 22½°. But it’s still kinda neat.

  • Tidied-up edition of Bourgoin’s Arabic Geometrical Design sourcebook on archive.org

    b-245Just uploaded Les éléments de l’art arabe: Le trait des entrelacs by Jules Bourgoin (aka Arabic Geometrical Pattern & Design) to archive.org. This is much cleaned up from the Google Books scan, which had many duplicate pages and no metadata.

    This is much better than the (now returned) Kindle edition …

  • Arabic Geometrical Pattern and Design (Dover Pictorial Archive) [Kindle Edition] review

    Product link: Arabic Geometrical Pattern and Design (Dover Pictorial Archive) eBook: J. Bourgoin: Amazon.ca: Kindle Store

    Summary: Buy the paper edition; this book is illegible on Kindle.

    The original book features very finely engraved line drawings, with construction lines showing how the patterns are built up. The Kindle edition has only low-resolution scans, so the lines break down into noise and are very hard to follow. You can’t zoom in, either. The figure numbering is entirely absent from the Kindle edition, so you can’t use this book for reference. Some of the page scans are squint and partially cut off, too.

    Very disappointed in this purchase. You’re better off with the paper than trying to squint at these smudgy pixels.

    kindlefail

    (unedited text as simultaneously posted to Amazon)

  • Beautiful Scanner Artefacts

    Beautiful Scanner Artefacts
    Beautiful Scanner Artefacts

    Beautiful Scanner Artefacts — detail
    Beautiful Scanner Artefacts — detail

    completely unrelated

  • be

    be

    try #2 at calligraphic tessellation. Not sure about the colours, frankly.

  • Zeta: A small matter of soldering …

    zeta-20150710That’s all but one of the capacitors in. The big chip sockets are soothing to solder.

    Apart from the bits I got in a frantic dash between Supremetronics and Creatron on College, the rest is coming from Mouser. Taking the advice of someone who should know better, I’ve ordered a made-in-DDR UA857D MME chip, since Z80 CTCs are back ordered. Sometimes, it’s good to have chips older than your colleagues …

  • Gurney-7B

    f7b-colour
    A minimally-useful tracing of the standard numerals embossed
    on credit cards. The geometry should be checked against ISO/IEC 7811—1:2002 should these data be used for official purposes. No claims of compliance are made here.

    As there are only 10 digits in this font, encoding it as a digital
    form (TTF, OTF, or otherwise) is left as an exercise for the reader.

    Files

    1. f7b-colour.svg – an A4 sheet with all 10 digits presented as a
      poster. Each digit is approximately 1284% standard size.
    2. eps folder – PostScript source files. Each outline is approximately 5695% standard size, which is appropriate for a glyph in FontForge.

    Workflow

    The rough character outlines were created as short scripts in Python,
    using the Shapely library to handle geometry. A confusing array of support tools (including, but not limited to: QCAD, wellknown
    and OGR added the arcs and fillets. The more complex arc intersections were calculated using GeoGebra. Finally, the
    outlines — at this point, mostly in the form of PostScript Level 2
    arct commands — were hand-keyed into the EPS files included here.

    Notes on the data

    1. There are some typos in the published coordinates, particularly in
      the “1” glyph. Whether these are genuine errors or
      trap streets‘, is hard to tell. The glyphs presented here are intended to be visually accurate
    2. The published coordinates of the “8” glyph indicate that it is
      only 97.6% as tall as the other digits. This has been carried
      through here.

    Also on github: scruss/Gurney-7B

  • when fillets go bad

    f8

    accidentally mis-sizing fillets on a character lead to this …