我正在开发一个录音系统。我的任务涉及从同步器设备生成的音频输入流中提取 SMPTE 时间码。我使用 ASIO SDK 来获取每个回调缓冲区的时间代码,但它始终为零。
也许有人有 ASIO SDK(或任何其他可用于从音频流中提取 SMPTE 时间码的平台/sdk)的经验可以帮助我?
问候,
本
LTC 很简单,所以如果不出意外,您只需扫描音频流中的 LTC 数据即可,正如维基百科上记录的那样 http://en.wikipedia.org/wiki/Linear_timecode。每个 80 位帧以 0011 1111 1111 1101 结尾,只需扫描该字节序列以进行同步,然后将该同步序列之后开始的缓冲区数据转换为 80 位 struct timecode_t 元素的数组。如果您的缓冲区大小为 80 的倍数,您的计算会更容易(但您确实需要测试同步丢失,因为声卡会因溢出而丢失位)。
困难的部分是,如果我没有记错的话,时间码“位”与采样音频流的位不同,因此您必须实现逻辑来检测位序列。这可以只是一个 for 循环,检查正确的信号变化并根据需要将位附加到缓冲区(然后在缓冲区已满时调用该函数来解释缓冲区)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)