如何保持音频和视频(GEM)同步?

时间:2013-01-09 01:17:57

标签: audio video audio-video-sync puredata

以下是设置:

我有一个视频文件和一个持续时间相同的音频文件。视频文件以[pix_film]播放,音频文件通过[readsf~]播放,然后由用户互动触发的多种效果扭曲。

如何保持视频和音频同步?

2 个答案:

答案 0 :(得分:2)

如果您希望用户更改播放速度(因此不使用[readsf~]而是使用基于[vline~]或[phasor~]的采样器),那么您还需要调整速度播放视频。可以在https://github.com/mxa/AudioVideoPatches

找到如何执行此操作以及使用多次Pd实例回放以避免音频丢失的教程

答案 1 :(得分:1)

[pix_film][readsf~]都将在逻辑时间内执行,因此它们应该开箱即用。

我能想象的唯一问题是,[pix_film]以错误的帧速率播放电影(在这种情况下,视频和音频仍然是同步的,但与您的预期有些不同)。 Gem的播放帧率固定为渲染帧率。

基本上你有可能解决这个问题:

  • 将Gem的帧速率更改为电影的帧率(如果您想同时播放具有不同帧速率的多个视频,这显然不起作用)
  • 更改[pix_film]的“帧搜索率”以匹配全局帧率。

第二种解决方案可以通过以下方式实现:

[t a b]
|      \   
|       \  [r counter]
|        [f]
|        |   [r incr]
|        [+ 0]
|        |
|        [t f b]
|        |     [s counter]
[pix_film]
     |
     [$3(
     |    [r gemrate]
     [/ 20]
     |
     [s incr]