PSIDRSID2SID · 3SID

A SID player for Linux that looks as good as it sounds.

ngSid (NextGenSid) plays the music of the Commodore 64 with cycle-exact emulation and a real-time OpenGL interface: voice cards, scopes, envelopes, digi channel, filter strip and spectrum.

Free software, GPL-3.0-or-later · Linux · 6581 and 8580

ngSid main window with playlist and HVSC browser
Features

Everything the chip does, on screen.

Built to sound like a real SID and to show you what the chip is doing while it plays.

Cycle-exact C64

libsidplayfp emulates 6510, VIC-II and CIA exactly. Raster tricks, multispeed players, CIA-timed samples and RSID code play as on the real machine.

reSIDfp sound

The SID model comes from the tune header: MOS 6581 or 8580, with the analogue filter modelled. Override with --6581 or --8580.

Per-voice cards

Note, frequency, waveform, live scope and ADSR envelope for every voice. Click a card to mute it.

Digi channel

Samples through the volume register and oscillator digis get their own display and can be muted separately.

Multi-SID view

2SID and 3SID tunes show a row of voice cards per chip, the chip model of each SID and its stereo position.

Spectrum and VU

Logarithmic spectrum, peak hold and stereo level meters, plus a chip graphic that pulses with the music.

HVSC browser

Browse the High Voltage SID Collection online, or drop files and folders onto the window.

Small and private

One static binary, no account, no telemetry. The only network use is an optional update check you can switch off.

Multi-SID

Two chips. Six voices. One stereo image.

Tunes for 2SID and 3SID play completely. Every chip gets its own voice cards, its own SID graphic with the right model (6581 or 8580) and a pan indicator showing where it sits in the stereo field. Each chip animates on its own, so you see which SID is playing.

  • 2SIDChips mixed left and right with the stereo weighting of the original hardware setups.
  • 3SIDThird chip supported for PSID v4 tunes.
  • ModelsThe chip model of each SID is read from the tune header.
Two SID chips with pan indicators
Six voice cards of a 2SID tune
Install

Build it in three commands.

Needs a C99 and a C++ compiler, make, curl or wget, SDL2 development files and pkg-config. The first build downloads libsidplayfp and builds it statically.

git clone https://github.com/DarkVamp76/ngsid.git
cd ngsid
make -j$(nproc)
sudo make install
ngSid tune.sid          # a file, a folder, or drag and drop
ngSid -s 2 tune.sid     # start with song 2
ngSid --8580 tune.sid   # force the chip model

SID files are not included. The best source is the High Voltage SID Collection.

Credits

Standing on great work.

ngSid started as a Linux port of VacSid by Oliver Blasnik (“R0M” / Vacuum), the DOS SID player that was ahead of its time. The C64 and SID emulation come from libsidplayfp and reSIDfp. ngSid contains no code from VacSid and the original author is not affiliated with the project.