The specifications of this project that I want to implement will be a software-based version of the Akai MPC 1000.

Its main features that I am currently in the works of implementing are (via Akaipro.com):
In addition to these features I would like to add a subtractive synthesizer to the software based model in order to allow the user to not only sequence samples, but synthesized sounds as well. I have already implemented a sequencing program in my first max program, which allows the ability to step sequence at 1/8th note rhythmic values. I am improving upon this by using assignable key ranges to each sample as transposition of each sample based upon a specified root key or Frequency. This program will allow a user to input midi data by way of keyboard to control and sequence the samples and the synthesizer. The synthesizer will be within a different module to allow for separation of play. I plan to implement sampling with effects on so that a sample can be recorded with a Phaser or Tremolo for example and then triggered with that effect without taking up the processor to implement the effect during playback. For the sequencer I plan to improve upon the resolution by using the Max objects metro and count, limiting the range of count such that it allows for 32 discrete time intervals of time to capture midi data from a midi keyboard and bind the input to that timing. I would like to implement a user setting to allow switching the resolution between 32-16-8 within a pop up menu such that it would not be such a restriction on the sequencer. I’m currently investigating more of the midi properties and handling so that I may better implement this sequencer.
This project will deal with a great amount of filters, and because of that I wanted to take the chance to implement a subtractive synthesizer. I will use sine and saw waves as the base signals for this synthesizer and plan to implement several filters in order to form different sounds from the original signals. I plan to provide an interface, which allows for modification of parameters such as resonance and pitch. This module will be able to share certain aspects of the sequencer and effects processor with the main program. I plan to separate this project into 3 modules: Sampler, Midi Sequencer, and Synthesizer. These will be combined in a program that allows for integration into the sequencer for midi playback.