Open-source project
KristofferKarlAxelEkstrand/AKWF-FREE avatar
KristofferKarlAxelEkstrand/AKWF-FREE

AKWF: one cycle waveforms for samplers and synths

Adventure Kid Wave Forms are a collection of sampled one cycle waveforms for use in synthesizers and samplers or similar sound generators.

611 stars91 forksCCC0-1.0

At a glance

What is it?
Adventure Kid Waveforms is a CC0 collection of single cycle waveforms, shipped as 600 sample 16 bit mono Wave files, as C arrays, as JavaScript arrays and as PNG plots, with a directory per hardware product. The original length was chosen in high school for an additive synth, and the collection has since been used by Elektron, Qu-Bit and others.
Who is it for?
AKWF suits a producer or sound designer who wants a small set of clean single cycle shapes to load as a sampler source or a static oscillator wave, and it suits a developer who wants waveform data in a form they can embed in code. It does not suit someone looking for a wavetable with morphing, since the documentation is explicit that these are not wavetables, and the CC0 licence means you can use them commercially without restriction.
Can I use it commercially?
Yes. CC0-1.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 101 days ago.
What is it written in?
Mainly C, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.

Editorial analysis

The smallest sound that still gives the feel of the instrument

The repository opens with the collection's own lettering, drawn in the terminal font the name is set in:

text
   _____   ____  __.__      _____________
  /  _  \ |    |/ _/  \    /  \_   _____/   F R E E
 /  /_\  \|      < \   \/\/   /|    __)
/    |    \    |  \ \        / |     \
\____|__  /____|__ \ \__/\  /  \___  /
        \/        \/      \/       \/

AKWF, short for Adventure Kid Waveforms, is a collection of one cycle waveforms to be used within synthesizers or other kinds of sound generators. The description of the design goal is precise: it is basically the smallest sound possible to sample and still get the overall feel of the sampled instrument.

One cycle is the key idea. A waveform in this collection is a single cycle of a repeating shape, so loading it into a sampler and playing it at the right pitch gives a note, and loading it into a synthesizer as a static waveform option gives an oscillator shape. The documentation makes the point about size directly: these waveforms are compact, single cycle samples used as oscillator shapes, and they can be loaded into samplers as pitch tuned sources or into synthesizers as static waveform options.

It is careful about the terminology. While not wavetables, some synths allow morphing between them, and the low resource demands make them suitable for both old gear and more modern setups. That gives a bit more timbral variety beyond the basic shapes for synthesizers, and enables some kind of hybrid synth and sampler behaviour.

The licence is CC0, which is the most permissive licence a creative collection can carry. There is a LICENSE.md at the root of the repository, and the content is therefore usable commercially, in a product, or in a paid patch without attribution or restriction.

The homepage is on the Adventure Kid site at adventurekid.se under the akrt waveforms path, and the repository is not archived, with the last push on 2026-07-14.

Six hundred samples, chosen by accident in high school

The original version comes with an origin story that explains the numbers, and the numbers are the part that matters to a producer.

The waveforms are 600 samples long, chosen during the author's early work on an additive synth in high school. That length worked well for layering octaves, while shorter cycles degraded the sound. The author notes that at that point they had not yet learned about standard buffer sizes like 256 or 1024, and that this was simply the starting point.

That admission is worth reading carefully, because it is the difference between a decision and a default. A 600 sample cycle is not a standard buffer size, and it was not chosen because it was correct, it was chosen because it worked for the specific thing being built at the time.

The original format spec is: Wave file format, length 600 samples, bit depth 16 bit, sample rate 44.1 kHz, channels mono.

The same numbers are repeated for the Akai MPC version, and then the document switches format. Every other product directory in the readme has the same five fields, File format, Length, Bit depth, Sample rate and Channels, and for most of them the values are left blank. The entries for Alchemy Camel Audio, Big Tick Rhino, Corona Discovery Pro, Elektron Model Samples, MonoMachine SFX 60+, Music Line Amiga, Pro Tracker ST Clones, Reaktor, SonicWare Smpltrek, Surge, Synapse Audio DUNE 3, Synthesis Technology, Teensy, TX16W Typhoon Cyclone, U-he Zebra and WT Harmor Komplexer all have empty values.

That emptiness is a documentation gap rather than a statement about the files, since the directories exist in the repository listing with the same names. But it does mean the readme cannot tell you the sample rate or bit depth of most of the collection, and you would have to inspect a file to know.

A directory per hardware product, and code you can embed

The repository layout is one directory per target, which is the shape most users will navigate by.

There is a top-level AKWF/ directory for the original set, and then one directory for each hardware product the collection has been prepared for: AKWF--Akai-MPC, AKWF--Alchemy--Camel-Audio, AKWF--Big-Tick-Rhino, AKWF--Corona-Discovery-Pro, AKWF--Elektron--Model Samples, AKWF--MonoMachine-SFX-60+, AKWF--Music-Line--Amiga, AKWF--Pro-Tracker--ST-Clones, AKWF--Reaktor, AKWF--SonicWare--Smpltrek, AKWF--Surge, AKWF--Synapse-Audio-DUNE-3, AKWF--Synthesis-Technology, AKWF--Teensy, AKWF--TX16W-Typhoon-Cyclone, AKWF--U-he-Zebra and AKWF--WT--Harmor-Komplexer.

The naming is doubled dashes between the AKWF prefix and the product, and the products are specific models rather than families, which tells you these are conversions prepared for particular devices with particular import expectations. A model-specific conversion is worth having when the target has its own sample format or its own import quirks, and it explains why there are eighteen of them.

Alongside the audio there are three alternative representations. AKWF-c holds waveforms defined in C as arrays of 16 unsigned integers, so basically 16 bit data, with a length of XX, a bit depth of 16 bit, no sample rate, and mono channels. AKWF-js holds waveforms defined in JavaScript as 256 values long arrays of floating point numbers, with a length of 600 values, no bit depth, no sample rate, and mono channels.

Those two are the interesting ones for a developer, because they are waveform data in a form you can paste into a source file and compile or run, with no file loading and no parsing. The C form stores 16 bit values as unsigned integers, so the same data as the Wave files, and the JavaScript form stores floats, which is what a web synthesis or an educational implementation would want.

The third is AKWF-png, which holds the waveforms as PNG plots for visual reference, where each image offers a straightforward depiction of the waveform shape to aid analysis and selection. A picture of a waveform is a fast way to choose between a dozen shapes without auditioning each one.

The primary language of the repository is recorded as C, which matches the AKWF-c directory being the one with actual source in it.

What already ships with the hardware, and what to listen to

The usage section explains what the waveforms are actually for, and the answer is more specific than a generic sound library.

They are oscillator shapes and sampler sources. Loaded into a sampler as a pitch tuned source, or into a synthesiser as a static waveform option, they give a set of timbres that are not the usual sine, saw and square, without the memory cost of a full wavetable. The low resource demand is the point for anyone running older hardware.

The documentation also notes that some synths allow morphing between them, which is where the term wavetable gets blurred. The collection is explicitly not wavetables, and understanding that distinction saves disappointment if you load one into an instrument that expects a band limited wavetable with several frames.

There are two ways to hear the collection before you install anything. The AKWF-png directory gives you the visual reference, and for listening there is an open source app for previewing the waveforms, called waves, with a hosted player at waves.tashian.com. Neither is part of this repository, both are pointed at from the readme.

Then there is the record of the collection in use by other manufacturers, which is the strongest evidence that the shapes are well chosen rather than merely adequate. Qu-Bit's Chord module, a plug and play solution for bringing musical polyphony to a modular system, uses AKWF to provide textures for creative sound design in modular synthesis, described as ideal for adding complex and evolving tones. Elektron Model:Samples uses AKWF in its sound library.

Both of those are hardware products, and both of them are places where a single cycle waveform is the natural format, because the shape is being read at high speed and the memory cost matters more than the fidelity of a long recording.

Editorial conclusion

AKWF suits a producer or sound designer who wants a small set of clean single cycle shapes to load as a sampler source or a static oscillator wave, and it suits a developer who wants waveform data in a form they can embed in code. It does not suit someone looking for a wavetable with morphing, since the documentation is explicit that these are not wavetables, and the CC0 licence means you can use them commercially without restriction. Before downloading, check the format list for the directory you need, since the per product entries are mostly empty fields, and use the PNG plots or the waves preview app to pick a shape before you commit it to a patch.

Frequently asked questions

What is AKWF?

AKWF, or Adventure Kid Waveforms, is a collection of one cycle waveforms to be used within synthesizers or other kinds of sound generators. It is described as basically the smallest sound possible to sample and still get the overall feel of the sampled instrument, and it is published under a CC0 licence.

What format are the original AKWF waveforms in?

The original set is 600 samples long, 16 bit, at 44.1 kHz, mono, in Wave format. The length was chosen during the author's early work on an additive synth in high school, and it worked well for layering octaves where shorter cycles degraded the sound.

What file formats does AKWF ship in besides Wave?

There is a C version defined as arrays of 16 unsigned integers, a JavaScript version defined as 256 values long arrays of floating point numbers, and an AKWF-png set that renders the waveforms as PNG plots for visual reference and selection.

Can I use AKWF in commercial projects?

Yes. The repository is published under the CC0 licence with the terms in the LICENSE.md file at the root, which is the most permissive licence a creative collection can carry, so the waveforms can be used commercially, in a product or in a paid patch without attribution or restriction.

Official sources

  1. Issues
  2. KristofferKarlAxelEkstrand/AKWF-FREE on GitHub
  3. License: CC0-1.0
  4. Project website
  5. README
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/kristofferkarlaxelekstrand-akwf-free.svg)](https://hysenlabs.com/projects/kristofferkarlaxelekstrand-akwf-free)

Was this useful?