Dark Pulsar
1,297 pulsars, read by eye and by sound.
Every dot is a pulsar: a spinning neutron star whose radio beam sweeps past the Earth once per rotation. The views place them by spin period and its derivative (the P–Ṗ diagram), by position on the sky, and by a map of their measured properties (UMAP). Cyan dots are millisecond pulsars; dot size follows radio flux. The panel below the plot draws the pulsar's pulse profile: the averaged shape of its emission over one rotation, as it was measured.
The sound starts at your first click or key press. Click or drag on the plot to hear the pulsar under the pointer. At L0 you hear a grain cloud cut from that pulsar's own profile; its physics shapes the cloud: the spin period sets the grain rate, the spin-down energy the grain pitch, the age the grain length, the magnetic field the resonance, the dispersion measure the brightness, and the radio flux the level. Mark a pulsar as a parent and press L0 / L1 to hear it at L1: its real rotation, with the profile shaping noise at the true spin rate, so a slow pulsar ticks and a fast one hums. Drag across the profile panel to move the spotlight over one rotation. Press L for the perceptual legend: hold a chip to hear one feature pushed lower or higher, one layer alone, or the population mean. Headphones help.
Credits
- Built with DarkSonification. Designed by Miguel Angel Crozzoli; implemented with Claude AI agents.
- Sound designed in SuperCollider, following Helmuth, M. (2024) and the Jodrell Bank Centre for Astrophysics.
Data
- ATNF Pulsar Catalogue. Manchester, R. N., Hobbs, G. B., Teoh, A. & Hobbs, M. (2005). The Australia Telescope National Facility Pulsar Catalogue. The Astronomical Journal, 129(4), 1993–2006. doi:10.1086/428488. Catalogue, retrieved 2026-05-26 with psrqpy (Pitkin, M. (2018). psrqpy: a python interface for querying the ATNF pulsar catalogue. Journal of Open Source Software, 3(22), 538. doi:10.21105/joss.00538). The catalogue values used here (period, its derivative, dispersion measure, flux at 1400 MHz) come from 162 publications, listed in SOURCES.txt as the catalogue records them.
- EPN Database of Pulsar Profiles. EPN Database of Pulsar Profiles, developed by Michael Keith and maintained by the University of Manchester. Database. Part of this research has made use of the EPN Database of Pulsar Profiles maintained by the University of Manchester, available at: http://www.jodrellbank.manchester.ac.uk/research/pulsar/Resources/epn/ The 1,297 pulse profiles come from 45 publications, listed with their authors and the licence of each (EPN Legacy Agreement or Creative Commons Attribution 4.0) in SOURCES.txt; the database asks that full credit be given to the original authors.
Sound and method
- The grain cloud takes its method from Helmuth, M. (2024). Letting Pulsars Sing: Sonification With Granular Synthesis. Journal of the Audio Engineering Society, 72(5), 352–359. doi:10.17743/jaes.2022.0147 (record on ResearchGate): the catalogue's physics set the parameters of a grain cloud, the rotation its grain rate, the flux its level, the age a duration. Two things here are this design's own: the grains are cut from each pulsar's measured profile rather than from a synthesized waveform, and the spin-down energy, the dispersion measure and the magnetic field set the grains' pitch, brightness and resonance.
- The real-rate pulse follows the approach of Jodrell Bank Centre for Astrophysics, University of Manchester. The Sounds of Pulsars. Accessed 4 October 2026. https://www.jb.man.ac.uk/~pulsar/Education/Sounds/sounds.html.
Sound engine
The sound is made by SuperCollider running inside this page: its synthesis server
(scsynth) and its language (sclang), compiled to WebAssembly. They run the design's
own SuperCollider files, the same ones the desktop version plays, so what you hear is the design's code rather
than a translation of it. Two differences from the desktop version, both in how the data reaches the sound
engine: this build cannot read sound files, so the pulse profiles are sent to it from the page (as 16-bit
numbers; the largest rounding error is 0.000015 of full scale), and four small tables of catalogue values are
written into the code instead of read from files. The values SuperCollider computes for a pulsar were checked
against the desktop version's and match to the precision of the numbers.
Software and licences
- SuperCollider, WebAssembly
build from the development branch at commit
5d47207(unreleased). scsynth and sclang: GPL-3.0; the WebAssembly bindings: AGPL-3.0. Unmodified; the licence text is inengine/LICENSE. - D3 v7.9.0 (ISC licence).
- This page's own code: github.com/mCrozzoli/darksonification-web.