extracting SMPTE timecode embeded in an audio signal

litemover's icon

Greetings,

I'm trying to extract a SMPTE timecode signal from the right-side channel of an audio track. The audio track has music on one side in mono and SMPTE timecode on another. Ultimately, Iw ould like to be able to control a timeline from the SMPTE signal but I have no idea how to get it to work.

I've tried several methods with no results.

If anyone could point me in the right direction or give me some hints, I'd really appreciate it.

Thanks in advance.

litemover

pdelges's icon

Quote: litemover wrote on Thu, 01 June 2006 09:06
----------------------------------------------------
> I'm trying to extract a SMPTE timecode signal from the right-side channel of an audio track. The audio track has music on one side in mono and SMPTE timecode on another. Ultimately, Iw ould like to be able to control a timeline from the SMPTE signal but I have no idea how to get it to work.

There are numerous hardware devices that can decode SMPTE timecode (even some soundcards). Are you looking for a msp only method?

Peter McCulloch's icon
litemover's icon

Yes I need a solution that lets me insert the cd and extracts the SMPTE LTC audio track in MSP then allows me to put those values in a jit.column as well as control and mark the timeline using nothing but a Mac powerbook g4, tiger and MAX/MSP/Jitter

Thanks,
litemover

litemover's icon

I do need the SMPTE signal from the audio track to sync other devices to. The SMPTE track is always an arbitrary track that the entire production uses to synch to so unfortunately, I can't just use the time from an sfplay~ object. I am using the sfplay~ object to play the track. I have tried opening the file in Jit and piping it to msp but I guess I need to actually exctract the bit information from the audio signal and unpack it into a digital signal.

Not sure how to do this.

Thanks for your replys though, keep'em coming.

litemover

Peter McCulloch's icon

You'll have to do some envelope-following (read: lowpass-filtering) to
extract the bits from the signal; they're encoded in the amplitude
envelope of the sound. Check out average~, slide~, or rampsmooth~ for
this.

What is it in Max that you need to sync to the SMPTE track?

Peter McCulloch

litemover's icon

Thanks for the info,

I figured as much. It's going to take a long time for me to figure this one out.

I need to sync the timeline as well as Midi Show Control events from max to the audio SMPTE track. The events would then trigger external devices based on the audio SMPTE track post enveloped.

All of the events I work on where I need to sync to timecode are based on SMPTE LTC not MTC and the cds/DVDs/VHS... are striped with one channel of SMPTE LTC in audio format.

I'll play around and hopefully come up with a solution.

Thanks again,

litemover

Stefan Tiedje's icon

litemover wrote:
> I'll play around and hopefully come up with a solution.

I would try to do it with mxj~ in Java... I am interested in that as
well, but other things have a higher priority at the moment....

Stefan

--
Stefan Tiedje------------x-------
--_____-----------|--------------
--(_|_ ----|-----|-----()-------
-- _|_)----|-----()--------------
----------()--------www.ccmix.com

Pamela Z's icon

I just began having a very bizarre problem trying to launch Max. I
get an error dialog box that says "Connection Error: The server may
not exist or is not operational at this time." as if I was trying
to connect to a server. I'm just trying to launch Max MSP. I've
never seen this before, and I've used Max recently. I did download a
Mac OS update. I had Tiger, but I upgraded o 10.4.7. Is there
something incompatible about this version of Tiger? How do i fix
this?

Anyone?

pz

Pamela Z
Composer/Performer

......................................................................................................
Contact info:

pamelaz@pamelaz.com
http://www.pamelaz.com

Skype: pamelazed
AIM: pamelazdotcom

Land: 415.861.EARS (415.861.3277)
Mobile: 415.5PAMELA (415.572.6352)
(I forward my land line to my mobile phone when I'm travelling)
FAX: 415.861.FAKS (415.861.3257)

Snail Mail:

Pamela Z Productions
540 Alabama Street Studio 213
San Francisco, CA 94110
USA

shipping address (for packages too large for a standard mail slot):
Pamela Z 2440 Sixteenth Street PMB #171, San Francisco, CA 94103, USA

Pamela Z's CD "A Delay is Better" on the Starkland label is now
available at http://www.amazon.com, http://www.starkland.com, and in
stores near you.
......................................................................................................

Peter Castine's icon

And Max is trying to connect to a server.

You have an alias to a network volume in your search path. Max is
trying to resolve it at startup time.

When Max is open, go into File Preferences and hit the Print button.
You'll have a list of folders in the Max window. Go through that list
until you find the folder with the network alias, then remove it.

There is plenty of discussion of this on the list if you want more
details.

-- Peter

-------------- http://www.bek.no/~pcastine/Litter/ -------------
Peter Castine +--> Litter Power & Litter Bundle for Jitter
Universal Binaries on the way
iCE: Sequencing, Recording &
Interface Building for |home | chez nous|
Max/MSP Extremely cool |bei uns | i nostri|
http://www.dspaudio.com/ http://www.castine.de

Pamela Z's icon

Thanks Peter. I'll try that.

pz

Pamela Z
Composer/Performer

......................................................................................................
Contact info:

pamelaz@pamelaz.com
http://www.pamelaz.com

Skype: pamelazed
AIM: pamelazdotcom

Land: 415.861.EARS (415.861.3277)
Mobile: 415.5PAMELA (415.572.6352)
(I forward my land line to my mobile phone when I'm travelling)
FAX: 415.861.FAKS (415.861.3257)

Snail Mail:

Pamela Z Productions
540 Alabama Street Studio 213
San Francisco, CA 94110
USA

shipping address (for packages too large for a standard mail slot):
Pamela Z 2440 Sixteenth Street PMB #171, San Francisco, CA 94103, USA

Pamela Z's CD "A Delay is Better" on the Starkland label is now
available at http://www.amazon.com, http://www.starkland.com, and in
stores near you.
......................................................................................................

d17e's icon

Hi,

has anyone come up with a working solution to do the SMPTE timecode extraction? If so I could use some guidance/example patch, as I'll be needing this myself in project coming up.

Thanks in advance!

pdelges's icon

On 14 sept. 07, at 12:59, david wrote:

> has anyone come up with a working solution to do the SMPTE timecode
> extraction? If so I could use some guidance/example patch, as I'll be
> needing this myself in project coming up.

MOTU interfaces can do that internally.

_____________________________
Patrick Delges

Centre de Recherches et de Formation Musicales de Wallonie asbl
http://www.crfmw.be/max

d17e's icon

First off thanks for the quick reply!

The MOTU interface solution sounds interesting since i have an UltraLite at my disposal.
I just don't really grasp yet how I can then get the information the Ultralite extracts from the SMPTE code into max.
The Ultralite setup should not be a problem. But how should I use this in max?

An example patch would be more than great...

thanks again!

pdelges's icon

On 14-sept.-07, at 19:03, david wrote:

>
> First off thanks for the quick reply!

Maybe too quick. I was thinking about their big MIDI interfaces...
The Ultrlalite can translate smpte too, but although I know it works in
Digital Performer, I don't know about Max and can't easily test now.
Check [adstatus timecode], in [adstatus]'s help file (although I don't
know if somebody ever used this feature of MAx, I don't remember
reading about it on the list).

MAybe DP can receive the smpte, translate it to MTC and send it to Max.

p

Stefan Tiedje's icon

Patrick Delges schrieb:
> The Ultrlalite can translate smpte too, but although I know it works in
> Digital Performer, I don't know about Max and can't easily test now.

I bet it will send MTC... (Don't have it, but what else should it do?...)

I still think the original question is much more interesting. Any MSP
method to get SMPT in and out of Max? (SMPTE out should be easy, but
SMPTE in has to deal with all speeds...)

It would free us from the need for expensive interfaces for ever...

Stefan

--
Stefan Tiedje------------x-------
--_____-----------|--------------
--(_|_ ----|-----|-----()-------
-- _|_)----|-----()--------------
----------()--------www.ccmix.com

pdelges's icon

On 16 sept. 07, at 18:48, Stefan Tiedje wrote:

> Patrick Delges schrieb:
>> The Ultrlalite can translate smpte too, but although I know it works
>> in Digital Performer, I don't know about Max and can't easily test
>> now.
>
> I bet it will send MTC... (Don't have it, but what else should it
> do?...)

It is suppposed to send a sample accurate ASIO2 timecode. And Max is
supposed to understand it: see [adstatus]'s helpfile [p
asio2_timecode]. But it never worked for me and I can't find much
information.

_____________________________
Patrick Delges

Centre de Recherches et de Formation Musicales de Wallonie asbl
http://www.crfmw.be/max

d17e's icon

> I still think the original question is much more interesting. Any MSP
> method to get SMPT in and out of Max?

I agree, unfortunately I don't have enough MSP knowledge yet to implement it myself on a short term.

Anyhow, I'll try out the solution with the UltraLite later today/tomorrow and let you guys know if I got out of it. I'll use Peter Elsea's paper on MTC as a guidance for this.
One question I still have concerning this solution is how to interface with the UltraLite. Can I set up a midi port for an audio in channel (which is decoding the SMPTE on the MOTU hardware?) ... Or just take in the audio channel? In the last case I'm kind of in the dark as to how to relate to relate to the examples in Peter Elsea's documents (working with midiin etc.)

In the mean time, if anyone knows how to get the SMPTE translation into max working (into max is more important for me right now), any pointers how to do this would be greatly appreciated.

Thanks &
Greetings!

d17e's icon

> It is suppposed to send a sample accurate ASIO2 timecode. And Max is
> supposed to understand it: see [adstatus]'s helpfile [p
> asio2_timecode]. But it never worked for me and I can't find much
> information.

Ok, that changes the whole thing... I indeed seem to find little information about ASIO2 and adstatus...
I will still try out the setup with my MOTU later today/tomorrow, and see what it gives. If u might have any information/links concerning the ASIO2 format, that would be great.
I'll also definitely check the [adstatus]' helpfile

thanks
d

pdelges's icon

On 17 sept. 07, at 12:06, david wrote:

>
>> I still think the original question is much more interesting. Any MSP
>> method to get SMPT in and out of Max?
>
> I agree, unfortunately I don't have enough MSP knowledge yet to
> implement it myself on a short term.
>
> Anyhow, I'll try out the solution with the UltraLite later
> today/tomorrow and let you guys know if I got out of it. I'll use
> Peter Elsea's paper on MTC as a guidance for this.
> One question I still have concerning this solution is how to interface
> with the UltraLite. Can I set up a midi port for an audio in channel
> (which is decoding the SMPTE on the MOTU hardware?) ... Or just take
> in the audio channel? In the last case I'm kind of in the dark as to
> how to relate to relate to the examples in Peter Elsea's documents
> (working with midiin etc.)

That's the problem: I don't think any MOTU audio interface will create
a midi sync port nor send MTC on their MIDI port. Their big MIDI
interfaces like the XT or MTP do: beside their regular 8 MIDI ports,
there is also a sync port you can use in Max.

One solution is to run Digital Performer in the background (I don't
know if it works with AudioDesk or another sequencer). Sync DP to the
SMPTE of your Ultralite, set up the transmitted sync to MTC on an
internal MIDI port, hit play, and analyse the data stream with Max (see
how to decode the sysex in Peter's tutorial). But using this solution,
your sound card has to be synced to SMPTE... Good luck

_____________________________
Patrick Delges

Centre de Recherches et de Formation Musicales de Wallonie asbl
http://www.crfmw.be/max

d17e's icon

Hi,

as you thought, I did not get the [adstatus timecode] solution working even though it states that this feature should work with any ASIO2 compliant hardware. MOTU on its turn claims that the ultralite should work with any software that support ASIO2 sample accurate syncing...
This makes me think that the [adstatus timecode] never really worked, or only for specific hardware. can anyone from cycling confirm this?

The Digital Performer solution is not an option for me, as I am running under windows. Tomorrow I will try to make the MTC translation on the Mac that sends out the SMPTE as an audio track in the first place. This is done with ProTools so, I believe it shouldnt be any problem to make that switch. Unless I am wrong offcourse...

too bad the [adstatus] didnt work out...

thanks for the support to all!