This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
midibox_sd_card_sample_player [2011/12/11 18:17] leeby5 |
midibox_sd_card_sample_player [2012/05/29 21:14] leeby5 |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== MIDIbox SD Card Polyphonic Sample Player ====== | ====== MIDIbox SD Card Polyphonic Sample Player ====== | ||
- | This is a brief description of a project in progress to play back samples in real time from an SD card to an I2S based DAC on the Midibox. It will play a number of samples simultaneously, mixing the output to the DAC, the number of samples depends upon the performance of the SD card. | + | This is a brief description of a project to play back samples in real time from an SD card to an I2S based DAC on the Midibox. It will play a number of samples simultaneously, mixing the output to the DAC, the number of samples depends upon the performance of the SD card. |
===== Hardware ===== | ===== Hardware ===== | ||
You will need: | You will need: | ||
- | * Midibox LPC1769 core - see http://www.ucapps.de/mbhp_core_lpc17.html (or make a minimal setup like I did) | + | * Midibox LPC1769 core (or STM32 now, but that has limited polyphony due to core speed) - see http://www.ucapps.de/mbhp_core_lpc17.html (or make a minimal setup like I did) |
- | * I2C DAC (ie TDA1543) - see http://www.ucapps.de/mbhp_i2s.html but MAKE SURE YOU RUN THE TDA1543 DAC FROM 5V AS 3.3V SOUNDS BAD | + | * I2C DAC (ie TDA1543 or similar) - see http://www.ucapps.de/mbhp_i2s.html but MAKE SURE YOU RUN THE TDA1543 DAC FROM 5V AS 3.3V SOUNDS BAD |
* SD card interface - see http://www.ucapps.de/mbhp_sdcard.html | * SD card interface - see http://www.ucapps.de/mbhp_sdcard.html | ||
* SD card formatted as FAT (NOT FAT32 - important as FAT32 performance currently isn't fast enough) - this limits you typically to cards <=2GB | * SD card formatted as FAT (NOT FAT32 - important as FAT32 performance currently isn't fast enough) - this limits you typically to cards <=2GB | ||
* MIDI data via USB or the standard Midi in | * MIDI data via USB or the standard Midi in | ||
- | I have currently only tested this on the LPC1769 based MIOS32 Midibox. It should work in theory if compiled for the STM32, but I don't have one to try! | + | It has now been run on both LPC1769 and STM32 cores... :-) |
===== Creating files on SD card ===== | ===== Creating files on SD card ===== | ||
Line 47: | Line 47: | ||
* You can do sample hold per sample, eg have a bank where drum sounds are on some notes, and other non-hold samples such as bass are on other notes | * You can do sample hold per sample, eg have a bank where drum sounds are on some notes, and other non-hold samples such as bass are on other notes | ||
* It now supports velocity sensitivity, and this is translated to volume via a look up table | * It now supports velocity sensitivity, and this is translated to volume via a look up table | ||
- | * Bank switching is supported on the fly (ie without a reboot) - though program change isn't there yet | + | * Bank switching (MIDI program change) is supported on the fly (ie without a reboot) |
* Thanks to TK the sector positions on the SD card are cached leading to much better stability with multiple notes sounding | * Thanks to TK the sector positions on the SD card are cached leading to much better stability with multiple notes sounding | ||
Line 57: | Line 57: | ||
* Now uploaded to the MIOS32 SVN at: | * Now uploaded to the MIOS32 SVN at: | ||
* [[http://svnmios.midibox.org/listing.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Fsynthesizers%2FSD+card+sample+player%2F]] | * [[http://svnmios.midibox.org/listing.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Fsynthesizers%2FSD+card+sample+player%2F]] | ||
+ | |||
+ | ===== More info ===== | ||
+ | * A write up and more info on my site at [[http://www.bassmaker.co.uk|Bassmaker]] |