• This repository has been archived on 03/Jul/2019
  • Stars
    star
    148
  • Rank 249,983 (Top 5 %)
  • Language CWeb
  • Created over 7 years ago
  • Updated almost 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A physical model of the human vocal tract using literate programming, based on Pink Trombone.

Voc

A physical model of the vocal tract, based on pink trombone

More information can be found on the main Voc webpage.

Things you'll need:

  • CWEB (this often comes with TeX)
  • Soundpipe (dev branch)
  • Sporth (somewhat optional)
  • sporth_tex (can be installed with Sporth by running "make sporth_tex" in the sporth codebase)
  • GNUplot (needed to generate visuals)

Running "make" with no arguments will run ctangle. The core files generated are voc.c and voc.h. These can more or less be dropped into a working project and it will behave like any other soundpipe module. The exception to this is that you will need to use setter and getter functions to set and retrieve parameters in Voc. Some of these examples can be found inside the generated Voc document.

Sound examples

The videos below showcase Voc being used in a musical context. The sounds were synthesized using Sporth and the Sporth plugin implementation of Voc.

  • Babble: The first real patch created in Sporth using Voc was Babble. Babble makes good use of interpolated random number generators and jitter to produce sounds that mimic a babbling person.

  • Chant: The patch Chant was an attempt to build a constrasting patch to Babble, this time focusing on slow moving periodic modulations instead of fast and random ones. Voc is able to turn into something resembling a chanting monk by picking a low fundamental frequency, a high velum, low frequency sinusoidal modulation of the position, as well as a high diameter parameter. A lowend boost and reverb is added to taste.

  • Unya: This was an attempt to find interesting values from the tongue control parameters, as well as build something tonal. Both diameter and position are mapped to clocked envelope generators, which have the effect of going between two vowel states. In this case, they make a sound which approximates the nonsensical word "unya".

Realtime Demo

For those wishing to try out Voc with minimum hassle, there is a realtime voc demo which is able to compile for both Mac OSX and Linux systems running JACK. This demo uses the version of Voc contained inside of Soundpipe.

Licensing

Voc has a multi-licensing scheme for the different components:

  • The core CWEB code uses the MIT license.
  • The code generated by ctangle (voc.c, voc.h, etc...) is released under the public domain.
  • The TeX code generated by cweave, and any resulting documents generated using that code such as the PDF, are released on the Creative Commons Attribution ShareAlike license.
  • The included Sporth code examples are all public domain

More Repositories

1

sndkit

A collection of highly portable audio DSP algorithms, written in ANSI C using literate programming.
C
121
star
2

Soundpipe

A lightweight music DSP library.
C
27
star
3

BoingBoingBoing

Audio DSP library for musical applications, written in Rust.
Rust
25
star
4

voc_demo

C
25
star
5

voxbox

A singing vocal synthesizer
Rust
23
star
6

Kubus

Minimalist audio visualizer written in C/C++ using OpenGL and RtAudio
C++
20
star
7

norns-lowlevel

Example code for doing low-level norns stuff in C
C
19
star
8

worgle

A fast and portable tangler for (a limited subset of) org with noweb support. Written in ANSI C.
C
17
star
9

brian

Brian is not a bot.
C
16
star
10

Moons

An isorhythmic circular synthesizer, written in C/C++, OpenGL, Sporth, and Soundpipe.
C++
14
star
11

weewiki

A tiny wiki engine. (Fossil Export)
C
13
star
12

tiziku

Audiovisual generative composition, inspired by Rothko paintings and fluorescent lightbulbs. Written using NanoVG, ChucK, Sporth, and Lua
C++
13
star
13

Sporth

A small stack-based audio language.
C
12
star
14

ft2-clone

Fork of https://16-bits.org/ft2.php
C
11
star
15

vocshape

A simple android app demonstrating the shaping capabilities of articulatory synthesis
C
10
star
16

codex

the candy crystal rainbow codex
Scheme
10
star
17

gl-c-examples

Some OpenGL examples, written in pure C
C
10
star
18

Kuf

A library for generative square kufic calligraphy.
C
8
star
19

bitlang

Small stack-based DSL for procedurally generated 1-bit graphics
C
8
star
20

Spigot

Minimalist user interfaces for Sporth
C++
8
star
21

soundpipe-stm32f4

Example project of Soundpipe running on an STM324f
C
7
star
22

gest

A gesture sequencer.
C
7
star
23

stretcher

Self-contained commandline utility for paulstretch, based off of the one found in soundpipe.
C
7
star
24

GROWL

Formant filter inspired by the HOWL iOS app by Daniel Clelland
C
7
star
25

rust-wasm-audioworklet

Small example showcasing Rust running inside of an AudioWorklet
Rust
6
star
26

uxnseq

proof-of-concept sequencer programmed by uxn, designed to control synthesized sounds in sndkit
C
6
star
27

mnolth

a convergence of ideas. read-only fossil export
C
5
star
28

Auria

Sampler + Sound Surface built using OpenGL and Soundpipe.
C++
5
star
29

GestVM

A gesture synthesizer for sndkit, controlled via the Uxn Virtual Machine
C
5
star
30

Dagzet

Dagzet, a small DAG-Zettelkasten format for mind maps and knowledge graphs
Rust
5
star
31

polysporth

Polyphonic Sporth Plugin.
C
5
star
32

paulbatchelor.github.io

My personal website.
HTML
5
star
33

libline

A library for drawing sample-accurate lines and automation curves for computer-based music. Also a literate program using CWEB.
CWeb
5
star
34

tracker3

Public domain three channel tracker interface for Sporth using OpenGL, written in ANSI C
C
4
star
35

NRT

A micro musical notation language
C
4
star
36

orb-old

A musical 2d puzzle game for Android devices
C
4
star
37

sgvideo

C
4
star
38

smp

My sample library, re-imagined as a zettelkasten via weewiki and zet. Read-only Fossil export.
C
4
star
39

btprnt

A small library for 1-bit graphics, written in ANSI C using literate programming.
C
4
star
40

sdf2d

2d SDF shader functions by Inigo Quilez, ported to C
C
3
star
41

seq16

A simple 16-step sequencer for Sporth using OpenGL
C
3
star
42

sqlar

A fork of the SQLite archiver by D. Richard Hipp
C
3
star
43

cray

Raytracer written in ANSI C
C
3
star
44

daisyverb

Reverb algorithm ported to prototype daisy patch ARM architecture.
C
3
star
45

Orb

A 2d musical puzzle game for Android.
C
3
star
46

Recurse

Logs related to my Recurse Summer 1 2024 Batch
C
3
star
47

pdsp

PD externals created using Soundpipe
C
2
star
48

LMMS-Sporth

Someday, it will be a Sporth inside of LMMS...
C++
2
star
49

mnort

Live coding server for mnolth.
C
2
star
50

polysporth-nuklear

Polysporth bindings for Nuklear
C++
2
star
51

the_sporth_cookbook

SourcePawn
2
star
52

pisine

Proof-of-concept bare metal patch running soundpipe on a raspberry Pi
C
2
star
53

Noice

My fork of Noice, modded to work better as a sample browser for music. http://git.2f30.org/noice/
C
2
star
54

PolyPipe

A lightweight library for handling polyphony and note events.
C
2
star
55

sporthdraw

Draw images from Sporth code, generate audio from images.
Shell
2
star
56

zetdo

A small TODO utility built on top of zet and weewiki
Shell
2
star
57

sporth-pd

Makefile
2
star
58

gestlings

A collection of studies exploring Gesture Synthesis.
Lua
2
star
59

320b_notes

My notes for MUSIC-320b at Stanford University
TeX
2
star
60

pixku

A small repository of media.
C
2
star
61

huion-tablet

Making sounds / things with my new Huion 680s tablet
C
2
star
62

loadflac

load FLAC files using soundpipe
C
1
star
63

sandy-runt

Sandy text editor with built in Runt REPL
C
1
star
64

vorth

Pathogen-compatible Sporth plugin for Vim
Vim Script
1
star
65

lsamp

A lightweight sampler format.
C
1
star
66

beatslice

Small beatslicer written using libsndfile.
C
1
star
67

runt-plumber

Soundplumber in Runt
C
1
star
68

NineWaysToNRT

Collection of script examples from my blog series "Nine Ways to NRT"
Perl
1
star
69

stm32f4-bootstrap

Cross compilation setup
Shell
1
star
70

runt-img

simple raster graphics bindings for runt
C
1
star
71

blackbox

C++
1
star
72

android-soundpipe

Soundpipe on Android. WIP.
C
1
star
73

avr_playground

C
1
star
74

sliders

A musical interface for Sporth
C
1
star
75

carduboy

Arduboy library de-implementation using C and Makefiles
C
1
star
76

invaders

C
1
star
77

contrenot

A musical instrument inspired by the bowed double bass
C
1
star