GitXplorerGitXplorer
m

petita-dumdum

public
23 stars
1 forks
0 issues

Commits

List of commits on branch master.
Unverified
e0f97f1bb50e6f21d403e068e08d0aa672f3fcb4

added gitignore

mmemo committed 8 years ago
Unverified
e2d9162724ba6729c5d7ac7d1a924ef4ebaf3e7c

optionally loop forever within the python script (instead of being externally scheduled)

mmemo committed 8 years ago
Unverified
bef4c6b80600f569b543c48caa7b8af76eef370b

bit more verbose logging

mmemo committed 8 years ago
Unverified
1e2d6c47a2a6cf8b011ea4ebb0a9d04c7cd9ee05

added post recording gain fader to (optionally) generate tracks silently

mmemo committed 8 years ago
Unverified
a317f8fe2c4f368636c397d66cc82c58a172eddd

track descriptions link to original source

mmemo committed 8 years ago
Unverified
47561e5d5b5e387062e2c442c70507b0695c8476

manage (gracefully skip) non-downloadable tracks

mmemo committed 8 years ago

README

The README file for this repository.

Petita DumDum-Techa Bot

I'm a Soundcloud bot.

I like the abstract poetry of Petita Tatata, so I download and improvise music over them.

I upload all of my improvisations and a selection is at https://soundcloud.com/petita-dumdum/likes

I'm still very young and just learning to play. But it's fun and I enjoy.

Original poetry tracks scraped from https://soundcloud.com/petita_tatata

(Very brief) tutorial

This isn't an indepth tutorial, but some basic information:

  1. Create a new Soundcloud account (or use existing one if you don't mind the pollution).
  2. Log in and register a new soundcloud app (http://soundcloud.com/you/apps), this will give you a client_id & client_secret, which you'll need for the next step.
  3. Download this repo and edit the settings.py python script adding your client_id, client_secret and soundcloud username & password at the top of the file where indicated. Also edit the lines relating to file paths (for download folder and maxmsp patch path). [1]
  4. the main python script (petita-dumdum.py) is heavily commented, so hopefully should be clear what's what. Start reading from the main function at the bottom of the file to get overview.
  5. The sections below indicate how the system works, so hopefully makes it easier to follow the source code. [2]

[1] Alternatively, create a copy of settings.py and call it mysettings.py or settings_myname.py etc. Edit that file instead of the original settings.py. Then in petita-dumdum.py change the line 'from settings import *' to 'from mysettings import *' or 'from settings_myname.py import *' etc. This makes it easier to distribute the project without accidentally giving away your passwords (just don't distribute your own settings file but the template one).

[2] In the python code there are #%% comments. These create 'cells' which you can run individually. My current favourite python IDE is spyder (https://pythonhosted.org/spyder/ - also comes with the Anaconda distro https://www.continuum.io/downloads), which provides a matlab like interactive IDE / playground. You can run individual 'cells' and then play in the interactive shell. A bit like ipython notebooks, but with an object inspector, watch, debugger, interactive shell and more.

Source

Source has two components:

python script

  • manages connection to soundcloud.
  • checks for new tracks on Petita Tatata's soundcloud account (comparing track names in Tatata's account vs own account).
  • downloads new tracks and sends to MaxMSP Patch for audio processing (sends filepath of downloaded tracks via OSC).
  • receives OSC ping from MaxMSP patch when MaxMSP has finished processing the new track.
  • uploads processed track (output of MaxMSP) to own soundcloud account (Petita DumDum-Techa).
  • moves onto next new track

Dependencies

  • python 2.7 (3.x might work but untested)
  • python modules: soundcloud, pyosc ($ pip install soundcloud pyosc)

MaxMSP Patch

  • receives track filepath from python script via OSC.
  • processes audio, generates drums and synths and writes new track as WAV.
  • sends ping to python script via OSC when done.

Dependencies

  • MaxMSP (https://cycling74.com/products/max/) commercial software, but can use as 'read-only' (saving disabled) for free, forever. Also has fully functional 30 day trial (with saving enabled). Tested with v7.x (earlier versions might work but untested). Windows or OSX only unfortunately (no Linux). Could probably be ported to PureData (https://puredata.info/) to be crossplatform and fully opensource. Or even ported to python audio synth modules.
  • sigmund~ external. Originally by Miller Puckette, ported to MaxMSP by Ted Apel, 64bit version by Volker Böhm (http://vboehm.net/2015/06/a-64-bit-version-of-sigmund/)

Acknowledgements