samplebrain/README.md

150 lines
4.2 KiB
Markdown
Raw Normal View History

2022-09-16 04:31:45 -03:00
# Samplebrain
2022-09-04 07:50:37 -03:00
2022-09-12 07:44:00 -03:00
A custom sample mashing app designed by Aphex Twin.
2022-09-04 07:50:37 -03:00
2022-09-16 05:29:12 -03:00
Samplebrain chops samples up into a 'brain' of interconnected small
sections called blocks which are connected into a network by
similarity. It processes a target sample, chopping it up into blocks
2022-09-24 17:51:20 -03:00
in the same way, and tries to match each block with one in its brain
2022-09-16 05:29:12 -03:00
to play in realtime.
2022-09-17 05:26:06 -03:00
This allows you to interpret a sound with a different one. As we
worked on it (during 2015 and 2016) we gradually added more and more
2022-09-16 05:29:12 -03:00
tweakable parameters until it became slightly out of control.
2022-09-16 04:33:50 -03:00
![](docs/pics/screenshot.png)
Quick start:
1. Load a bunch of samples into the brain
2. Click (re)generate brain
3. Load a loop sample into the target
4. Click (re)generate blocks
5. Press play
2022-09-16 04:39:28 -03:00
6. Tweak brain
2022-09-16 04:39:28 -03:00
The default block size (3000) is really high to prevent CPU glitches -
500 to 1000 is a better range.
# [Demo brain session](https://static.thentrythis.org/samplebrain/demo.samplebrain)
2022-09-16 04:41:07 -03:00
2022-09-17 05:29:04 -03:00
Load this file using "load session" not "load brain" (sessions contain
both the target and brain samples).
2022-09-17 05:27:33 -03:00
# [Manual](docs/manual.md)
Full description of all the parameters and a bit of the thinking
behind it.
2022-09-17 09:54:17 -03:00
# Binaries
2022-09-16 04:31:45 -03:00
2022-09-26 06:46:24 -03:00
* **Windows**: (new fix for ridiculous CPU usage) [samplebrain_0.18.1_win.zip](https://static.thentrythis.org/samplebrain/samplebrain_0.18.1_win.zip)
2022-09-26 08:01:40 -03:00
* **Mac (new fix for silence/should work on m1)**: [samplebrain_0.18.1_macintel.zip](https://static.thentrythis.org/samplebrain/samplebrain_0.18.1_macintel.app.zip)
2022-09-26 06:46:24 -03:00
Thank you to [Nik Gaffney](http://fo.am) for help with the Apple builds
2022-09-22 09:53:09 -03:00
Mac note: As this software is not on the apple store, to run the
binary you need to tell your mac it's ok: Go to System Preferences >
Security & Privacy > General. At the bottom of the window, select
"Allow apps to be downloaded from Anywhere".
2022-09-26 06:46:24 -03:00
Windows note: Some people are reporting problems with windows 11.
# Old/broken/spurious binaries
2022-09-26 08:01:40 -03:00
* **Windows* *: [samplebrain_0.18_win.zip](https://static.thentrythis.org/samplebrain/samplebrain_0.18_win.zip)
2022-09-26 06:46:24 -03:00
* **Mac (intel)**: [samplebrain_0.18_macintel.zip](https://static.thentrythis.org/samplebrain/samplebrain_0.18_macintel.zip)
* **Mac (m1)**: [samplebrain_0.18_m1_v2.dmg](https://static.thentrythis.org/samplebrain/samplebrain_0.18_m1_v2.dmg)
2022-09-17 09:56:39 -03:00
**Linux install (Ubuntu)**
2022-09-16 04:31:45 -03:00
$ sudo add-apt-repository ppa:thentrythis/samplebrain
$ sudo apt update
$ sudo apt install samplebrain
If you'd like the right font, optionally:
$ sudo apt install ttf-mscorefonts-installer
2022-09-04 07:50:37 -03:00
# Building from source
## Linux (Ubuntu)
2022-09-16 04:31:45 -03:00
Install libraries for the sample engine (use brew on mac, MinGW on win):
2022-09-04 07:50:37 -03:00
$ sudo apt install libsndfile1-dev portaudio19-dev liblo-dev libfftw3-dev
2022-09-16 04:31:45 -03:00
Install dependancies for the interface:
2022-09-04 07:50:37 -03:00
$ sudo apt install build-essential qtcreator qt5-default
2022-09-16 04:42:28 -03:00
Build & run it:
2022-09-04 07:50:37 -03:00
$ mkdir build
$ cd build
$ qmake ..
$ make
$ sudo make install
$ samplebrain
## Mac
Install libraries for sample engine:
2022-09-26 08:14:13 -03:00
$ brew install fftw portaudio liblo
Install dependancies for the interface:
$ brew install qt
$ brew link qt
Build & run it:
$ mkdir build
$ cd build
$ qmake ..
2022-09-04 07:50:37 -03:00
$ make
2022-09-16 04:31:45 -03:00
$ sudo make install
$ samplebrain
2022-09-16 04:31:45 -03:00
2022-09-17 09:58:27 -03:00
# Mac build additions
2022-09-16 04:31:45 -03:00
To make a mac app bundle:
Run `macdeployqt` to copy all dependencies inside the app.
Create Mac app bundle:
$ cd build
$ macdeployqt
Copy desktop/samplebrain.icns (the icon) to the Resources directory in the bundle.
$ cp ../desktop/samplebrain.icns samplebrain.app/Contents/Resources
Edit Info.plist to add samplebrain.icns to CFBundleIconFile. Key `CFBundleIconFile` should match:
<key>CFBundleIconFile</key>
<string>samplebrain.icns</string>
2022-09-04 07:50:37 -03:00
## What's here
2022-09-07 07:18:06 -03:00
1. brain:
* samplebrain engine code
2. app:
* code to build the Qt GUI app
3. gui:
* qt designer project files
2022-09-16 04:31:45 -03:00
4. desktop:
2022-09-18 04:46:37 -03:00
* various icon files etc
4. cooking:
2022-09-18 04:46:37 -03:00
* some sketches and ideas
2022-09-04 07:50:37 -03:00
* proof of concept written in python
* brief initial (abandoned) attempt at clojure version
2022-09-18 04:46:37 -03:00
MFCC algo courtesy of the Aquila library by Zbigniew Siciarz MIT/X11
licence 2007-2014 (see brain/src/aquila/LICENCE)
2022-09-16 05:34:00 -03:00
This program is free software licenced under GNU General Public
2022-09-22 09:53:09 -03:00
License version 2 (see LICENCE).
Written by [Dave Griffiths at Then Try This](http://thentrythis.org).