Jump to content

Lee

Programmer
  • Posts

    86
  • Joined

  • Last visited

Everything posted by Lee

  1. Committed a major new version, this has a new format bank file, for example: 0x3b 0 0031 3b.raw 0x3c 1 0000 t_c3.raw This is now: midi note number, 0=no sample hold, 1=sample hold, 0031 = envelope decay value, filename. The decay is experimental, but clearly 0000 = no decay, and higher numbers is a longer decay (up to 1023) - it's a decimal number. I've tested a bank file with different sample sets zoned, some with sample hold and different decay values and it seems to work ok, but it's probably got bugs, and i'm not really happy with some stuff - but it's a step forward! On the point around a RAM based wavetable player, that's not really a priority for me right now, though some of the SD card player can be reused for this type of purpose, but it is a major re-write. I'm interested in doing it, but i'll have to look at it later unless someone else wants to take it on..? Thanks Lee
  2. It is possible, but this would be at the expense of polyphony. With using SD cards, they are slow to read compared to RAM (like you'd have on a classic sampler) and right now 8 reads in parallel is all that is possible. If your sample finished part way through a 512 byte sector, you would need to read part of another sector at the start which one effectively take up one 'slot' from the 8 reads... So to allow for this case on all voices, we'd be down to about 4 notes polyphony... I'll have a play with this when I get the time and report back... Cheers Lee
  3. The code currently is one-shot only, however it should be fairly easy to add a parameter to the bank file to indicate looping, with the constraint that the samples will need to be 256 samples (512 bytes) long due to the way the card data is read in a sector at a time... Lee
  4. It's weird that, as I do own an M1 I bought back in 1990, I also have the Korg M1 VST software, and obviously this hardware now! :frantics: And the original hardware is best! (though wait until I sample it, like I did my DW8000 which I have as a sample set running on the SD card player sounding great!!) I've now got bank switching on the fly working too... Also out of the box the bank files support layering and zoning (ie layering = have same midi note on a line, with different sample. Zoning = just pick different sample for different midi note ranges). Pretty handy really! :ahappy:
  5. Hi all, I've just finished a basic implementation of a polyphonic sample player. It basically takes a bank of sample files from the SD card and allows playing in real time. You'll need an LPC1769 based MIOS32 device, the SD card interface and a I2S DAC... Further details and links to files on the wiki here: http://www.midibox.org/dokuwiki/doku.php?id=midibox_sd_card_sample_player Many thanks Lee
  6. Thanks all! Yes, i'll be interested to see how low I can get the latency between reading from different files. Ideally I would have an architecture where a very large ram eg 256Mbit would buffer the samples, and then directly DMA out of that... However although possible it's not massively straightforward given a RAM of that size will be dynamic (I've had previous fun a long time ago with designing an FPGA SDRAM controller and don't really want to go there now)... Anyway, to start with I was planning to open perhaps 8 sample files from the SD card, and within a few ms of midi input play or mute them (mixing to the i2s DMA sample buffer) - so it will need to keep resetting the file position pointer every time a sample is (re)triggered. How the SD card latency will fare here I'll be interested to see. If using FAT cooked etc is too slow, it's an option to perhaps just bit bang raw sample data from fixed positions on the card if that removes some latency, but I'll see once I can get my hardware rigged up to try! TK - your link looks like a great help, thankyou. And cheers for such a cool platform to play around with! Best, Lee
  7. Hi all, I'm still waiting for my hardware to arrive, in the mean time I thought I'd check out some software issues... I'm planning on experimenting with playing samples back from an sdcard to the i2s dac... I know that more than likely the card reading won't be quick enough, but I also wanted to quickly change which file i'm reading by opening multiple file handles using the file module (plus the fatfs / sdcard / spi includes). However, the file module is written to explicitly deny more than one file handle to be opened, the comments say: //! For the whole application only single file handlers for read and write //! operations are available. They are shared globally to save memory (because //! each FatFs handler allocates more than 512 bytes to store the last read //! sector) //! I was wondering if anyone's looked into the ramifications (excuse the pun!) of changing it to allow more than one file handle to be open, and how badly the memory got affected - before I attempt to do the same! Many thanks all Lee
  8. Thanks Peter! After some guesswork I set the environment vars to: MIOS32_BOARD=MBHP_CORE_LPC17 MIOS32_FAMILY=LPC17xx MIOS32_GCC_PREFIX=arm-none-eabi MIOS32_LCD=universal MIOS32_PROCESSOR=LPC1769 .. and had a successful make (tried one of the tutorial apps). No errors! I'm not sure how critical the MIOS32_BOARD value is? I now have to wait until my parts arrive before I can try a download, but I'm very excited. Now off to post my other question in the apps forum! Many thanks Lee
  9. Ok - ignore point 3, i've got Tortoise working away exporting the repo now... Would still appreciate advice on points 1 and 2 though. Thanks!
  10. Hi everyone, I've been trying to get my toolchain install sorted, but running up against a few snags. I'm not sure if all the wiki info is up to date, and not been able to find answers searching the forums so please go easy if the answers are out there! I've mainly been following the guide at http://www.midibox.org/dokuwiki/doku.php?id=windows_mios32_toolchain_core&s I'm running Windows 7 64 bit and my target board is the LPC17. 1. MinGW errors - it seems it doesn't play nicely with Win7 64 bit and the postinstaller script dies with a memory allocation error. However MinGW does seem to work afterwards - should I be concerned? 2. Environment variables - the guide linked above says to configure this: set MIOS32_GCC_PREFIX=arm-none-eabi set MIOS32_FAMILY=STM32F10x set MIOS32_PROCESSOR=STM32F103RE set MIOS32_BOARD=MBHP_CORE_STM32 set MIOS32_LCD=universal I'd just like to check that these are all appropriate if my target build is the LPC17? Or will it be ok with having the same core CPU? Is there anything that needs setting up as LPC17 in order for compiled in libraries to build the right target? 3. Downloading from WebSVN. I can't seem to download any of the content from the WebSVN - I just get 35 bytes of nothing downloading. Could someone explain whether this is normal and I'll have to install the full SVN client end? I'm just trying to pull down some of the tutorials and supporting libraries in order to try compiling examples to test everything. I hope to get this done while i'm waiting for my hardware parts to arrive! (I've got the LPCExpresso and bootloaded it ok so far...) Many thanks guys Lee
×
×
  • Create New...