Ms Pinky's Reformed Max-For-Live device

For topics related to using MsPinky inside the Max/MSP graphical programming environment
dlpinkstah
Site Admin
Posts:1093
Joined:Mon Jun 07, 2004 9:17 pm

Post by dlpinkstah » Mon Sep 20, 2010 7:49 pm

How are you loading the file when the audio drop-out occurs? Does the drop-out occur when using drag-n-drop from the Ableton file browser? Or does drop-out occur when loading via the pop-up menus built-in to Ms Pinky's M4L device?
JuanSOLO
Posts:74
Joined:Tue Dec 01, 2009 5:08 am

Post by JuanSOLO » Wed Sep 22, 2010 6:23 am

Neither. The drop outs occur when using the load from highlighted clip feature, although it is a modified version, kind of like Bento's suggestion, in the threads, using a button instead of just highlighting.

Typically, my decks will stay running with the needle on them during a set, unless they get to the end of the record. If I load a track into a deck, "sometimes" it makes both decks drop out, or even sound crackly like a latency issue. However I keep my latency settings at a reasonable amount. My sample rate is set to 125 in Ableton.

My path/folder structure is like this. There is the main folder in my Max App folder "Pinky Audio." Inside that there is a set of BPM Folders 90 BPM, 100 BPM, 110 BPM, and so on. Inside each BPM folder there is a genera folder. Hip Hop, Electro, Rock, etc.. Insode those folders are the wav files.

Granted, if I put a new song in these trees of folders, and Load it into Pinky, the song has to initialize and make the .wvf file. But what I am talking about with the audio drop outs, can happen anytime. Sometimes it seems like it's just because its a large file, like a LONG track, other times it just happens, even if it's a short clip.
dlpinkstah
Site Admin
Posts:1093
Joined:Mon Jun 07, 2004 9:17 pm

Post by dlpinkstah » Wed Sep 22, 2010 5:24 pm

My hypothesis is that it's taking M4L a very long time to find the file you want to open when you press the "open selected" button (or whatever you've re-patched it to be...). When you open files that way, M4L has to search through all the folders in your search path until it finds the file in question. It can't just open the file directly because the Live API does NOT include a file's full path name, just it's clip name (DOH!!!!) :evil: So every time you open a file via that button, M4L has to search through an enormous number of files to find the file on disk whose name matches the name of the clip you've selected. Given that your folder structure is fairly complex, and you may have a ton of files in it, it can take M4L a long time to find the file on your harddrive that you want to open.

As a quick check, try NOT opening files with the M4L button from the patch, but only by drag-n-drop from the Ableton file browser. The reason for trying this as an alternative is because the Ableton file browser will provide the M4L patch with the full pathname of a file, and no searching through folders is required. You could also try simplifying your folder structure somehow so that M4L has fewer folders to scan through to find the file you want to open.
JuanSOLO
Posts:74
Joined:Tue Dec 01, 2009 5:08 am

Post by JuanSOLO » Wed Sep 22, 2010 7:28 pm

Thanks for the reply.

So is there a way to dedicate a file path, for each track once it has been loaded, once?

Although Drag and Dropping is a workaround, it's slow vs firing the clip with a button from a controller.

I'm wondering if I could use something like Bomes to emulate page up and page down buttons on my computer keyboard to scroll in Live's Browser, and then some kind of M4L command to load the track in a drag and drop style.

I could definitely simplify my folder structure. I don't mind putting ALL my files in one folder. But I'm not sure that would get that much better results from what your telling me here.
dlpinkstah
Site Admin
Posts:1093
Joined:Mon Jun 07, 2004 9:17 pm

Post by dlpinkstah » Wed Sep 22, 2010 11:36 pm

The Ms Pinky file scratching and vinyl/CD control external object mptcfs_sa~, which is the heart of the Ms Pinky M4L devices, has the capability to load up to 64 audio files simultaneously into "slots". You can then issue the "file_slot N" command to set the currently active file slot to N. Unfortunately, i don't have an example patch to illustrate how to use this capability, but what it will do is allow up to 64 clips to be pre-loaded in mptcfs_sa~ and then you can instantly switch which one is currently playing. So there won't be any noticeable delay when switching between these pre-loaded clips. The delay caused by M4L having to search for the file will only happen once-- when you load the clip into mptcfs_sa~ slot N. More on this soon--
JuanSOLO
Posts:74
Joined:Tue Dec 01, 2009 5:08 am

Post by JuanSOLO » Fri Sep 24, 2010 12:13 am

This sounds cool, yet I barely understand it.
dlpinkstah
Site Admin
Posts:1093
Joined:Mon Jun 07, 2004 9:17 pm

Post by dlpinkstah » Fri Sep 24, 2010 6:16 am

Did you try simplifying your folder structure? That should help.
JuanSOLO
Posts:74
Joined:Tue Dec 01, 2009 5:08 am

Post by JuanSOLO » Fri Sep 24, 2010 3:10 pm

I'll be doing that tonite.
JuanSOLO
Posts:74
Joined:Tue Dec 01, 2009 5:08 am

Post by JuanSOLO » Sat Sep 25, 2010 2:36 am

So far so goo. It's a noticeable difference without sub folders
JuanSOLO
Posts:74
Joined:Tue Dec 01, 2009 5:08 am

Post by JuanSOLO » Tue Sep 28, 2010 12:45 am

After moving my files into one folder, including the .wvf files. I cant seem to recall my cue points anymore. It will recall the stored points while I make them and keep that track loaded, but if I load a new track and reload the previous one, the cues I stored are gone?

^^^
Sorry, I was wrong about this. I tried setting up a button to store CUES. Seems it does not store them permanently yet.
thenapking
Posts:3
Joined:Sun Jun 20, 2010 12:16 pm

Post by thenapking » Tue Nov 16, 2010 4:25 pm

I'm asking a theoritical question here, as I've not yet downloaded the new Max for Live patch & tried out all these exciting new features (but I will do... soon!). So I've no idea how it all works, so bear with me.... What I was wondering is whether it is possible to edit cue points outside of mspinky and import them? How are the cues saved? in the .wvf file? or another file?
I hate fiddling around setting cue points in Ableton and Tracktor - I'd much rather setup markers in Soundforge and convert that to a cue file. I did write a Python script a number of years ago which converted a Soundforge cue file into midi (as I got sick of using Recycle). I wonder whether I'd be able to dredge this up and rewrite it so it outputs a file in the correct format for MsPinky?
dlpinkstah
Site Admin
Posts:1093
Joined:Mon Jun 07, 2004 9:17 pm

Post by dlpinkstah » Tue Nov 16, 2010 6:47 pm

Cue and loop points are stored in the .wvf file.

Here's the basic .wvf file structure starting from the beginning of the file:

16 Bytes containing the ASCII characters "BABYTALKWAVEFORM",

32-bit float "file_min", corresponds to the minimum signal value within the audio file.

32-bit float "file_max", corresponds to the minimum signal value within the audio file.

16 32-bit floating point values "loop_start[16]", representing the starting point of each loop as a fraction of total file length.

16 32-bit floating point values "loop_end[16]", representing the end point of each loop as a fraction of total file length.

16 32-bit floating point values "cue_point[16]", representing the cue points as a fraction of total file length.

After these initial 216 bytes, the waveform data points themselves are stored.... but for now you probably don't need to worry about how they are stored.

So you could write code to modify the first 216 bytes, just be careful to adhere to the above structure.
thenapking
Posts:3
Joined:Sun Jun 20, 2010 12:16 pm

Post by thenapking » Tue Nov 16, 2010 11:38 pm

Sweet. Thanks for the quick response. That looks fairly straight forward. I'll see if I can find that old Python script and if I can update it. If I get it to work I'll post my results up here.
Mudo
Posts:340
Joined:Tue Jun 08, 2004 9:22 pm
Location:...Barcelona...

Post by Mudo » Tue Nov 23, 2010 8:06 pm

...

If you need help with python LiveApi side send me a pm.


;)

...
...

Mudo means mute person.


Researching new interface paradigms
...
thenapking
Posts:3
Joined:Sun Jun 20, 2010 12:16 pm

Post by thenapking » Tue Nov 23, 2010 9:54 pm

Interesting. I didn't know there was such a thing as python LiveApi. My script (which I still haven't found incidentally) was much more hobby electronics. It took a Sound Forge playlist file and converted the timings into a standard MIDI file. I was thinking of simply rewriting the script so that once you had .wvf for the mp3 it would simply overwrite the cue portion of the file based on the input from the playlist file. It's nothing fancy. You'd still have to run it from the command line.... Anyways, nothing's likely to happen until the xmas break, but i'll keep you posted.
Post Reply