[LOGGED] a beat counter
-
@thatmattrogers said:
a plugin that already does this
Hi,
You could try something like this....
The Tap Tempo actor has a BPM (the tempo of the triggers in beats per minute) output, although I find it is a little tricky to calibrate in a satisfying way. Perhaps one of the Isadora Guru's knows the key to extracting usable BPM from the Tap Tempo module?
Best Wishes
Russell
-
@bonemap in theory as long as your audio track starts at he beginning of the file and you trigger the tempo actor to start with the track , then I'd assume it would all work out... assuming that the track is keeping perfect time and isn't a little loose.
It isn't quite as seamless as the system being able to detect beats automatically, but it will certainly do the job pretty well.
-
i've struggled with that Actor, tbh. If you, or anyone else has any tips on ways to use this, I'd be grateful.
-
@notdoc I'll do me experiments but I can't promise that I'll have any more success than you.
-
@notdoc said:
i've struggled with that Actor, tbh. If you, or anyone else has any tips on ways to use this, I'd be grateful.
It can be difficult to narrow the Sound Frequency watcher down to pick up accurate beat/hits (especially if the music is likely to change).
An easy solution to this is to connect a Keyboard watcher to the Tap Tempo and actually tap a key to the beat.This patch forces a number of beat to be input before an output is let thru. This minimizes error on the first report.
I'm sure this can be improved upon, but it seems to work. -
Hi,
Thanks for your solution/suggestion for the Tap Tempo BPM. I have resorted to similar manual methods too, and the actor is called ‘TAP’ tempo after all.
Automating a beat counter to produce the equivalent of a click track from a stereo mix is a challenge that is perhaps not ever going to have a universal solution.
When creating original sounds/music there are other methods for linking these attributes into Isadora. But often there is just a stereo file to work with and it is then that extracting a regular beat automatically would be nice. That said, perhaps a change of mindset is required and a change of methodology. Building on your manual solution and developing a user actor that outputs a synchronised trigger to a beat is likely the next step.
Best wishes
Russell
-
@thatmattrogers said:
at the moment I'm using "limit scale value" to change a percentage into seconds to help me work it out
If you make the sound file into an mp3, you can run it with a Movie Player actor in timecode mode, and then easily specify a specific time for the trigger with a Timecode Comparator actor set to compare mode greater than or equal to ("ge")
@thatmattrogers said:
but working with dancers and musicians means that beats are often a more helpful measure.
I'm afraid that "what beat number is this track on" is not an easy or common thing to detect. I think your dancers and musicians need to speak to you in timing terms that the computer can understand (i.e., minutes and seconds) if they are working with canned music. What they want is precision ("trigger this thing on this beat") and timecode is how you get precision. Tightly-synched performances using canned music that need to trigger specific cues at specific times generally do so through the use of timecode, not beat-detection.
If you're needing to trigger things based on a specific beat in live music, you're better off having the operator press a button when the Stage Manager tells them to rather than trying to automate the process.
At least, that's how I see it.
Best wishes,
Woland
-
thanks for this
-
@woland said:
easily specify a specific time for the trigger with a Timecode Comparator
I have explored this type of solution intensely and developed a working prototype. The concept is to capture/record timecode and use as repeatable trigger points. And this is actually not trivial to accomplish, although it is easy to say. This is a departure from Tap Tempo actor to a discussion about recording timecode. As @woland indicates it is a system setup for mp3/mp4 files played through the MoviePlayer so that a running timecode can be accessed.
Aim: Automate the recording/capture of timecode variables to then compare the recorded timecode points when replaying the same track.
Use case solution: Capture timecode associated with a media file at user specified intervals based on applying a manual keyboard stroke. A sequence of timecode variables captured as a list accessible for automating repeatable triggers that align to media file playback.
Example: Listen/watch a media file from the media bin and record timecode variables at subjectively selected times throughout the tracks duration.
To then playback the media file and compare the previously recorded timecode list as automatic trigger points that can be distributed through scenes while the track plays.
To be able to store a timecode list for a specific media file. To be able to reset the timecode list and start again with the same or a new media file.Therefore, it is altogether a system programmed to record, store and playback timecode variables specific to a media file track. Entirely possible as a user actor. An Isadora patch where timecode lists are created; capturing the recorded variables through the Data Array actor.
Here is my prototype from Feb 2020 If anyone wants to help develop this tool. However, it uses Router and Selector actors, the intention is to rebuild the system to use the Data Array because that will allow more/unlimited timecode variables to be recorded and more efficient ways to store timecode lists to compare to individual media tracks.
Best Wishes
Russell
-
the solution posted by @bonemap is the best you can reach actually with isadora in my experience. Mind that usually the beat si marked by the BD ( I mean in electronic music ) so you have to set your frequency from 20Hz to 200Hz. This make you pretty sure you are tracking the BD...but also the bass...this some time give you a tempo that is double than real so please introduce some trigger divider to help you having a proper tempo if needed.
-
I've logged this feature request as: BPM Actor - An actor like Tap Tempo, but that makes it easy to determine Beats Per Minute.
-
You may remember I made a feature request (see below) some time ago to allow the importation of timeline markers from movies created in NLEs (eg) Adobe Premiere and After Effects. The timeline marker info in contained within the header info of the video file.
Why would this be useful? In your NLE you can easily lay down markers to a beat. You can also see the waveform of an audio track and visually sync your markers to that for fine tuning. If one could bring the exported video file into Isadora with the markers intact, and there was a marker-trigger actor it would then be trivial to trigger events at the exact point in movie playback.
The recent improvements in timecode function in Isadora has made timecode triggering much easier, but you still need to find the exact point, set up a comparator actor, etc.
@Woland perhaps we can bump up my feature request?
https://community.troikatronix...