Poems, scripts, and bits

  • Open Source OCR on MacOS

    MacOS Catalina (10.15) broke many things on my computer, but the one that has wasted the most of my time so far while I try to make old PDFs available to vision-impaired students is the fact that Apple broke Adobe Acrobat Pro and the nasty Creative Cloud license manager that goes with it. I lost most of a day trying to get all that closed source nastiness working again before deciding to solve the problem the way I always should have, with open source software. This little script uses ghostscript and tesseract to turn an image pdf into an OCRd version of that pdf.

  • Our souls refracted through a mesh

    Typishly has published my latest poem: Our souls refracted through a mesh. I’m thrilled to have it published and by the beautiful job they did with the presentation.

  • A child demonstrates the McGurk effect

    A few years ago I made this video of my daughter demonstrating the McGurk Effect (McGurk and MacDonald 197). This effect is a demonstration of the importance of visual information during perception. Or, perhaps, it is best understood as a demonstration of the importance of listener expectations and how they can be established in real time by stunningly subtle cues.

  • Generate publishable spectrograms with Praat

    Don’t take a screen shot of that spectrogram! Use this script to create a publication-quality spectrogram from a selected wav file. Suitable for adding as an object window button in Praat.

  • Preprocess R data with python

    This script can be easily modified to code, recode, or modify csv files prior to loading in R.

  • match_tg_times.praat

    This script fixes a weird problem when concatenating TextGrids and sound objects. Often a TextGrid and its associated sound object will differ by anywhere from fraction of a millisecond to a few milliseconds. This is not a problem until you try to concatenate the TextGrids and still align them with their concatenated sound objects when suddenly intervals and points later in the chain will begin to be increasingly misaligned.

  • New Order's Blue Monday synthesized in Praat (sorta)

    Let’s say that you, like me, love New Order’s song Blue Monday. For some reason, let’s imagine that you have a computer and Praat but no access to your music collection, youtube, spotify, or, um, any other part of the internet but somehow still have access to this blog. Okay, no, that’s silly. Here is a Praat script that will sort of play part of this great song.

  • repeatedFFT.praat

    This Praat editor script will draw a series of 6 FFT spectra starting from a cursor in the edit window. Use Add to dynamic menu… from the File menu to add to, say, the Spectrum menu. Useful for nasalization, diphthongs, and a thousand other purposes.

  • Arbitrary sinewave diagrams in LaTeX

    I needed to be able to generate a number of figures for a phonetics homework assignment showing an arbitrary number of component sine waves and the complex wave you get if you sum them.

  • Useless

    another process has my pipe so I can’t read and I can’t write now what am I for on this long, lonely night if I can’t read and I can’t write?

  • What's 1000 words worth?

    Let’s randomly select 1,000 lines from the dictionary and appends the number of bytes in that sample to a file.

  • DIY PVC aquarium canister filter

    I’m planning to build a new filter for my aquarium out of 3” PVC pipe. The goal is to make a filter that will operate at <=35dBA for as little money as possible and can be easily maintained.

  • Forced-alignment and segmentation of airflow data

    An airflow system like the SQLab EVA2 used in our lab creates separate wav-like files for audio, oral airflow, and nasal airflow. Usually we use a program like wavesurfer or Praat to view these files and extract our measurements.

  • Tuna safe tuna salad

    Dolphins are great and all, but have you ever seen a living, swimming tuna? They’re bloody amazing.

  • Easy, readable css interlinear glosses

    CSS should make the creation and sharing of standard interlinear glosses/translations easy; so far it does not. In general, either the text entry or the output (or both!) is absolutely unacceptable. For example:

  • 2^15

    In case anyone is wondering, the maximum number of files that MacOS X (v10.5.6) will allow you to drag and drop at once is 32,768.

  • Vegetarian french onion soup

    • 3 T olive oil
    • 4 vidalia onions sliced thin
    • 1 t kosher salt
    • 1 T dijon mustard
    • 1/4 t thyme
    • 6 cups vegetable stock
    • 2 T low sodium soy sauce
    • 1.5 t sherry vinegar
    • fresh pepper
    • croutons (homemade, of course)
    • grated swiss and parmesan cheese
  • immoderate improvement

    I needed to calculate the number of consonant bigrams in English monomorphemic words from CELEX. The hash ‘bigrams’ contains the 30^2 possible consonant clusters given the DISC transcriptions, the transcription has already had stress and syllabification stripped from it. The first version of the code did it this way:

  • things I believe

    This is not intended to be a complete list, but I need to put these somewhere that I’m unlikely to lose them. Here are some things I believe, have no evidence for, but would like to work toward in my research:

subscribe via RSS