{
 "folder": "paeleo/handmade/47-sound-to-action",
 "note": "No footage, no photographs, no Quick, Draw! drawings and no web images are used.",
 "assets": [
  {
   "id": "voice/call1",
   "what": "spoken line \"Come here!\" (call)",
   "file": "build/cache/voice/call1.wav (regenerated by build/voice.py)",
   "source": "CMU Flite 2.2 speech synthesizer (libflite, voice cmu_us_slt), installed system library, called via ctypes",
   "source_url": "http://www.festvox.org/flite/",
   "rights": "Flite (CMU / Edinburgh CSTR) is distributed under a permissive free licence: 'Permission is hereby granted, free of charge, to use and distribute this software ... without restriction' (read in /usr/share/doc/libflite1/copyright on this machine). The audio is our own synthesis output; no recorded human voice is used.",
   "operation": "synthesized with int_f0_target_mean=205, duration_stretch=0.95; phoneme timing read from the synthesizer's Segment relation; in build/mix.py: calls saturated (tanh) and high-passed, soft lines low-passed at 2.6 kHz, breath noise shaped by their envelope, -14 dB"
  },
  {
   "id": "voice/call2",
   "what": "spoken line \"Come on. Come here!\" (call)",
   "file": "build/cache/voice/call2.wav (regenerated by build/voice.py)",
   "source": "CMU Flite 2.2 speech synthesizer (libflite, voice cmu_us_slt), installed system library, called via ctypes",
   "source_url": "http://www.festvox.org/flite/",
   "rights": "Flite (CMU / Edinburgh CSTR) is distributed under a permissive free licence: 'Permission is hereby granted, free of charge, to use and distribute this software ... without restriction' (read in /usr/share/doc/libflite1/copyright on this machine). The audio is our own synthesis output; no recorded human voice is used.",
   "operation": "synthesized with int_f0_target_mean=210, duration_stretch=0.92; phoneme timing read from the synthesizer's Segment relation; in build/mix.py: calls saturated (tanh) and high-passed, soft lines low-passed at 2.6 kHz, breath noise shaped by their envelope, -14 dB"
  },
  {
   "id": "voice/call3",
   "what": "spoken line \"Come here!\" (call)",
   "file": "build/cache/voice/call3.wav (regenerated by build/voice.py)",
   "source": "CMU Flite 2.2 speech synthesizer (libflite, voice cmu_us_slt), installed system library, called via ctypes",
   "source_url": "http://www.festvox.org/flite/",
   "rights": "Flite (CMU / Edinburgh CSTR) is distributed under a permissive free licence: 'Permission is hereby granted, free of charge, to use and distribute this software ... without restriction' (read in /usr/share/doc/libflite1/copyright on this machine). The audio is our own synthesis output; no recorded human voice is used.",
   "operation": "synthesized with int_f0_target_mean=228, duration_stretch=0.9; phoneme timing read from the synthesizer's Segment relation; in build/mix.py: calls saturated (tanh) and high-passed, soft lines low-passed at 2.6 kHz, breath noise shaped by their envelope, -14 dB"
  },
  {
   "id": "voice/call4",
   "what": "spoken line \"Come on!\" (call)",
   "file": "build/cache/voice/call4.wav (regenerated by build/voice.py)",
   "source": "CMU Flite 2.2 speech synthesizer (libflite, voice cmu_us_slt), installed system library, called via ctypes",
   "source_url": "http://www.festvox.org/flite/",
   "rights": "Flite (CMU / Edinburgh CSTR) is distributed under a permissive free licence: 'Permission is hereby granted, free of charge, to use and distribute this software ... without restriction' (read in /usr/share/doc/libflite1/copyright on this machine). The audio is our own synthesis output; no recorded human voice is used.",
   "operation": "synthesized with int_f0_target_mean=222, duration_stretch=0.9; phoneme timing read from the synthesizer's Segment relation; in build/mix.py: calls saturated (tanh) and high-passed, soft lines low-passed at 2.6 kHz, breath noise shaped by their envelope, -14 dB"
  },
  {
   "id": "voice/soft1",
   "what": "spoken line \"It's all right.\" (soft)",
   "file": "build/cache/voice/soft1.wav (regenerated by build/voice.py)",
   "source": "CMU Flite 2.2 speech synthesizer (libflite, voice cmu_us_slt), installed system library, called via ctypes",
   "source_url": "http://www.festvox.org/flite/",
   "rights": "Flite (CMU / Edinburgh CSTR) is distributed under a permissive free licence: 'Permission is hereby granted, free of charge, to use and distribute this software ... without restriction' (read in /usr/share/doc/libflite1/copyright on this machine). The audio is our own synthesis output; no recorded human voice is used.",
   "operation": "synthesized with int_f0_target_mean=150, duration_stretch=1.3; phoneme timing read from the synthesizer's Segment relation; in build/mix.py: calls saturated (tanh) and high-passed, soft lines low-passed at 2.6 kHz, breath noise shaped by their envelope, -14 dB"
  },
  {
   "id": "voice/soft2",
   "what": "spoken line \"It's okay.\" (soft)",
   "file": "build/cache/voice/soft2.wav (regenerated by build/voice.py)",
   "source": "CMU Flite 2.2 speech synthesizer (libflite, voice cmu_us_slt), installed system library, called via ctypes",
   "source_url": "http://www.festvox.org/flite/",
   "rights": "Flite (CMU / Edinburgh CSTR) is distributed under a permissive free licence: 'Permission is hereby granted, free of charge, to use and distribute this software ... without restriction' (read in /usr/share/doc/libflite1/copyright on this machine). The audio is our own synthesis output; no recorded human voice is used.",
   "operation": "synthesized with int_f0_target_mean=146, duration_stretch=1.35; phoneme timing read from the synthesizer's Segment relation; in build/mix.py: calls saturated (tanh) and high-passed, soft lines low-passed at 2.6 kHz, breath noise shaped by their envelope, -14 dB"
  },
  {
   "id": "voice/soft3",
   "what": "spoken line \"Come in.\" (soft)",
   "file": "build/cache/voice/soft3.wav (regenerated by build/voice.py)",
   "source": "CMU Flite 2.2 speech synthesizer (libflite, voice cmu_us_slt), installed system library, called via ctypes",
   "source_url": "http://www.festvox.org/flite/",
   "rights": "Flite (CMU / Edinburgh CSTR) is distributed under a permissive free licence: 'Permission is hereby granted, free of charge, to use and distribute this software ... without restriction' (read in /usr/share/doc/libflite1/copyright on this machine). The audio is our own synthesis output; no recorded human voice is used.",
   "operation": "synthesized with int_f0_target_mean=148, duration_stretch=1.3; phoneme timing read from the synthesizer's Segment relation; in build/mix.py: calls saturated (tanh) and high-passed, soft lines low-passed at 2.6 kHz, breath noise shaped by their envelope, -14 dB"
  },
  {
   "id": "dog/sprite-set",
   "what": "the dog: 172 distinct drawings exposed in the film (proof/dog_sprite_set.png, proof/dog_sprite_set.json)",
   "file": "build/dog.js",
   "source": "drawn in code for this film: ink-outlined spheres and tapered capsules placed by a 20-point pose guide, colour masks for the saddle, bib and legs",
   "rights": "own work",
   "operation": "drawn; each drawing is a discrete sprite key; animation is selection of drawings on the exposure sheet (build/xsheet.json), no interpolation between drawings at render time"
  },
  {
   "id": "reference/archive-dog",
   "what": "shape and markings reference only (a shepherd-type dog with a dark saddle); no pixels, masks or rig keys used",
   "file": "paeleo/handmade/kit/archive-dog/frames/f000..f049.jpg (8 frames looked at)",
   "source": "Amateur Film New Jersey C, Home Movies collection, Internet Archive",
   "source_url": "https://archive.org/details/NewJerseyC",
   "rights": "public domain (per kit source.json)",
   "operation": "looked at; not copied"
  },
  {
   "id": "person",
   "what": "the person: profile figure and ten profile visemes (X, MBP, AA, OO, EE, R, FV, L, TS, KG)",
   "file": "build/person.js",
   "source": "drawn in code",
   "rights": "own work",
   "operation": "drawn; viseme chosen per frame from the synthesizer phones with a 40 ms lead"
  },
  {
   "id": "stage",
   "what": "dusk sky, tree line, moon, clapboard house, window, doorway, door panel, lamp-lit room, porch deck, sill, steps, post, door light",
   "file": "build/scene.js",
   "source": "drawn in code",
   "rights": "own work",
   "operation": "drawn"
  },
  {
   "id": "visible-sound",
   "what": "arcs at the mouth and at the dog ear (from the voice line RMS envelope), the spoken words set in type as they are spoken, ticks for paws, puffs for sniffs, scratch lines for the hinge",
   "file": "build/scene.js",
   "source": "computed from the audio events",
   "rights": "own work",
   "operation": "computed"
  },
  {
   "id": "sound/room",
   "what": "dusk room tone: filtered noise air and three synthesized crickets",
   "file": "build/mix.py",
   "source": "synthesized",
   "rights": "own work",
   "operation": "synthesized"
  },
  {
   "id": "sound/foley",
   "what": "person footsteps, sitting, palm on door, cloth; hinge creak (stick-slip impulse train through resonant filters); dog nails on boards, body thumps, sniffs, sighs, tail on boards",
   "file": "build/mix.py, build/foley.json",
   "source": "synthesized",
   "rights": "own work",
   "operation": "synthesized; dog footfalls placed where a leg of the exposed walk drawing goes from swing to stance"
  },
  {
   "id": "fonts",
   "what": "Big Shoulders Display 800, JetBrains Mono 400, Literata 400 and italic",
   "file": "build/fonts/*.woff2 (copied from tools/paeleo/fonts)",
   "source": "Google Fonts",
   "rights": "SIL Open Font License 1.1",
   "operation": "used for the cards and the spoken words"
  },
  {
   "id": "score",
   "what": "the PAELEO threshold score (dog x per frame, choice times)",
   "file": "paeleo/handmade/score/threshold-score.json",
   "source": "paeleo/threshold/machine.js via tools/paeleo/build_score.js",
   "rights": "Bolas project",
   "operation": "read: position and choices; all timing of answers is derived from the sound events"
  }
 ]
}