EEPROM programming for Drum Sample output

Hello yall. I made some progress today on my pet project. The basic idea is to load up some roms with sample data and have an arduino play it back. It is still as of writing this topic a bit buggy, but it is far enough along to share some progress i think.

This demos three things,

  1. The output of a linndrum’s snare eeprom dump raw.
  2. The output off of the eeprom fed through the arduino and output one of it’s pins
  3. The output, then processed by a Sallen-Key low-pass Filter.

I am presently using a 24LC512 ROM chip. If people want more details about the process of communicating with EEPROMS i will gladly oblige.

https://www.taydaelectronics.com/ic-integrated-circuits/memory-ic/24lc512-i-p-24lc512-24512-512k-ic-i2c-serial-eeprom-ic-microchip.html

Essentially though, i just have arduino code that creates a serial interface with my computer to the chip, then use TeraTerm to load up the bin file of the EEPROM. Easy Peasy.

Once i get the last things sorted on this im thinking i could make a shitty clone of a linndrum and of course wavetable synths. I have some ROM dumps of many sample based instruments, and you can also just use Audacity to convert any ol wav into PCM of a compatible format.

And yes, this very much does not sound right. :slight_smile:

HIGH TECH, LOW LIFE

3 Likes

I don’t know-I think you’ve got something here!

As I understand it, the LinnDrum samples were of low quality by modern standards, just 8 bits and at 28-35KHz. Depending on how you procured these samples of samples, lower quality may not be so surprising. Do the samples sound okay in Audacity on a modern laptop?

Edit: I just noticed you’re using PWM for output. What’s your code?

1 Like

They’re μ-law compressed iiuc, so ~14 bits after expansion (−8159…+8158). If you don’t expand, odds are things sound weird.

3 Likes

Thought it might be an encoding problem. Just flinging bits at a digital output port is too unsophisticated.

2 Likes

BTW, i never replied to this, but these were raw dumps of the EEPROM. Doesn’t get any more “from the horses mouth” than that.

Also, i believe i was using the correct encoding, but i have also encoded them in many fomats with varying levels of success.

The issue is really sample rate on the playback. I was using an arduino nano, and i believe the serial speed was bottle-necking the sample rate. A teensy might eliminate this problem entirely.

3 Likes

I need to look into this project again. I just think it would be neat to pre-program eeproms with samples and run with that. I think ill try and build and drive the circuit without relying on the arduino since that seemed to not run the code at audio speed.

2 Likes