corpus.blog
Most cited
Talked about
Blogs
41554 blogs · [ { "id": "01a0874b-c089-71af-9256-bf0d0b4c4a6c", "title": "Getting MIDI sync working", "url": "https://blog.jacobvosmaer.nl/0074-yocto-sequencer-midi/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b539d412d", "title": "Writing my own sequencer for the Yocto drum machine", "url": "https://blog.jacobvosmaer.nl/0073-yocto-sequencer/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b54668fb4", "title": "Invention 2 by J. S. Bach", "url": "https://blog.jacobvosmaer.nl/0072-bach-bwv-773/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b555b1d86", "title": "Improving MSQ-700 clock stability", "url": "https://blog.jacobvosmaer.nl/0071-msq-700-clock/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b564daefd", "title": "Interviews with Francis Bacon", "url": "https://blog.jacobvosmaer.nl/0070-interviews-francis-bacon/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b56d851d8", "title": "Casio FZ-1 interpolation and aliasing", "url": "https://blog.jacobvosmaer.nl/0069-fz-1-aliasing/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b572a098c", "title": "Lessons from Delphium and Ptolemy", "url": "https://blog.jacobvosmaer.nl/0067-delphium-ptolemy/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b57391dc5", "title": "Lessons from Ageispolis", "url": "https://blog.jacobvosmaer.nl/0066-aegispolis/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b5838b6dc", "title": "Solving two RX5 mysteries", "url": "https://blog.jacobvosmaer.nl/0065-rx5-mysteries/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b5936b6eb", "title": "Making my own software for the RX5USB", "url": "https://blog.jacobvosmaer.nl/0064-rx5usb-software/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b5a308439", "title": "A MIDI velocity mapping gadget", "url": "https://blog.jacobvosmaer.nl/0063-midi-velocity-mapper/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b5b2416d9", "title": "Simulating the Casio VZ-1 in Pure Data", "url": "https://blog.jacobvosmaer.nl/0062-vz-1-puredata/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b5bbfaa4d", "title": "Looking back at Building Blocks", "url": "https://blog.jacobvosmaer.nl/0061-building-blocks-looking-back/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b5c16455f", "title": "Samplers and audio editing", "url": "https://blog.jacobvosmaer.nl/0060-sampler-editing/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b5c503325", "title": "Portfolio websites", "url": "https://blog.jacobvosmaer.nl/0059-portfolios/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b5d00fedf", "title": "AdventureKid Waveforms for the Casio FZ-1", "url": "https://blog.jacobvosmaer.nl/0058-akwf-fz-1/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b5d07093d", "title": "Casio FZ-1 disk images", "url": "https://blog.jacobvosmaer.nl/0057-fz-1-images/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b5d325a90", "title": "Audible Genius Building Blocks", "url": "https://blog.jacobvosmaer.nl/0056-building-blocks/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b5d8d0d37", "title": "The DWVW audio compression format", "url": "https://blog.jacobvosmaer.nl/0055-dwvw/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b5dbeb91f", "title": "Video notes: VZ-1 \"phase\" mode is wavefolding", "url": "https://blog.jacobvosmaer.nl/0054-video-vz-1-phase/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b5e589d9b", "title": "Forth progress report", "url": "https://blog.jacobvosmaer.nl/0053-forth-progress/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b5f49e61c", "title": "The TX16W is alright", "url": "https://blog.jacobvosmaer.nl/0052-tx16w-notes/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b6040536a", "title": "Video content: May 2025", "url": "https://blog.jacobvosmaer.nl/0051-video-content/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b6042a4da", "title": "Yamaha FM pitch ratios", "url": "https://blog.jacobvosmaer.nl/0050-fm-pitch-ratios/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b61409c84", "title": "Revisiting Forth", "url": "https://blog.jacobvosmaer.nl/0049-revisiting-forth/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b6181a098", "title": "Creating video content", "url": "https://blog.jacobvosmaer.nl/0048-video-content/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b627e2859", "title": "Why I write blog posts", "url": "https://blog.jacobvosmaer.nl/0047-why-blog/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b62b24c39", "title": "How this blog is built (April 2025)", "url": "https://blog.jacobvosmaer.nl/0046-site-generator/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b6357a6bc", "title": "Unintended MKS-80 power supply adventure", "url": "https://blog.jacobvosmaer.nl/0045-mks-80-psu/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b63b36c7e", "title": "Music notes: Using the TX16W AKWF samples, and more thoughts about presets", "url": "https://blog.jacobvosmaer.nl/0044-music-notes/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b6453bfde", "title": "Hacking the Nava drum machine to work with d-mux", "url": "https://blog.jacobvosmaer.nl/0043-nava-dmux/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b64ae2522", "title": "Converting the AdventureKid waveforms to Yamaha TX16W format", "url": "https://blog.jacobvosmaer.nl/0042-akwf-tx16w/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b6567652c", "title": "Music process (February 2025)", "url": "https://blog.jacobvosmaer.nl/0041-music-process/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b663af266", "title": "Syntorial: done", "url": "https://blog.jacobvosmaer.nl/0040-syntorial-done/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b671f33fe", "title": "ADS sample lengths", "url": "https://blog.jacobvosmaer.nl/0039-ads-lengths/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b6733b542", "title": "Adding d-mux support to the Yocto", "url": "https://blog.jacobvosmaer.nl/0038-yocto-dmux/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b6759261d", "title": "The RE-303 and more Syntorial praise", "url": "https://blog.jacobvosmaer.nl/0037-303-syntorial/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b68100f2d", "title": "My favourite computer ergonomics hack", "url": "https://blog.jacobvosmaer.nl/0036-beeper/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b690a2555", "title": "Revisiting the ADS disk images, and a review of Syntorial", "url": "https://blog.jacobvosmaer.nl/0035-music-updates/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b69dc1aa5", "title": "Fixing my Nord Rack 2", "url": "https://blog.jacobvosmaer.nl/0034-fix-nord-rack-2/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b6a3ea5c6", "title": "Synth Notes: DX11, DX7II and TX802", "url": "https://blog.jacobvosmaer.nl/0033-music-notes/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b6a960406", "title": "Dynacord ADS Disk Images", "url": "https://blog.jacobvosmaer.nl/0032-adsimg/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b6b5afdaa", "title": "Organizing Solutions for People with ADHD", "url": "https://blog.jacobvosmaer.nl/0031-organizing-solutions/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b6c3cde1f", "title": "Music and Synth notes: MKS-50, K2000R, DaisyX7", "url": "https://blog.jacobvosmaer.nl/0030-music-notes/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b6c9cb883", "title": "Casio VZ-1 algorithms", "url": "https://blog.jacobvosmaer.nl/0029-vz-1-algorithms/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b6d330c30", "title": "The mysterious Casio VZ-1", "url": "https://blog.jacobvosmaer.nl/0028-mysterious-vz-1/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b6d6f0e28", "title": "Synthesizer Notes: R-8M, TX81Z, VZ-1", "url": "https://blog.jacobvosmaer.nl/0027-synth-notes/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b6d9cf3c3", "title": "Updates on my creative work", "url": "https://blog.jacobvosmaer.nl/0026-creativity-updates/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b6dd332fd", "title": "How I make music", "url": "https://blog.jacobvosmaer.nl/0025-music-how/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b6e7b46ef", "title": "Books about creativity", "url": "https://blog.jacobvosmaer.nl/0024-creativity-books/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b6eeda96f", "title": "My time at the Recurse Center", "url": "https://blog.jacobvosmaer.nl/0023-recurse-reflection/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b6f52e07a", "title": "Ray Tracing in One Weekend in C", "url": "https://blog.jacobvosmaer.nl/0022-ray-tracing-weekend/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b700c21a7", "title": "Recurse Center project overview", "url": "https://blog.jacobvosmaer.nl/0021-recurse-projects-part-3/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b705aafbb", "title": "Taking on the One Billion Row Challenge in C", "url": "https://blog.jacobvosmaer.nl/0020-1-billion-row-challenge/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b713a5050", "title": "Recurse Center projects, part 2", "url": "https://blog.jacobvosmaer.nl/0019-recurse-projects-part-2/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b71ed8c15", "title": "A small MIDI parser", "url": "https://blog.jacobvosmaer.nl/0018-midi-parser/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b723ada9c", "title": "Adding a table of contents to a PDF", "url": "https://blog.jacobvosmaer.nl/0017-pdf-table-of-contents/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b72d8fb26", "title": "Adding a ROM switcher to the HR-16", "url": "https://blog.jacobvosmaer.nl/0016-hr-16-rom-switcher/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b7378682b", "title": "Hacking the CrowBX envelope generators", "url": "https://blog.jacobvosmaer.nl/0015-crowbx-envelope-generators/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b740daa6e", "title": "The Yocto drum machine", "url": "https://blog.jacobvosmaer.nl/0014-yocto/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b74bc6b66", "title": "sineko", "url": "https://blog.jacobvosmaer.nl/0013-sineko/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b751505f8", "title": "Recurse Center projects", "url": "https://blog.jacobvosmaer.nl/0012-recurse-projects/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b75532f4a", "title": "The CrowBX", "url": "https://blog.jacobvosmaer.nl/0011-crowbx/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b75fc7803", "title": "Adding 31-tet tuning to the DX7 and the CrowBX", "url": "https://blog.jacobvosmaer.nl/0010-microtuning-dx7-crowbx/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b76eab320", "title": "Development setup, February 2022", "url": "https://blog.jacobvosmaer.nl/0009-development-feb-2022/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b7783ecc6", "title": "Booting Acme on macOS", "url": "https://blog.jacobvosmaer.nl/0008-booting-acme/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b77a77aad", "title": "Using xhyve for development on macOS", "url": "https://blog.jacobvosmaer.nl/0007-xhyve/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b788007b9", "title": "Reflections on using Acme", "url": "https://blog.jacobvosmaer.nl/0006-acme/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b79256ff0", "title": "Foreshadowings of the Go programming langauge", "url": "https://blog.jacobvosmaer.nl/0005-go-foreshadowings/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b7a1369c2", "title": "Interacting with the Ruby scheduler", "url": "https://blog.jacobvosmaer.nl/0004-ruby-scheduler-interaction/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b7a4a5edd", "title": "Meta: yet another static website", "url": "https://blog.jacobvosmaer.nl/0003-static-website/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b7aa03063", "title": "Thread.pass in Ruby", "url": "https://blog.jacobvosmaer.nl/0002-ruby-thread-pass/", "published_at": null }, { "id": "01a0874b-c08b-7249-be15-b88b7b8a72f3", "title": "Ruby mutexes", "url": "https://blog.jacobvosmaer.nl/0001-ruby-mutex/", "published_at": null } ] posts
Claim your blog
Back to blog.jacobvosmaer.nl
Blog · corpus.blog/blogs/blog.jacobvosmaer.nl/posts
blog.jacobvosmaer.nl
blog.jacobvosmaer.nl
Undated
Getting MIDI sync working
original ↗
—
Writing my own sequencer for the Yocto drum machine
original ↗
—
Invention 2 by J. S. Bach
original ↗
—
Improving MSQ-700 clock stability
original ↗
—
Interviews with Francis Bacon
original ↗
—
Casio FZ-1 interpolation and aliasing
original ↗
—
Lessons from Delphium and Ptolemy
original ↗
—
Lessons from Ageispolis
original ↗
—
Solving two RX5 mysteries
original ↗
—
Making my own software for the RX5USB
original ↗
—
A MIDI velocity mapping gadget
original ↗
—
Simulating the Casio VZ-1 in Pure Data
original ↗
—
Looking back at Building Blocks
original ↗
—
Samplers and audio editing
original ↗
—
Portfolio websites
original ↗
—
AdventureKid Waveforms for the Casio FZ-1
original ↗
—
Casio FZ-1 disk images
original ↗
—
Audible Genius Building Blocks
original ↗
—
The DWVW audio compression format
original ↗
—
Video notes: VZ-1 "phase" mode is wavefolding
original ↗
—
Forth progress report
original ↗
—
The TX16W is alright
original ↗
—
Video content: May 2025
original ↗
—
Yamaha FM pitch ratios
original ↗
—
Revisiting Forth
original ↗
—
Creating video content
original ↗
—
Why I write blog posts
original ↗
—
How this blog is built (April 2025)
original ↗
—
Unintended MKS-80 power supply adventure
original ↗
—
Music notes: Using the TX16W AKWF samples, and more thoughts about presets
original ↗
—
Hacking the Nava drum machine to work with d-mux
original ↗
—
Converting the AdventureKid waveforms to Yamaha TX16W format
original ↗
—
Music process (February 2025)
original ↗
—
Syntorial: done
original ↗
—
ADS sample lengths
original ↗
—
Adding d-mux support to the Yocto
original ↗
—
The RE-303 and more Syntorial praise
original ↗
—
My favourite computer ergonomics hack
original ↗
—
Revisiting the ADS disk images, and a review of Syntorial
original ↗
—
Fixing my Nord Rack 2
original ↗
—
Synth Notes: DX11, DX7II and TX802
original ↗
—
Dynacord ADS Disk Images
original ↗
—
Organizing Solutions for People with ADHD
original ↗
—
Music and Synth notes: MKS-50, K2000R, DaisyX7
original ↗
—
Casio VZ-1 algorithms
original ↗
—
The mysterious Casio VZ-1
original ↗
—
Synthesizer Notes: R-8M, TX81Z, VZ-1
original ↗
—
Updates on my creative work
original ↗
—
How I make music
original ↗
—
Books about creativity
original ↗
—
My time at the Recurse Center
original ↗
—
Ray Tracing in One Weekend in C
original ↗
—
Recurse Center project overview
original ↗
—
Taking on the One Billion Row Challenge in C
original ↗
—
Recurse Center projects, part 2
original ↗
—
A small MIDI parser
original ↗
—
Adding a table of contents to a PDF
original ↗
—
Adding a ROM switcher to the HR-16
original ↗
—
Hacking the CrowBX envelope generators
original ↗
—
The Yocto drum machine
original ↗
—
sineko
original ↗
—
Recurse Center projects
original ↗
—
The CrowBX
original ↗
—
Adding 31-tet tuning to the DX7 and the CrowBX
original ↗
—
Development setup, February 2022
original ↗
—
Booting Acme on macOS
original ↗
—
Using xhyve for development on macOS
original ↗
—
Reflections on using Acme
original ↗
—
Foreshadowings of the Go programming langauge
original ↗
—
Interacting with the Ruby scheduler
original ↗
—
Meta: yet another static website
original ↗
—
Thread.pass in Ruby
original ↗
—
Ruby mutexes
original ↗
—