I donāt think thereās a good enough general understanding about your request. Can you explain it in some detail - eg: what the data should look like?
Itās been some years since Iāve played with LTC, but I donāt recall that being something metadata related. From what I do remember, itās its own data and channel.
My understanding about this might be wrong since I am still learning about all this.
I request you tell the way you would normally implement it -as you say it has its own data and channel.
What is the way to insert this channel of smpte in an audio file which is being recorded so that the time is saved with the file?
Unfortunately I donāt have the knowledge to help in generating the SMPTE audio data, but maybe somebody else does⦠Any of us on here are able to help you add audio data to be able to write to an audio file.
[quote="jrlanglois] Unfortunately I donāt have the knowledge to help in generating the SMPTE audio data, [/quote]
I am trying to make my understanding clear. So, is this correct that SMPTE is a format of time and that format of time can be added as a channel to an existing wav file?
The answer to your question does depend on what you need to do with the result. A BWAV file can have a start-timecode as part of its metadata: this is simply a count of the number of samples since midnight, and from it you can derive the correct timecode for any sample in the file, since the sample-rate is known and constant.
But that is not SMPTE LTC timecode, which is no more than a piece of audio in which the sound represents the timecode as it counts up . If you want to add that kind of timecode to an existing file, then you have to produce a copy with an extra audio-track where the code is laid-down, and ārecordā the LTC audio to it. Producing a copy of the BWAV file with the extra track can be done using JUCE functions, but not generating the LTC audio.
There are libraries to do this (e.g. libtc), but before going down that path it would be worth being clearer about what the resultant file will be used for, because it might be possible to use the BWAV metadata instead - which is much less trouble. Is it for synch? Also, what values should go in the LTC, and where do they come from. If they start at zero, thereās no added information: so are they to be based on existing metadata start-codes? Or are they going to be set by hand?
Longitudinal Timecode is a bidirectional 80 bit encoded frame synchronous encoded data (so it can be read forwards and backwards when you rock the tape - and the synch words line up with the leading edge of the digital word clock so digital systems can do a ālock and releaseā synchronization while still staying in sync, where an analog device uses the sync encoded to do a phase-lock-loop synchronization).
Try and find a copy of the Cipher Digital Timecode Handbook for reference.
There is a library on Github I think which encodes/decodes LTC streams.
And also, unless you are using tape, utterly obsolete for any purpose other than a dogged insistence on using it, which is why I didnāt go into any detail. You never know, it might be possible to avoid it here, because after all, BWAV files donāt have frames or word-clocks or any other gubbins like that.