Copyright 2016-2019, 2023 Vincent Damewood Seirina is licensed under the terms of the Apache License 2.0.
Seirina is a project to develop code to generate audio files of synthesized music. Currently, it supports generating a single-channel stream of a single wave form with a fixed ADSR envelop.
Seirina uses Cmake for its build system. Make a directory, called
build, cd into it, and run cmake .., then make, to build
Seirina.
The genwave program is the main command-line interface. Use the -i
argument to indicate an input file, -o to select the output file,
and -w to select wave form, one of sine, square, triangle,
saw, and absine (absolute value of a sinewave). Output is in the
form of a wav file.
The input is a text file in a specific format. Each line is a separate note. The first letter (A-G), represents the pitch class, and it optionally followed by either a -, +, or space, to represent flat, sharp, or natural respectively. Following the pitch class, a single-digit number, represents the octave in scientific pitch notation. A440 and middle C are octave 4. A dash separates the octave from the duration, which is represented either a a single-digit number, or a fraction of single-digit numbers separated by a /. This duration is in beats, which is currently hard-coded as 18900 audio samples (resulting in 140 beats per minute).