{"id":14978021,"url":"https://github.com/josephernest/samplerbox","last_synced_at":"2025-04-13T05:02:01.322Z","repository":{"id":32427199,"uuid":"36004800","full_name":"josephernest/SamplerBox","owner":"josephernest","description":"SamplerBox is a sampler musical instrument based on RaspberryPi.","archived":false,"fork":false,"pushed_at":"2024-05-09T19:18:19.000Z","size":306,"stargazers_count":451,"open_issues_count":15,"forks_count":100,"subscribers_count":40,"default_branch":"master","last_synced_at":"2025-04-13T05:01:55.433Z","etag":null,"topics":["audio","audio-processing","music","piano","python","raspberry-pi","raspberrypi","raspios","sampler","samplerbox","synthesizer"],"latest_commit_sha":null,"homepage":"https://www.samplerbox.org","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/josephernest.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["josephernest"],"custom":"https://afewthingz.com"}},"created_at":"2015-05-21T09:48:41.000Z","updated_at":"2025-04-08T20:25:09.000Z","dependencies_parsed_at":"2024-04-26T10:46:00.559Z","dependency_job_id":"a77b1ed6-ce33-4685-a12d-cd9ed3f2eddf","html_url":"https://github.com/josephernest/SamplerBox","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/josephernest%2FSamplerBox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/josephernest%2FSamplerBox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/josephernest%2FSamplerBox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/josephernest%2FSamplerBox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/josephernest","download_url":"https://codeload.github.com/josephernest/SamplerBox/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248665752,"owners_count":21142123,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["audio","audio-processing","music","piano","python","raspberry-pi","raspberrypi","raspios","sampler","samplerbox","synthesizer"],"created_at":"2024-09-24T13:56:43.235Z","updated_at":"2025-04-13T05:02:01.179Z","avatar_url":"https://github.com/josephernest.png","language":"Python","readme":"# SamplerBox\n\n*Update: [Remove drums from song](https://www.yellownoiseaudio.com) with the VST DrumExtract!*\n\n\u0026nbsp;\n\nSamplerBox is an **open-source DIY audio sampler project** based on RaspberryPi.\n\nWebsite: [www.samplerbox.org](https://www.samplerbox.org)\n\n[![](https://gget.it/flurexml/1.jpg)](https://www.youtube.com/watch?v=yz7GZ8YOjTw)\n\n# Install\n\nSamplerBox works with the RaspberryPi's built-in soundcard, but it is recommended to use a USB DAC (PCM2704 USB DAC for less than 10€ on eBay is fine) for better sound quality. \n\nYou can use a ready-to-use ISO image from the [Releases](https://github.com/josephernest/SamplerBox/releases) page or do a manual install:\n\n0. Start with a standard RaspiOS intsall. The following steps have been tested with [2021-05-07-raspios-buster-armhf-lite.zip](https://downloads.raspberrypi.org/raspios_lite_armhf/images/raspios_lite_armhf-2021-05-28/2021-05-07-raspios-buster-armhf-lite.zip).\n\n1. Install the required dependencies (Python-related packages and audio libraries - the current version requires at least Python 3.7):\n\n    ~~~\n    sudo apt update\n    sudo apt -y install git python3-pip python3-smbus python3-numpy libportaudio2 \n    sudo apt -y install raspberrypi-kernel  # quite long to install, do it only if necessary, it solves a \"no sound before 25 second on boot\" problem\n    sudo pip3 install cython cffi sounddevice pyserial\n    sudo pip3 install git+https://github.com/SamplerBox/rtmidi-python.git     # now also works for Python3.9+ and Cython3 ; for Windows, see below\n    ~~~\n    \n2. Download SamplerBox and build it with:\n\n    ~~~\n    git clone https://github.com/josephernest/SamplerBox.git\n    cd SamplerBox\n    sudo python3 setup.py build_ext --inplace\n    ~~~\n\n3. Reboot the Pi, and run the soft with: \n    \n    ~~~\n    sudo python3 samplerbox.py\n    ~~~\n\n    Play some notes on the connected MIDI keyboard, you'll hear some sound!\n\n4. *(Optional)*  Modify `config.py` if you want to change root directory for sample-sets, default soundcard, etc.\n\n\n# How to use it\n\nSee the [FAQ](https://www.samplerbox.org/faq) on https://www.samplerbox.org.\n\n# Notes\n\nA few remarks:\n\n* the current version works on Pi 2, 3, 4 (re-tested on Pi2 \u0026 Pi4 on 2022-08-09)\n* the current version also works on Windows if all the required modules are installed\n* MIDI via GPIO/serial should be re-tested with the current version, see https://github.com/josephernest/SamplerBox/issues/49\n* 7-segment display confirmed working as of 2022-08-09, see [requirement](https://github.com/josephernest/SamplerBox/blob/916ae0a5504b0ce757d89e2ece4c65efb60b6d91/samplerbox.py#L361)\n\n# ISO image\n\nThe ready-to-use ISO images available on [www.samplerbox.org](https://www.samplerbox.org) are built with the help of a script that can be found in `isoimage/maker.sh`.\n\n# Platforms\n\n* SamplerBox has been primarily made for Raspberry Pi / RaspiOS\n* It also works more generally on major Linux distributions\n* It also works on Windows, but you are a bit on your own with no support ;)\n     Example: to install the dependency `rtmidi-python`, you have to do: `pip install cython`, `git clone https://github.com/SamplerBox/rtmidi-python.git`, `cd rtmidi-python`, `python setup.py install`.\n\n# About\n\nAuthor : Joseph Ernest (twitter: [@JosephErnest](https:/twitter.com/JosephErnest), mail: [contact@samplerbox.org](mailto:contact@samplerbox.org))\n\n# Sponsors and consulting\n\nI am available for Python, Data science, ML, Automation **consulting**. Please contact me on https://afewthingz.com for freelancing requests.\n\nDo you want to support the development of my open-source projects? Please contact me!\n\nI am currently sponsored by [CodeSigningStore.com](https://codesigningstore.com). Thank you to them for providing a DigiCert Code Signing Certificate and supporting open source software.\n\n# License\n\n[Creative Commons BY-SA 3.0](https://creativecommons.org/licenses/by-sa/3.0/)\n","funding_links":["https://github.com/sponsors/josephernest","https://afewthingz.com"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjosephernest%2Fsamplerbox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjosephernest%2Fsamplerbox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjosephernest%2Fsamplerbox/lists"}