AssumeSampleRate

From Avisynth wiki
(Difference between revisions)
Jump to: navigation, search
m (1 revision)
(add link to avs+ documentation)
 
(5 intermediate revisions by one user not shown)
Line 1: Line 1:
{{Template:FuncDef|AssumeSampleRate(clip ''clip'', samplerate ''int'')}}
 
  
AssumeSampleRate (exists starting from v2.07) changes the sample rate (playback speed) of the current sample. If used alone, it will cause desync with the video.  
+
<div {{BlueBox2|40|0|3px solid purple}} >
 +
{{AvsPlusFullname}}<br>
 +
Up-to-date documentation: [https://avisynthplus.readthedocs.io/en/latest/avisynthdoc/corefilters/assumerate.html https://avisynthplus.readthedocs.io]
 +
</div>
  
'''Examples:'''
 
  
  # Let's say that this video is 25fps, 44100hz video clip.
+
{{Template:FuncDef|AssumeSampleRate(clip ''clip'', int ''samplerate'')}}
  AviSource("video_audio.avi")
+
 
 +
Changes the sample rate of the current clip without changing the number of samples.
 +
:This changes the sample rate, pitch, playback speed and running time of the audio.
 +
:It will also affect synchronization with the video.
 +
 
 +
==== Examples ====
 +
* Fix an audio sync problem:
 +
<div {{BoxWidthIndent|56|1}} >
 +
[[AviSource]]("video_audio.avi")
 +
  # Let's say that this clip loses audio sync:
 +
# by the end, the audio is behind by 200 milliseconds.
 +
   
 +
Ar  = [[Clip_properties|AudioRate]] # original audio sample rate
 +
dur = [[Clip_properties|AudioDuration]]  # total duration in seconds
 +
adj = -0.200    # correction needed (decrease audio duration by 200 msec)
 +
 +
# Adjust audio duration:
 +
'''AssumeSampleRate'''([[Internal_functions#Round|Round]](dur / (dur+adj) * Ar))
 +
 +
# Video and audio are now in sync.
 +
 +
# (optional) restore original sample rate.
 +
#[[ResampleAudio]](Ar)
 +
</div>
 +
 
 +
* Play video and audio at half speed:
 +
<div {{BoxWidthIndent|56|1}} >
 +
[[AviSource]]("video_audio.avi")
 
   
 
   
  # Play audio at half speed:
+
  # Play video at half speed: audio will be out of sync
  AssumeSampleRate(22050)  
+
  [[AssumeFPS]]([[Clip_properties|FrameRate]]/2)
 
   
 
   
  # Play video at half speed:
+
  # Play audio at half speed: (pitch will be lowered by an [[wikipedia:Octave|octave]])
  AssumeFPS(12.5)
+
  '''AssumeSampleRate'''([[Clip_properties|AudioRate]]/2)
 
   
 
   
  # Video and audio is now in sync, and plays in slow-motion.
+
  # Video and audio are now in sync.
 +
# Equivalent to calling [[AssumeFPS]](..., sync_audio=true) (see below)
 +
</div>
  
 +
==== See Also ====
 +
* [[AssumeFPS]]: {{FuncArg|''sync_audio''}}
 +
: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.
  
 
[[Category:Internal filters]]
 
[[Category:Internal filters]]
 +
[[Category:Audio_filters]]
 +
[[Category:Timeline_editing_filters]]

Latest revision as of 04:24, 18 September 2022

AviSynth+
Up-to-date documentation: https://avisynthplus.readthedocs.io


AssumeSampleRate(clip clip, int samplerate)

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

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

[edit] Examples

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

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

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

# Video and audio are now in sync.

# (optional) restore original sample rate.
#ResampleAudio(Ar) 
  • 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)

[edit] 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