AESP: The Ghettoest Rip-Off of Max/MSP

From The Math Club

Jump to: navigation, search

A pretty cool company Cycling '74 that my ex-girlfriend works for makes a program, Max/MSP. The best way I can explain the program is that its a signal processor builder. You basically can build these flow networks that perform different kinds of computations at each node. Anyhow, its very fancy.

Contents

AESP

AESP is my ghetto-ass attempt at making something like Max/MSP. It's all terminal mode, networks aren't graphically built, you have to write them in a crappy text-based format, to see what they look like you have to generate a pdf file, and all the UI controls you get are keyboard strokes. You can output directly to the soundcard or to PCM format for now, and you can compile out to .C programs. Converting PCM to MP3 is easy with FFMPEG. Here's an example of the output sound.

Get It

Ok, currently the sourcecode is available here:

Get AESP Now

Examples

Here's some examples of the data that can be handled with AESP. AESP is the aesp source, the C is the generated C source from the aesp source, the PDF is the flowchart of the aesp source and the MP3 is the mpeg3 audio generated from the compiled C program.


Simple Program | .AESP | .C | .PDF | .MP3


Linux5 | .AESP | .C | .PDF | .MP3


AudioIDS | .AESP | .C | .PDF | .MP3


AudioIDS III | .AESP | .C | .PDF | .MP3


The above linux examples probably should be compiled with:

gcc audioids.c -o audioids -Wall -O2 -lm -lpcap -DLINUX

Documentation

There isn't currently any documentation on the AESP language or anything, I'm sorry but I've just started this project. Well, actually I just added a crappy text file to the archive so you can get at least a small spec on all the objects you can create.

Recently Added

  • Harmonic Oscillators
  • Keyboard Input
  • Toggle/Pulse Buttons
  • Linux Sound Support
  • Delay Buffers'
  • Generic Waveform Generation

TODOs

There's a lot to do still but here's a list of some of the cool features I'm currently implementing:

  • Logarithmic Oscillators
  • ADSR Enevelope Generators
  • Additional Blending Modes
  • Better Infinite Impulse Response (IIR) Filters
  • General Frequency Domain Transforms (DCT, FFT, DST)
  • Native MP3 Encoding
  • Mac CoreAudio API Sound Supoprt
  • Better UI Objects for realtime user interaction

Additionally, I need to clean up and comment the code of course.

Personal tools