New Channel

Tutorial - Changing sample pitch in real time

Implementing New Voice Type for Melody - Sampled Instrument

Objective: Demonstrate how to expand the functionality using the framework, showing examples of how to:

  • add a new type of voice, played by a real instrument
  • use this voice for melody, by changing pitch in real time

Prerequisities

If you haven't done so, please start with the first tutorial in the series to make sure you have all equipment and software ready.

Get Started

Let's assume you got the IDE installed, board connected to SWD and you tried the flashing utility to see that it communicates well.

Find a sample you want to use for the new instrument, it should be a WAV file, mono, 16bit. The sampling rate is not too important here.

Tutorial - How to implement new channel

Implementing New Channel - A Rudimentary Drum Machine

Objective: Demonstrate how easy is it to expand the functionality using the framework, showing examples of how to:

  • add a new channel with any numeric code we want
  • enable or disable standard features that are available, to borrow some functionality from other channels
  • upload arbitrary data into FLASH memory and access it, this is handy for lot of other things too
  • decode binary 16-bit PCM sample data from a standard WAV format
  • play multiple instruments in parallel, from FLASH memory with zero waiting state and no need for buffering in SRAM
  • bind this new functionality to existing controls
  • mix the signal output from our custom function into the loop with or without delay/echo

Requirements for any Gecho firmware programming