A simple string synthesizer implementing the Karplus-Strong algorithm. Licensed under the GNU LGPL.

Dependencies:   mbed

Committer:
elleo
Date:
Wed Jan 09 22:46:12 2013 +0000
Revision:
0:ce6724069f0a
Migration to new repository

Who changed what in which revision?

UserRevisionLine numberNew contents of line
elleo 0:ce6724069f0a 1 /*
elleo 0:ce6724069f0a 2 * libmbed-synth An audio synthesis library capable of running
elleo 0:ce6724069f0a 3 * alongside other activities.
elleo 0:ce6724069f0a 4 * Copyright (C) <2009> Michael Sheldon <mike@mikeasoft.com>
elleo 0:ce6724069f0a 5 *
elleo 0:ce6724069f0a 6 * This library is free software; you can redistribute it and/or
elleo 0:ce6724069f0a 7 * modify it under the terms of the GNU Library General Public
elleo 0:ce6724069f0a 8 * License as published by the Free Software Foundation; either
elleo 0:ce6724069f0a 9 * version 2 of the License, or (at your option) any later version.
elleo 0:ce6724069f0a 10 *
elleo 0:ce6724069f0a 11 * This library is distributed in the hope that it will be useful,
elleo 0:ce6724069f0a 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
elleo 0:ce6724069f0a 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
elleo 0:ce6724069f0a 14 * Library General Public License for more details.
elleo 0:ce6724069f0a 15 *
elleo 0:ce6724069f0a 16 * You should have received a copy of the GNU Library General Public
elleo 0:ce6724069f0a 17 * License along with this library; if not, write to the
elleo 0:ce6724069f0a 18 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
elleo 0:ce6724069f0a 19 * Boston, MA 02111-1307, USA.
elleo 0:ce6724069f0a 20 */
elleo 0:ce6724069f0a 21
elleo 0:ce6724069f0a 22 #include "Instrument.h"
elleo 0:ce6724069f0a 23 #include "mbed.h"
elleo 0:ce6724069f0a 24
elleo 0:ce6724069f0a 25 Instrument::Instrument() {
elleo 0:ce6724069f0a 26 _position = 0;
elleo 0:ce6724069f0a 27 _samples = NULL;
elleo 0:ce6724069f0a 28 _num_samples = 0;
elleo 0:ce6724069f0a 29 _samplerate = 11000;
elleo 0:ce6724069f0a 30 _bpm = 120;
elleo 0:ce6724069f0a 31 _samples_played = 0;
elleo 0:ce6724069f0a 32 }
elleo 0:ce6724069f0a 33
elleo 0:ce6724069f0a 34 void Instrument::set_samplerate(int samplerate) {
elleo 0:ce6724069f0a 35 _samplerate = samplerate;
elleo 0:ce6724069f0a 36 }
elleo 0:ce6724069f0a 37
elleo 0:ce6724069f0a 38 void Instrument::set_bpm(int bpm) {
elleo 0:ce6724069f0a 39 _bpm = bpm;
elleo 0:ce6724069f0a 40 }
elleo 0:ce6724069f0a 41
elleo 0:ce6724069f0a 42 float Instrument::proc_sample() {
elleo 0:ce6724069f0a 43 return 0;
elleo 0:ce6724069f0a 44 }