-
8ms - Lowest Latency Open-source Sampler / Synth
05/04/2017 at 19:23 • 0 commentsLatency is a key characteristic of a sampler. The lower it is, the more comfortable it is to play an instrument. Even normal human speech appears to be out of sync on video when sound is delayed by 50ms or more. With digital instruments most players' preference is to achieve latency lower than 10ms.
The latency itself appears due to processing delay, while a synth or a DAW is processing note input from a keyboard or controller, adds time for loading a sample, starting playback, applying digital filters, buffering, sending data to ADC and playing. Note that buffering is the only part of total latency visible in DAW or sound card settings on a computer.
Naturally its been a great question for us to find out how much can be achieved with a sampler written on Python and running on a Raspberry Pi. The answer is to measure.
The measurement setup consisted of:
- MIDI keyboard connected using serial MIDI to eliminate any variability that may be introduced by USB protocol.
- Raspberry Pi 3 running latest SamplerBox software version from https://github.com/alexmacrae/SamplerBox
- SamplerBox Player PCB MIDI interface and DAC.
- An oscilloscope.
The latency was measured as a delay between MIDI note on event and instrument sound appearing on DAC output. Therefore it included both software buffering and hardware I/O delays. The result was a pleasant surprise: only 8 ms.
-
PCB Revision 2 Preview
02/26/2017 at 10:36 • 2 commentsFollowing testing of the initial prototype, new revision of the SamplerBox PCB is getting ready for manufacture. The dimensions were reviewed to reduce size of the board and also to locate audio connectors and controls on the back of the device.
Large balanced TRS jacks have been replaced with minijack to make the SamplerBox more miniature. The circuitry is designed to allow connecting SamplerBox to either unbalanced or balanced inputs using a special balanced cable, which offers same level of noise protection as TRS jacks.
-
Fully Working Sampler Board
02/07/2017 at 15:49 • 1 commentA year ago I set off on a journey to create a custom board that would be designed to run SamplerBox - the best open-source sampler available.
And the great news are, this is now done. I've designed and manufactured a board that connects to Raspberry Pi and provides necessary audio interfaces: MIDI IN/THRU, onboard DAC, balanced line outputs, headphone amp, display and control buttons.
It is optimised to have all necessary connections onboard and yet be portable. Onboard DAC uses same chipset as best Raspberry Pi sound cards available on the market do and the sound quality is terrific. This sampler is not becoming a bottleneck in quality of your setup. Sounds as good as your samples and listening devices are.
At this point I need to ask for your help. To guide development of this project further, I'd like to ask you whether you would be interested to use this device. Would you like to get the schematics to make a DIY project? Or an assembled board to make DIY easier and faster? Or you'd rather be interested in owning a pre-made sampler instead? Let me know!P.S. The HD44780 issue from the previous post: turned out a faulty microUSB cable not handling current well and causing 5V voltage rail to drop below 4.3v. (Instantaneously, but was enough to disrupt display updates.)
-
PCB Assembly and Testing
02/03/2017 at 05:23 • 0 commentsThe sampler board assembled and after adding a couple of minor mods DAC is fully functional, as well as program change buttons.
Display is not updating properly which is likely because of LCD controller vendor being different from the one used in prototype - commands and timings need to be revised.
Testing of traditional MIDI interface is to be done as well.
PCM5122 DAC turned out to be capable of driving headphones directly. Not clear if a separate headphone amp and output makes sense is this scheme. What do you think?
-
Prototype PCBs Ready
04/20/2016 at 00:03 • 0 commentsSamplerBox 1 PCBs have been manufactured and it is now ready for assembly and testing. This prototype board is designed to host a Raspberry Pi board, providing MIDI interface, I2S DAC, line outputs and a headphone amplifier. Two GPIO buttons and 16x2 LCD display are placed on the opposite side of the board.
-
Prototype PCB testing is complete
02/23/2016 at 13:48 • 5 commentsPrototype PCB testing is complete at this point and it is being prepared for manufacturing.
The current design is a 11x11cm PCB that holds all required peripherals and plugs into Raspberry PI GPIO socket, eliminating the need for any wiring as DAC, all peripherals and connections are placed onto one board. It is designed to fit stylish aluminium off-the-shelf 12x12x4 cm enclosure.
A concept drawing.