Giter Site home page Giter Site logo

absynth-fm's Introduction

abSynth-FM

FM Synthesizer with step sequencer for Arduboy.

The FM Synthesis engine is derived from FMMelody.

Installation

You need Arduboy2 Library.

Usage

See this video.

IMAGE ALT TEXT HERE

IMAGE ALT TEXT HERE

Sequencer data format (send/receive via serial port)

Syntax

A series of bytes in hexadecimal digits, separated with delimiters.

Delimiters are newline, return, or space.

All characters from '#' to the end of line are ignored. You can use '#' to include comments in your data.

Data starts with a header section followd by a series of sequence section.

Header section

field type value
Signature uint8_t[4] 'abFM'
Version uint8_t 1
Num of Sequences uint8_t 1 or 16

Sequence section

field type value
Tempo uint8_t 56..240
Transpose int8_t -2..+2
Flags(reserved) uint8_t 128
Synth parameters uint8_t[5] 0..255
Notes int8_t[16] (below)
End mark uint8_t 128

Note data

type value description
rest -1 no sound in the step
tie -2 continue previous note in the step
note 48..84 48 for C4, 84 for C7

Example

One sequence

61 62 46 4D 01 01
3C 00 80 06 02 1B 01 02 3C 3C 43 43 45 45 43 FE 41 41 40 40 3E 3E 3C FE 80

16 sequences

61 62 46 4D 01 10
#Sequence 1-8
3C 00 80 06 02 1B 01 02 3C 3C 43 43 45 45 43 FE 41 41 40 40 3E 3E 3C FE 80
3C 00 80 05 02 1C 01 02 43 43 41 41 40 40 3E FE 43 43 41 41 40 40 3E FE 80
60 01 80 07 05 26 05 02 40 40 40 FE 40 40 40 FE 40 43 3C 3E 40 FE FF FF 80
60 01 80 07 05 26 05 02 41 41 41 41 41 40 40 40 40 3E 3E 40 3E FF 43 FE 80
60 01 80 07 05 26 05 02 41 41 41 41 41 40 40 40 43 43 41 3E 3C FF FF FF 80
4A FF 80 05 09 20 02 02 41 45 48 4C 41 45 47 4A 40 43 47 4A 40 43 45 48 80
C0 00 80 00 08 22 08 07 43 43 43 43 FF 46 46 46 46 FF 46 46 FF 46 46 46 80
94 00 80 00 08 22 08 07 3C 48 3C 45 3C 41 3C 43 3C 48 3C 4A 3C 47 3C 48 80
#Sequence 9-16
4C 00 80 07 03 20 01 02 34 39 3C 45 3B 3F 43 3F 42 FE 40 FE 3B FE 37 FE 80
7E 00 80 02 0C 00 07 07 3C 48 4B 4A 48 46 44 43 41 3F 3E 3F 3B 3C 3E 37 80
82 FF 80 04 01 10 01 02 3C 3C FF 3C 43 43 FF 43 45 FE 3C 45 41 FE 45 41 80
F0 00 80 04 01 10 01 02 3C 3E 40 42 44 46 48 4A 4C 4A 48 46 44 42 40 3E 80
78 FF 80 04 01 08 03 02 3E 3E 3E 3E 3E 3E 3E 3E 41 41 41 41 3C 3C 3C 40 80
73 FF 80 04 01 08 03 02 3C FE FE 3C FF 37 37 37 3C FE FE 3C FF FF 3C 3F 80
82 FF 80 02 0C 00 07 07 34 FF 45 FF 34 FF 45 34 FF 34 45 FF 34 FF 45 34 80
82 FF 80 02 0C 00 07 07 34 FF 45 FF 34 FF 45 34 FF 34 45 34 45 45 34 44 80

absynth-fm's People

Contributors

boochow avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.