cutcutcodec.core.compilation.export.rate.suggest_audio_rate

cutcutcodec.core.compilation.export.rate.suggest_audio_rate(stream: StreamAudio, choices: Iterable[int] | None = None) int[source]

Return the best compatible audio samplerate.

Parameters

streamcutcutcodec.core.classes.stream_audio.StreamAudio

The stream that we want to encode.

choicesset[int], optional

The possible rates. If provide, returns the most appropriate rate of this set. The value None means all rates are allowed. This selection could be generated from cutcutcodec.core.compilation.export.rate.available_audio_rates.

Returns

rateint

A suitable sampling rate compatible with the specified options.

Examples

>>> from cutcutcodec.core.compilation.export.rate import suggest_audio_rate
>>> from cutcutcodec.core.io.read_ffmpeg import ContainerInputFFMPEG
>>> (stream,) = ContainerInputFFMPEG("cutcutcodec/examples/audio_5.1_narration.oga").out_streams
>>> suggest_audio_rate(stream)  # no constraint
16000
>>> suggest_audio_rate(stream, [8000, 12000, 24000, 48000])  # constraint
24000
>>>