Audio to MIDI for long audio recording break up

Having been doing a fair amount of fairly long recording with a zynthian over the past couple of days, and mindful of discussions about auto detecting and such like, I was wondering if anyone had come across a simple LV2 plugin that could, rather than analysing pitch in audio to MIDI could simply output MIDI Key down when it detected audio over a threshold and a Key up when the sound dropped below the threshold.

It would be really handy for quickly tearing apart several hours of recording if the MIDI could be recorded at the same time, a task I suspect the zynth could do very successfully.

If such a beast doesn’t exist then I suspect it’s not too difficult an LV2 module to make my first forage into this sort of area . . .

Simply… each time a sound enters the input, the program would play a C#3 or whatever note you asked him to play ?
What is that for ? Triggering drum software each time you hit a real drum ? Send ultrasound to calm down your dog each time it barks ? Adding some attack here and there to your guitar recording, by triggering an enveloppe generation driving a variable filter ? Add some effect each time you play a note harder than the others ? Use your snare drum as a click or clock for your sequencer ? Play a “I’m absent for now, come back later” sample each time someone knocks your door ?
Sure there would be a lot of uses…
But why a note ? This software si, IMHO, give the choice of the MIDI event… note, or CC… or even MMC for starting a recording or a playback…

It’s for bell ringing.

Quickly break up a two or three hour session into chunks automatically rather than have to go throu’ it and use audacity to do it.

It wouldn’t take much to auto file this sort of thing.

But any unattended recordings, nature recordings or concerts ( probably harder to detect the gaps, but generally everything is possible). One of the most tedious task with field recording is the process of just breaking up the chunks into something use-able. combine this with a I/0 press from someone and you could mark good takes very easily ( another note into the stream).

I just don’t want to invent another Meta data format to get lost or mis-shapen by convertion and such like.

It doesn’t have to be a note but I was thinking of advancing it a little into indicating things like overall volume of the segment and possibly breaking into frequency ranges as advanced features.

One could certainly use cc, but notes seem to match the concept best, but I’m sure it wouldn’t be hard to do options . . .

Oh I see… my Minidisc recorder has a fonction like this…

  1. it would detect a minimum (very low) levek of sound and would start recording… then when the level again went very low, it would çonsider that a second recording starts and would make a new track *without shopping recording)… then you would have a complete 80 minutes max recording, separated in different tracks according to the silences inbetween… (mauve there was a minimum duration of silence before it would truncate… and maybe a maximum sudation, and then it would stop and turn off)…

  2. anither option was : once you started recording, it would truncate every 3 minutes…

  3. I’m not sure… I think you could also press a button, while recording, to indicate that, what would follow would have to be a new track…

That’s what you’re looking for, I guess… and sure, a note on/note off message could do, but doesn’t seem to be the best choice… (unless you mean that it would be recorder inside the audio track and be used as an audible message or cue, for you…)

Interesting thoughts. I didn’t know Minidisc did that. Very handly.

Well… I also remember an old 2deck cassette recorder… When you wanted to make tape copies (with loss, of course) you would put deck 2 into record mode… but it wouldn’t start before it “hears” a sound…
and when you would start playing desk 1, then a track woould start and that would ring deck 2’s bell “shouldn’t you start now ?”…

also, the same tape recorer (which, surprisingly,was also a tape player) had another function : You would want to listen to track 4… You wou_ld start the cassette in “cue” mode : that was, play + fast forward presseed together… and the player would “read” the tape, notice one silence between track, and would count it… a second silnce… a third silence : ok, it would stop “cueing” and start playing…

We spent a fair while cutting up off lines & master recordings from promo shoots to aid the on-line, to save lots of tape changing. Good edit controllers like the Ampex ACE could build a master almost real time with two play in decks and a record, but the drag was as directors got more ambitious and cameras got cheaper, you ended up with lots of source reels that you wanted broken down to easily reference. I.e. I want to know what we got for take 5 for the second chorus on camera 3.
T/C in vision on the off line and T/C readers made it fairly easy but that was a fairly slick operation.
The difference that a really good Production assistant could make ( i.e. the Timings were precise and accurate) was incredible and anything that makes those processes easy is welcome.

I reckon that if you make a task as easy as possible people will do it more. one less switch makes it twice as likely to happen.

When the soft you need exists, let’s call call it “serial clicker”…

1 Like

Re some music detect plugin, (late again) seems like starting with some sort gate plugin, using their front end to decide if it’s music, tapping into the internal switch control…

Mod duo has an interesting peak-to-cc.lv2

Here’s an example AU env follower with CC outs.

@wyleu what you describe is a threshold triggered audio recorder. This is already implemented in many audio recorders, e.g. Audacity but not in Zynthian’s audio recorder. The better implemented versions will record into a cyclic buffer continually then use this buffer to capture audio in the past when the audio threshold is reached.

I anticipate we may replace jack_capture and mplayer with our own zynthian audio recorder / player (like we did with the MIDI recorder / player). If so we could add threshold based recording.

I would recommend (until we have a dedicated audio recorder) for you to record a single large file then to split it using an audio editor’s split on silence function. Audacity has a plugin that detects silence and inserts markers. You can use other tools (maybe command line - sorry) to split the files automatically, e.g.

ffmpeg -i "input.wav" -af silencedetect=noise=-30dB:d=0.5 -f null - 2> vol.txt
ffmpeg -ss <silence_end - 0.25> -t <next_silence_start - silence_end + 2 * 0.25> -i input.mov word-N.wav

(Taken fairly verbose from the web - not validated.)