AESP: The Ghettoest Rip-Off of Max/MSP
From The Math Club
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:
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.


