User Tools

Site Tools


midibox_sd_card_sample_player

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
midibox_sd_card_sample_player [2011/12/11 18:16]
leeby5
midibox_sd_card_sample_player [2012/05/29 21:14] (current)
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 =====
 As of rev 1371 on the SVN, it now reads a file called '​player.cfg'​ from the SD card which is a UNIX style file (there'​s an example in the SVN) which contains name value pair separated by a space. At present it only supports two parameters, eg: As of rev 1371 on the SVN, it now reads a file called '​player.cfg'​ from the SD card which is a UNIX style file (there'​s an example in the SVN) which contains name value pair separated by a space. At present it only supports two parameters, eg:
  
-midichannel 1 +  ​midichannel 1 
-lee_hw 1+  lee_hw 1
  
 The first one (obviously) sets the midi channel for the player. The second value is to enable my simple rotary bank switch on J10 (you probably want this set to zero if you have a real midibox core, and want to use MIDI program change to select the bank). The first one (obviously) sets the midi channel for the player. The second value is to enable my simple rotary bank switch on J10 (you probably want this set to zero if you have a real midibox core, and want to use MIDI program change to select the bank).
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]]
midibox_sd_card_sample_player.1323627414.txt.gz · Last modified: 2011/12/11 18:16 by leeby5