AssumeSampleRate

From Avisynth wiki
(Difference between revisions)
Jump to: navigation, search
(formatting, links, phrasing)
(add example)
Line 6: Line 6:
  
 
==== Examples ====
 
==== Examples ====
<div {{BoxWidthIndent|38|1}} >
+
* Fix an audio sync problem:
# Let's say that this video is 25fps, audio 44100hz.
+
<div {{BoxWidthIndent|56|1}} >
 
  [[AviSource]]("video_audio.avi")
 
  [[AviSource]]("video_audio.avi")
 +
# Let's say that this clip loses audio sync:
 +
# after 55 minutes the audio is behind by 200 milliseconds.
 
   
 
   
  # Play video at half speed:
+
dur = 3300.0  # total duration in seconds (55 minutes x 60)
 +
adj = -0.200  # correction needed (decrease audio duration by 200 msec)
 +
Ar = [[Clip_properties|AudioRate]] # original audio sample rate
 +
 +
# Adjust audio duration:
 +
'''AssumeSampleRate'''([[Internal_functions#Round|Round]](dur / (dur+adj) * Ar))
 +
 +
# Restore original sample rate while retaining new duration;
 +
# this step is may be skipped if you don't mind a slightly nonstandard sample rate.
 +
[[ResampleAudio]](Ar)
 +
 +
# Video and audio are now in sync.
 +
</div>
 +
 
 +
* Play video and audio at half speed:
 +
<div {{BoxWidthIndent|56|1}} >
 +
[[AviSource]]("video_audio.avi")
 +
 +
  # Play video at half speed: audio will be out of sync
 
  [[AssumeFPS]]([[Clip_properties|FrameRate]]/2)
 
  [[AssumeFPS]]([[Clip_properties|FrameRate]]/2)
 
   
 
   
  # Play audio at half speed:
+
  # Play audio at half speed: (pitch will be lowered by an [[wikipedia:Octave|octave]])
  AssumeSampleRate([[Clip_properties|AudioRate]]/2)   
+
  '''AssumeSampleRate'''([[Clip_properties|AudioRate]]/2)   
 
   
 
   
 
  # Video and audio are now in sync.
 
  # Video and audio are now in sync.
 +
# Equivalent to calling [[AssumeFPS]](..., sync_audio=true) (see below)
 
</div>
 
</div>
  

Revision as of 22:52, 17 May 2016

AssumeSampleRate(clip clip, int samplerate)

Changes the sample rate of the current clip without changing the number of samples.

This changes the pitch, playback speed and running time of the audio.
It will also affect synchronization with the video.

Examples

  • Fix an audio sync problem:
AviSource("video_audio.avi")
# Let's say that this clip loses audio sync:
# after 55 minutes the audio is behind by 200 milliseconds.

dur = 3300.0   # total duration in seconds (55 minutes x 60)
adj = -0.200   # correction needed (decrease audio duration by 200 msec)
Ar = AudioRate # original audio sample rate

# Adjust audio duration:
AssumeSampleRate(Round(dur / (dur+adj) * Ar))

# Restore original sample rate while retaining new duration;
# this step is may be skipped if you don't mind a slightly nonstandard sample rate.
ResampleAudio(Ar) 

# Video and audio are now in sync.
  • Play video and audio at half speed:
AviSource("video_audio.avi")

# Play video at half speed: audio will be out of sync 
AssumeFPS(FrameRate/2)

# Play audio at half speed: (pitch will be lowered by an octave)
AssumeSampleRate(AudioRate/2)  

# Video and audio are now in sync.
# Equivalent to calling AssumeFPS(..., sync_audio=true) (see below)

See Also

If true, the audio sample rate is changed by the same amount; the pitch of the resulting audio is shifted.
If false (the default), the audio is unchanged; this means the audio will lose synchronization over time.
Personal tools