situ.am/modules

a collection of pieces to be put together in varying configurations

2020.01.23/modules/pd

Figure-Ground Delayline Modulator

the length of a sound-object figure modulates the length of a delayline
sounds received are fed back at varying, controllable, later times
varying the change in speed pitches the sound being fed back

used in: mawamama t01

screenshot
figure-ground-delayline-modulator.pd
figure-ground-delayline-modulator-help.pd

2020.07.30/modules/archive | roadmap

annotator

annotator _ presents recordings with possibly defined start position, end position, highlighted/annotate regions, and regions marked for removal (which are skipped over), offering an easy and potentially collaborative in-browser possibility of annotatating and non-destructively presenting snippets in the context of their longer recordings. regions made can be exported to a reaper project.

how to use:

note: adding/changing annotations is currently password-protected
- [ ] add guest user login

roadmap

2020.07.30/modules/pd

out-recorder~

stereo audio monitor and recorder. toggling record outputs two stereo .wav files to the disk - the audio sent to the first two inlets (x.wav) and the stereo microphone in (x-adc.wav). filenames are incremented. while recording, marks can be made, output to a text file on the disk. after recording, a voicememo can be optionally recorded from the microphone in (named as x-vm.wav).

requires rec-count.txt to keep count.

inlets: in-L, in-R, message

messages:

out-recorder~.zip

2020.07.30/modules/pd

container

a container MobMuPlat patch for pure data modules that currently consists of that runs on iphone:

2020.07.30/modules/archive

website

the website is built on pelican, a static generator that converts folders of markdown files to a static site. this allows the entire structure of the site to exist simply as text files with minimal markup. it is mostly used as is, aside for the addition of the annotator javascript app, the flow of which is as follows:

add session entry, all fields optional:

YYYY-MM-DD_test-entry.md

---
title: no title
date: YYYY-MM-DD
media: *.mp3, *.mp4, *.mp3
cover: *.jpg
---

some description

the list of media files specified in the yaml metadata output a list of divs:

<div class="sfplayer" id="soundfile-1.mp3"></div>
<div class="sfplayer" id="soundfile-2.mp3"></div>
<div class="sfplayer" id="soundfile-3.mp3"></div>
<script src="app.js"></script>

app.js on page load fills in each div with a sound file player interface. then it checks if there exist annotations for the soundfile, which are saved simply as .json files on a (currently separate) PHP server. if there are, a list of (labeled) regions and a title are filled in.

the title is content-editable, meaning it can be edited directly on the page, and any changes made are saved live back to the soundfile.json file. any changes to the annotations are similarly auto-saved to the server. the php scripts that handle this are placed in a password-protected folder on the server, making for a crude but functional at this scale authentication-required to make changes to the annotations.

2020.07.28/modules

portable collection

G field recorder field recorder iphone iphone field recorder->iphone in-ear monitors in-ear monitors field recorder->in-ear monitors iphone->in-ear monitors ms-2 amp ms-2 amp iphone->ms-2 amp em172 omni mic capsules em172 omni mic capsules em172 omni mic capsules->field recorder em172 omni mic capsules->iphone portable battery portable battery portable battery->iphone

a small collection of physical modules with different possibilities for interconnection depending on the situation that arises, chunked as follows. in assembling this kit, preference is given to small and light vs big and bulky, trying to always carry with:

sometimes also:

Digital Components

iphone runs MobMuPlat, a container app for Pure Data patches, which in turn runs:

2020.07.22/modules/archive

archiving workflow (current status)

currently:

folder structure:

| 0_process
  | *.mov
  | *.wav
  | *.aac
  | process.sh

| 1_originals

markdown file

---
title: (insert title here)
date: YYYY-MM-DD
media: *.mp3, *.mp4, *.mp3
---

(insert description/related notes/ideas here, before forgetting)

ideally:

2020.06.23/modules/archive

inverting images (pd screenshots)

tiny markup in markdown allows for easy client-side image-inverting

CSS:

img[src$='#pd-screenshot'] {
  filter: invert();
  mix-blend-mode: screen;
}

Markdown:

![alt]({static}/patches/demo.pd.png#pd-screenshot)
2020.06.20/modules/archive

managing recordings

Generally, the archive/annotator displays a light, web-friendly version of the files for viewing, with the originals stored elsewhere, as the raw files quickly fill up storage space.

The files are timestamped with their creation date (YYYY-MM-DD_HHMMSS.*) to enable easy sorting and individuality and reinforce that they were created at that time and not edited afterwards.

scripts

a collection of file managment bash scripts, meant to be run in a folder of raw files. requires ffmpeg.

wav-to-mp3.sh
renames *.wav to file creation timestamp and compresses to mp3, returns list of mp3 files

mov-to-mp4.sh
renames *.mov to file creation timestamp and compresses to mp4, returns list of mp4 files

jpg-to-web.sh
renames *.jpg to file created timestamp, compresses and resizes jpg images for web, returns list of jpg files

2020.06.19/modules/pd

5D routing matrix

A 5D routing matrix for PD affords programatic/instruction-based access to conduct signal routing on-the-fly with variable destinations, fade-time, and scheduling (wait x-ms first).

Syntax:

[; route <out> <in> <value> <ms-to-fade> <ms-to-wait>(

This effectively decouples the patching interface from the PD GUI, allowing control to be given to, ie., the MobMuPLat touchscreen interface, which implements a grid control and 3 sliders (value, ms-to-fade, ms-to-wait).

This also exposes the potential for live-coding/text-based triggering, ie:

[x]
|
[metro 100]
|
[; route <dac~> <adc~ 1> 1 10 0; r <dac~> <adc~ 1> 0 10 20(
[x]
|
[metro 101]
|
[; route <dac~> <adc~ 2> 1 10 0; r <dac~> <adc~ 2> 0 10 20(
2020.06.19/modules/pd

buffer looper

2020.06.06/modules/pd

ma-jumper

2020.06.06/modules/pd

[pd smoother] T01

[pd smoother] handles timing for fading level to zero while changing playPos

screenshot of pd-smoother

2020.05.18/modules

portable sound setup options

hardware options

PiSound + Raspberry Pi

components required:
- RPI: 35€
- PiSound: 99€
- SD card: 10€
- Battery

pros:
- dedicated device
- stereo audio in/out

explorations:
- [ ] document pisound explorations

findings:
- noisy preamp
- package is bulky and heavy

Phone

decided to proceed with phone setup to reduce complexity, given the availability of MobMuPlat container app, and since it's a device most always carried around anyway.

Bela Mini

toggle waveform
options
zoom: 0:00 / 0:00