~/talk

A C# Nokia Composer Emulator From First Principles

Talkat NDC Melbourne 2025 · 2025-04-29..05-01· [dotnet, creative-coding]
links:none on file
slides:none on file

A working Nokia 3310 composer emulator implemented in C# .NET Core parses the ringtone text transfer language with a regex parser (avoiding parser combinators), compiles notes to frequencies using 12‑tone equal temperament with A1 = 220 Hz, and outputs audio via the browser Web Audio API or as downloadable 44.1 kHz 16‑bit PCM WAV files. The project reproduces classic monophonic ringtones, exposes click artifacts in raw WAV transitions (no smoothing), and is available on GitHub.

AI-written summary · about

  1. 0:00Nokia 3310 emulator intro
  2. 1:30Why build the emulator
  3. 2:52Emulator demo
  4. 4:00Sound generation in browser
  5. 6:10Custom ringtone from scratch
  6. 8:01Understanding Ringtone Text Transfer Language syntax
  7. 10:06Parsing ringtone text
  8. 13:57Tokens from parsed strings
  9. 15:00Sound physics and neurology
  10. 17:47Pure tone waveforms
  11. 19:13Note durations from tempo
  12. 22:25Music theory in 3 minutes for the emulator
  13. 26:19Pythagoras and scales
  14. 27:2112-tone equal temperament
  15. 29:50Calculating note frequencies
  16. 32:19Downloadable audio files
  17. 33:28Digital audio encoding
  18. 35:19WAV file packing
  19. 39:13Emulator design principles
  20. 43:53Future improvements
  21. 44:58Answering audience questions
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.