Cog Cog
Acknowledgements

Built on other people's work.

Cog and XPCog play as much as they do because of the decoders, emulators, libraries and data below, and the people who wrote them. Each entry names its licence as the source trees state it — where they state one — and which of the two players uses it.

Decoders

Decoders and formats

  • AdPlug CogXPCog LGPL-2.1-or-later
    Plays AdLib and OPL2 music
  • blip_buf CogXPCog LGPL-2.1-or-later
    Band-limited synthesis for the Hively replayer and melonDS
  • bzip2 XPCog bzip2-1.0.6
    Decompresses bzip2 archives for libarchive
  • C68K Cog GPL-2.0-or-later
    Emulates the 68000 for HighlyTheoretical
  • CELT 0.6.1 and 0.11.0 Cog BSD-3-Clause
    Decodes FSB CELT for vgmstream
  • Chocolate Doom OPL music CogXPCog GPL-2.0-or-later
    Drives the OPL3 for MIDI playback
  • CVbriHeader Cog
    Reads VBRI headers in MP3 files
  • Dolphin CogXPCog GPL-2.0-or-later
    Provides JIT helpers inside melonDS
  • emu2413 Cog MIT
    Emulates the YM2413 for Game Music Emu
  • FatFs CogXPCog FatFs licence (BSD-style)
    Provides a FAT file system inside melonDS
  • FFmpeg CogXPCog LGPL-2.1-or-later
    Decodes AAC, ALAC, WMA, AC-3, DTS and most container formats
  • File_Extractor Cog LGPL-2.1-or-later
    Plays music straight out of archives
  • Fraunhofer FDK AAC Cog FDK AAC licence
    Decodes AAC for FFmpeg and vgmstream
  • G.719 reference code Cog
    Decodes G.719 for vgmstream
  • Game Music Emu CogXPCog LGPL-2.1-or-later
    Plays console chiptunes (NSF, SPC, GBS, VGM and more)
  • HighlyExperimental CogXPCog
    Emulates the PlayStation for PSF and PSF2
  • HighlyQuixotic CogXPCog
    Emulates Capcom QSound for QSF
  • HighlyTheoretical CogXPCog GPL-3.0
    Emulates the Sega Saturn and Dreamcast for SSF and DSF
  • Hively replayer CogXPCog
    Plays AHX and HivelyTracker modules
  • inih Cog BSD-3-Clause
    Parses INI files inside mGBA
  • lazyusf2 CogXPCog GPL-2.0-or-later
    Emulates the Nintendo 64 for USF
  • libarchive XPCog BSD-2-Clause
    Plays music straight out of archives
  • LibAtrac9 Cog MIT
    Decodes ATRAC9 for vgmstream
  • libbinio CogXPCog LGPL-2.1-or-later
    Reads files for AdPlug
  • libFLAC CogXPCog BSD-3-Clause
    Decodes FLAC
  • libid3tag Cog GPL-2.0-or-later
    Reads ID3 tags for the MP3 decoder
  • libogg CogXPCog BSD-3-Clause
    Reads the Ogg container
  • libopenmpt CogXPCog BSD-3-Clause
    Plays tracker modules (MOD, S3M, XM, IT and more)
  • libsidplayfp CogXPCog GPL-2.0-or-later
    Plays Commodore 64 SID tunes
  • libvgm CogXPCog
    Plays VGM, S98, DRO and GYM chip logs
  • libvorbis CogXPCog BSD-3-Clause
    Decodes Ogg Vorbis
  • LZ4 XPCog BSD-2-Clause
    Decompresses LZ4 archives for libarchive
  • LZMA SDK (7z_C) Cog Public domain
    Extracts 7-Zip archives
  • melonDS CogXPCog GPL-3.0-or-later
    Emulates the Nintendo DS for 2SF
  • mGBA CogXPCog MPL-2.0
    Plays GSF (Game Boy Advance) rips
  • minimp3 CogXPCog CC0-1.0
    Decodes MP3
  • mpg123 CogXPCog LGPL-2.1-only
    Decodes MP3 samples inside tracker modules and game streams
  • Musashi CogXPCog Musashi licence (free for non-commercial use)
    Emulates the 68000 for HighlyTheoretical
  • Musepack decoder (libmpcdec) CogXPCog BSD-3-Clause
    Decodes Musepack
  • Nuked OPL3 CogXPCog GPL-2.0-or-later
    Emulates the OPL3 for MIDI playback
  • Nuked SC-55 CogXPCog MAME licence (non-commercial)
    Emulates the Roland SC-55
  • Opus CogXPCog BSD-3-Clause
    Decodes Opus
  • opusfile CogXPCog BSD-3-Clause
    Reads Opus files
  • Organya player CogXPCog
    Plays Cave Story's Organya music
  • psflib CogXPCog
    Reads the PSF container
  • SFBAudioEngine Core Audio decoder Cog GPL-2.0-or-later
    Decodes through Core Audio
  • SHA-1 (Steve Reid) XPCog Public domain
    Provides SHA-1 inside melonDS
  • Shorten Cog GPL-2.0 plus the Shorten licence (not to be sold without SoftSound's permission)
    Decodes Shorten (.shn)
  • Snes9x CogXPCog Snes9x licence (non-commercial)
    Emulates the Super Nintendo for SNSF
  • Snes9x APU CogXPCog LGPL-2.1
    Emulates the SNES sound processor
  • Speex Cog BSD-3-Clause
    Decodes Speex for vgmstream
  • SpessaSynth Core CogXPCog Apache-2.0
    Synthesises MIDI with SoundFonts
  • SSEQPlayer CogXPCog
    Plays NCSF (Nintendo DS SSEQ)
  • stb_vorbis Cog MIT OR Unlicense
    Decodes Ogg-compressed SoundFont samples
  • Syntrax (libjaytrax) CogXPCog GPL-3.0-only
    Plays Syntrax modules
  • TagLib CogXPCog LGPL-2.1-only OR MPL-1.1
    Reads tags
  • Teakra Cog MIT
    Emulates the DSi DSP inside melonDS
  • tiny-AES-c CogXPCog Unlicense
    Provides AES inside melonDS
  • UnRAR Cog UnRAR licence (freeware; may not be used to re-create RAR compression)
    Extracts RAR archives
  • UTF8-CPP XPCog BSL-1.0
    Converts text for TagLib
  • VBA-M Cog GPL-2.0-or-later
    Emulates the Game Boy Advance for HighlyComplete
  • vgmstream CogXPCog ISC
    Plays several hundred game audio stream formats
  • vorbis-tools picture code Cog GPL-2.0-or-later
    Reads Vorbis cover art
  • WavPack CogXPCog BSD-3-Clause
    Decodes WavPack
  • xxHash XPCog BSD-2-Clause
    Provides hashing inside melonDS
  • XZ Utils (liblzma) XPCog 0BSD
    Decompresses XZ and LZMA archives for libarchive
  • Zstandard XPCog BSD-3-Clause
    Decompresses Zstandard archives for libarchive
Processing

Audio processing

  • DeaDBeeF FFT Cog Zlib
    Provides the spectrum analyser's FFT
  • dsd2pcm XPCog BSD
    Converts DSD to PCM
  • FreeSurround CogXPCog GPL-2.0-or-later
    Upmixes stereo to surround
  • HDCD decoder (hdcd_decode2) CogXPCog BSD-3-Clause
    Decodes HDCD
  • HRTF (MinPHR) loader Cog
    Loads HRTF data for headphone virtualisation
  • libsamplerate XPCog BSD-2-Clause
    Resamples for Rubber Band
  • LPC extrapolation (lvqcl) CogXPCog ISC
    Extrapolates gapless edges
  • miniaudio XPCog Unlicense OR MIT-0
    Plays audio to the output device
  • Rubber Band Library CogXPCog GPL-2.0-or-later
    Changes pitch and tempo independently
  • Helpers for Core Audio
  • Signalsmith Linear CogXPCog MIT
    Provides the FFT under Signalsmith Stretch
  • Signalsmith Stretch CogXPCog MIT
    Changes pitch and tempo independently
  • SLEEF XPCog BSL-1.0
    Vector maths for Rubber Band
  • SoX Resampler (libsoxr) CogXPCog LGPL-2.1-or-later
    Converts sample rates
Interface

Interface

  • Decodes AVIF cover art
  • Brotli XPCog MIT
    Compresses the remote control's HTTP responses
  • cpp-httplib XPCog MIT
    Serves XPCog's remote control
  • Crashpad XPCog Apache-2.0
    Catches crashes for sentry-native
  • dav1d Cog
    Decodes AV1 for libavif
  • The spectrum analyser
  • dirent for Windows XPCog MIT
    Lists folders for the PSF cores on Windows
  • Expat XPCog MIT
    Parses XML for wxWidgets
  • GLib XPCog LGPL-2.1-or-later
    D-Bus, media keys and notifications on Linux
  • GTK XPCog LGPL-2.1-or-later
    Draws XPCog's interface on Linux
  • ImageTextCell Cog
    Table cells with an icon
  • json-parser and json-builder Cog BSD-2-Clause
    Reads and writes JSON
  • libadwaita XPCog LGPL-2.1-or-later
    Draws XPCog's interface on Linux
  • libavif Cog BSD-2-Clause
    Decodes AVIF cover art
  • libcurl XPCog curl
    Fetches HTTP and internet radio
  • libjpeg-turbo XPCog IJG AND BSD-3-Clause AND Zlib
    Loads JPEG images for wxWidgets
  • libpng XPCog libpng-2.0
    Loads PNG images for wxWidgets
  • libsecret XPCog LGPL-2.1-or-later
    Keeps passwords in the system keyring on Linux
  • LibTIFF XPCog libtiff
    Loads TIFF images for wxWidgets
  • libunwind XPCog MIT
    Stack traces in crash reports on Linux
  • libwebp XPCog BSD-3-Clause
    Loads WebP images for wxWidgets
  • libyuv Cog
    Converts colours for libavif
  • Logging.h Cog
    Debug logging macros
  • Lucide XPCog ISC
    XPCog's interface icons on Windows
  • MASShortcut Cog BSD-2-Clause
    Global keyboard shortcuts
  • MCP Swift SDK Cog Apache-2.0 AND MIT
    The CogMCP server
  • NanoSVG XPCog Zlib
    Draws XPCog's interface icons on Windows
  • nlohmann/json XPCog MIT
    Reads web services' replies
  • OpenSSL XPCog Apache-2.0
    Secures HTTPS for libcurl
  • OpenURLPanel Cog Apple sample code licence
    The Open URL dialog
  • PCRE2 XPCog BSD-3-Clause WITH PCRE2-exception
    Regular expressions for wxWidgets
  • RetroArch Metal shaders Cog GPL-3.0-or-later
    Visualisation shaders
  • sentry-cocoa Cog MIT
    Crash reporting
  • sentry-native XPCog MIT
    Opt-in crash reporting
  • SFBAudioEngine seconds formatter Cog GPL-2.0-or-later
    Formats times
  • SQLite XPCog Public domain
    Stores the music library
  • Swagger UI XPCog Apache-2.0
    Shows the remote control's API documentation
  • swift-log Cog Apache-2.0
    Logging
  • SwiftNIO Cog Apache-2.0
    Networking for CogMCP
  • SwiftUI introspection
  • wxWidgets XPCog LGPL-2.0-or-later WITH WxWindows-exception-3.1
    Draws XPCog's interface on Windows
  • zlib XPCog Zlib
    Decompression throughout
Data

Data

  • AdPlug database CogXPCog Public domain
    Per-song playback fixes for AdPlug
  • Commodore 64 ROMs CogXPCog
    KERNAL, BASIC and character ROMs for SID playback
  • GeneralUser GS CogXPCog GeneralUser GS License v2.0
    The bundled General MIDI SoundFont
  • GeneralUser XG (SFe test) CogXPCog GeneralUser GS License v2.0
    The bundled XG SoundFont
  • Organya wavetable and PixTone sounds CogXPCog
    Instruments and drums for Organya music
  • PlayStation 2 BIOS sound modules CogXPCog
    Runs PSF and PSF2 rips under HighlyExperimental
  • Headphone impulse responses for HRTF
  • TG300B patch map CogXPCog
    Maps TG300B patches to XG for the SFe bank
  • YRW801 sample ROM XPCog
    The OPL4 wavetable, under libvgm