We are about to switch to a new forum software. Until then we have removed the registration on this forum.
Hi Everyone,
I’m hoping to get some advice on a Processing graphics/music project that I’d like to build. What I’d like to do is sequence Processing function calls to music. And to clarify, I want to sequence the calls manually, not use any kind of beat detection or spectrum analysis. The problem is that I need to make several hundred calls or more during a song and coding this manually will be tedious. I need something that will help automate (as much as possible) the process of sequencing the calls.
Ideally, I’d like to have some kind of software that shows the whole timeline of a song (possibly with a waveform or other analysis superimposed) and let’s me graphically choose (pre-written) Processing functions to call at any point in the timeline. The functions are then somehow associated with the chosen timestamps and then recorded for use with a sketch. What I don’t want is to hand write timestamps for every call (or the calls themselves for that matter).
I’ve researched various VJ software packages, but I haven’t found anything yet that can do this. Also, most VJ software includes functionality I don’t need.
Does anyone know of software that can do what I want? Perhaps there is something similar out there. Or are there any other suggestions or methods I might think about? I know that even with some automation, the job is still going to be quite tedious. I’m with okay with that. This is part of a larger art project I’m working on.
Any help is most appreciated! Thanks!
Ryan
Answers
Do you already have the effects made? What is your experience level with coding?
You could program a timeline where you can place effects and adjust parameters. The effects would need to be uniformly written for this to work. The problem is that timeline editing works at runtime while effect creation would happen in code. You could either:
(a) Create the timeline environment with a file saving feature which saves all Events on the timeline and an identifier (like event name). When you want to create a new effect, code it as a TimelineEvent and add the entry to the input file parser. Upside is that you can use Processing code for your effects, downside is that you have to recompile and reopen the show when creating/editing an effect
(b) Figure out a way to create effects at runtime (this can be very complicated)
Something like this is on my list of things I want to do but maybe not immediately.
I understand that you have one wave-file like 4 min long and that at certain points you want to show a graphical event
yeah, I'd go with (a)
you have two programs:
one program A to set the points (in millis from start) and to save them with a name (or index, but be aware that can become clumsy when you insert new points) each as file F1
another program B to load F1, play the song and work through F1
actually I think this is very easy:
for A just use an ArrayList and fill it with mouseClicks map mouseX to millis
eventMillis = map (mouseX, 0, width, 0, songLengthInMillis);
;-)
just did program A
new version with full edit for name and crs to move events
new version
same features, you can edit existing event markers etc.
this was all program A now I show program B
(a lot of this is just show, e.g. the yellow bar etc. )
file F1 looks like this btw.
Hi colouredmirrorball,
Thanks for your response. I’m pretty to new to Processing. I’ve made my way through several tutorials and parts of books. I’ve played around with Minim a bit. But, I’m just now starting to work on the graphics calls. I wanted to first make sure, that there wasn’t some code/framework/software package already existing that does what I want. Based on responses so far, it doesn’t seem like it (this includes a post to vjforums.info).
Yes, as chrisir has already confirmed, I assumed that there would be a separate program where events are placed/sequenced. I wasn’t sure if Processing would be good for that, but chrisr seems to have answered that.
Hi chrisir,
Wow! Thanks so much for this! It’s pretty much what I was envisioning. How long did it take you? Are you wanting/needing a similar tool? Or into it for the exercise?
I need to add a bunch of stuff, so I’ll take your code and run with it. Here’s a few things off the top of my head, in case you want to chime in about any of them (btw, I'm not expecting you to code any of this):
Since I need to cram so many calls into the song timeline, I’m gonna reduce the little squares to probably single or double width lines. Also, I’ll want add parallel rows (to your initial row of squares) where I can add calls for, say, specific instruments or sounds. This would allow me to separate instruments/sound effects into their own lines—which would add some organisation and ease of navigation to the calls.
I also need to have some ability to run the music at various speeds (ie., slow it way down) and easily start/stop and step through it, to make precise call placement easier.
A display of current time in the song (in ms) will help with this too.
I'd like the ability to read-in specially marked functions (eg. specifically formatted comments could be used for this) from another sketch, then upon placement of calls on the timeline, I am prompted to choose which function I want. This would then be written to the text file.
I've already played around with your sketches and looked at the text file. I think I might whip-up a simple sketch that reads the file and does some graphics….just as a proof-of-concept, before I get too far into developing.
Thanks again for this! It's really nice start to have. Much appreciated!
Ryan
here is a new version of sketch A which produces a short passage of source code to paste into sketch B
the source code just comes via println
Running the new version now--until my battery dies.
I see you already put in some fine tuning with the l/r keys. Nice.
yes, can change the millis now with cursors
also, with n, you can give each event another name