Single file synth + demo song

Overview

P.S. is a music track written from scratch using the C programming language. All sounds and notes were entered manually without using any music programs. One single source file contains synth code, patterns and player. No third party libraries are used except SDL2 to output the audio stream.

Usage:

  • just play the song: ./ps
  • export to WAV: ./ps -o filename.wav

Press CTRL+C to exit

How to make: just run one of the MAKE_* scripts (currently only Linux, but scripts for other systems will be added later too)

by NightRadio
https://warmplace.ru
[email protected]
2005 - 2021

Issues
  • Compile to Windows, got the command-line

    Compile to Windows, got the command-line

    Hi, i've compiled this source on windows-32bit, but some modifications are needed:

    Replacing the line: #include <unistd.h>

    with:

    //header swap, using unistd.h in *n*x, 
    //windows users will use windows.h with sleep() function overrride
    #ifdef __unix__
    # include <unistd.h>
    #elif defined _WIN32
    # include <windows.h>
    #define sleep(x) Sleep(1000 * (x))
    #endif
    
    

    And for compiling, i've used this config: Instructions used for Dev-C++: -IDE used: Dev-C++ Orwell 5.2.0.0 32bit -Compiler parameters used: -std=gnu99 -Linker parameters used: -static-libstdc++ -static-libgcc -lmingw32 -lSDL2main -lSDL2

    Instructions used for MinGW: -Version: MinGW-w64 v8.1.0 -Command line used:

    gcc ps.c ^
    	-Ic:\MinGW\mingw32\include ^
    	-IC:\MinGW\mingw32\i686-w64-mingw32\include ^
    	-Lc:\MinGW\mingw32\lib ^
    	-LC:\MinGW\mingw32\i686-w64-mingw32\lib ^
    	-static-libstdc++ ^
    	-static-libgcc ^
    	-lmingw32 ^
    	-lSDL2main ^
    	-lSDL2 ^
    	-Os ^
    	-o ps.exe
    
    

    -Make sure SDL2 is placed correctly

    P.D.: Tested the executable, and the exported wav and sounds identical to the youtube video about this project.

    opened by 9912 1
Owner
NightRadio
NightRadio
Single file audio playback and capture library written in C.

A single file library for audio playback and capture. Example - Documentation - Supported Platforms - Backends - Major Features - Building - Unofficia

David Reid 2.3k Aug 1, 2022
Single file C library for decoding MPEG1 Video and MP2 Audio

PL_MPEG - MPEG1 Video decoder, MP2 Audio decoder, MPEG-PS demuxer Single-file MIT licensed library for C/C++ See pl_mpeg.h for the documentation. Why?

Dominic Szablewski 566 Jul 27, 2022
A tiny, header only, easy to use, cross-platform, portaudio wrapper, sound and notation manager, tailored for the demo scene.

TDAW A tiny, header only, easy to use, cross-platform, portaudio wrapper, sound and notation manager, tailored for the demo scene. This header enables

kbx 9 Jun 12, 2022
Minimalistic MP3 decoder single header library

minimp3 Minimalistic, single-header library for decoding MP3. minimp3 is designed to be small, fast (with SSE and NEON support), and accurate (ISO con

Lion 1.2k Aug 8, 2022
Minimalistic MP4 mux/demux single header library

Mini MP4 Easy embeddable MP4 mux/demux library. Usage Muxing Muxing can be done using 3 modes. Default mode uses one big mdat chunk: This is most effi

Lion 247 Aug 5, 2022
An audio mixer that supports various file formats for Simple Directmedia Layer.

An audio mixer that supports various file formats for Simple Directmedia Layer.

Simple Directmedia Layer 143 Aug 9, 2022
A simple CLI to extract & save artwork of a 🎵 music/audio file.

artwork-extractor A simple CLI to extract & save artwork of a ?? music/audio file. Usage Dependencies MediaInfoLib On Debian based distros, one may in

Hitesh Kumar Saini 5 Aug 4, 2021
Audio File Library

Audio File Library

michael pruett 132 Jun 29, 2022
The Dolby MP4 streaming muxer (dlb_mp4base) is a software implementation of a muxer of fragmented or unfragmented ISO base media file format (mp4)

The Dolby MP4 streaming muxer (dlb_mp4base) is a software implementation of a muxer of fragmented or unfragmented ISO base media file format (mp4). It supports muxing of Dolby Digital (AC-3), Dolby Digital Plus (E-AC-3), and Dolby AC-4 audio formats as well as Dolby Vision.

Dolby Laboratories 185 Aug 7, 2022
The Dolby MP4 streaming demuxer (dlb_mp4demux) is a software implementation of a demuxer of fragmented or unfragmented ISO base media file format (mp4).

The Dolby MP4 streaming demuxer (dlb_mp4demux) is a software implementation of a demuxer of fragmented or unfragmented ISO base media file format (mp4). It supports demuxing of Dolby Digital (AC-3), Dolby Digital Plus (E-AC-3), and Dolby AC-4 audio formats as well as Dolby Vision. It is designed for use on architectures with limited resources.

Dolby Laboratories 63 Jul 9, 2022
Fatality song composed by Maevings with charting and psych engine

Fatality song composed by Maevings with charting and psych engine

null 2 Nov 27, 2021
View your current playing song on ESP32 & OLED display using Spotify API

esp32-spotify-oled View your current playing song on ESP32 & OLED display using Spotify API Spotify Visit Spotify Dashboard https://developer.spotify.

Felix Biego 3 Jun 26, 2022
Spectral warping wavetable synth

Vital Vital is a spectral warping wavetable synthesizer. This is the source. Code Licensing If you are making a proprietary or closed source app and w

Matt Tytel 1k Aug 9, 2022
SynthLab is a synth plugin framework for developing software synthesizers.

SynthLab SynthLab is a synth plugin framework for developing software synthesizers.

willpirkleaudio 65 Jul 27, 2022
A library for using real OPL2 synth chips via ALSA's hwdep interface.

oplhw: A library for using real OPL2 synth chips via ALSA's hwdep interface ==========================================================================

David Gow 1 Nov 30, 2021
C/C++ library for converting a stream of OPL FM synth chip commands to the OPB music format

OPBinaryLib C/C++ library for converting a stream of OPL FM synth chip commands to the OPB music format Basic usage Store your OPL commands as a conti

Emma Maassen 10 Feb 2, 2022
Helm - a free polyphonic synth with lots of modulation

Helm Helm is a free, cross-platform, polyphonic synthesizer that runs on GNU/Linux, Mac, and Windows as a standalone program and as a LV2/VST/AU/AAX p

Matt Tytel 2.1k Aug 4, 2022
This is a openGL cube demo program. It was made as a tech demo using PVR_PSP2 Driver layer GPU libraries.

OpenGL Cube Demo using PVR_PSP2 Driver layer GPU libraries This is a openGL cube demo program. It was made as a tech demo using PVR_PSP2 Driver layer

David Cantu 5 Oct 31, 2021
A single file, single function, header to make notifications on the PS4 easier

Notifi Synopsis Adds a single function notifi(). It functions like printf however the first arg is the image to use (NULL and any invalid input should

Al Azif 7 Mar 24, 2022
convert elf file to single c/c++ header file

elf-to-c-header Split ELF to single C/C++ header file

Musa Ünal 2 Nov 4, 2021
This is a demo for QDBus & parse json file.

说明 This is a demo for QDBus & parse json file. cmake version:3.13.4 qtcreator 4.8.2验证ok cli侧的 --version暂时没有使用 使用方式 mkdir build cd build cmake .. 开Debu

流浪小兵 1 Nov 26, 2021
A fast single-producer, single-consumer lock-free queue for C++

A single-producer, single-consumer lock-free queue for C++ This mini-repository has my very own implementation of a lock-free queue (that I designed f

Cameron 2.7k Aug 5, 2022
A bounded single-producer single-consumer wait-free and lock-free queue written in C++11

SPSCQueue.h A single producer single consumer wait-free and lock-free fixed size queue written in C++11. Example SPSCQueue<int> q(2); auto t = std::th

Erik Rigtorp 509 Aug 7, 2022
Single-header single-function C/C++ immediate-mode camera for your graphics demos

Single-header single-function C/C++ immediate-mode camera for your graphics demos

Nicolas Guillemot 107 Apr 28, 2022
Single file audio playback and capture library written in C.

A single file library for audio playback and capture. Example - Documentation - Supported Platforms - Backends - Major Features - Building - Unofficia

David Reid 2.3k Aug 1, 2022
miniz: Single C source file zlib-replacement library, originally from code.google.com/p/miniz

Miniz Miniz is a lossless, high performance data compression library in a single source file that implements the zlib (RFC 1950) and Deflate (RFC 1951

Rich Geldreich 1.5k Aug 8, 2022
ring-span lite - A C++yy-like ring_span type for C++98, C++11 and later in a single-file header-only library

ring-span lite: A circular buffer view for C++98 and later Contents Example usage In a nutshell Dependencies Installation Synopsis Reported to work wi

Martin Moene 122 May 23, 2022
Single C file, Realtime CPU/GPU Profiler with Remote Web Viewer

Remotery A realtime CPU/GPU profiler hosted in a single C file with a viewer that runs in a web browser. Supported Platforms: Windows Windows UWP (Hol

Celtoys 2.3k Aug 8, 2022
Single C file TLS 1.2/1.3 implementation, using tomcrypt as crypto library

TLSe Single C file TLS 1.3, 1.2, 1.1 and 1.0(without the weak ciphers) implementation, using libtomcrypt as crypto library. It also supports DTLS 1.2

Eduard Suica 451 Jul 28, 2022