#![doc = include_str!("../README.md")]
#![cfg_attr(docsrs, feature(doc_cfg))]
#![cfg_attr(docsrs, allow(unused_attributes))]
#![deny(missing_docs)]
#![allow(clippy::doc_lazy_continuation)]
#![allow(
clippy::too_many_arguments,
clippy::needless_range_loop,
clippy::module_inception,
clippy::collapsible_if
)]
#![deny(unsafe_code)]
pub mod align;
pub mod core;
pub mod time;
pub mod types;
pub use align::{BoundsSource, Run, SegmentLike, dispatch_segments};
#[cfg(feature = "runner")]
#[cfg_attr(docsrs, doc(cfg(feature = "runner")))]
pub use align::dispatch;
pub use mediatime::{TimeRange, Timebase, Timestamp};
pub use types::{
AlignmentError, AlignmentFailure, AsrError, AsrFailure, Backpressure, ChunkId, ForeignAlignment,
GapExceedsTolerance, InconsistentTimebase, IntoWorkFailure, InvalidTimebase, Lang,
LanguageUnsupportedForAlignment, PtsBetweenSamples, PtsRegression, PushKind, TranscriberError,
Transcript, UnaccountedAlignment, VadAheadOfAudio, VadSegment, Word, WorkFailure,
WorkerHangTimeout, WorkerKind,
};
pub use core::{
AlignedWords, AlignmentCompletion, AlignmentReport, AlignmentRequest, AlignmentUnit, AsrParams,
AsrParamsOverride, AsrResult, Command, Event, LanguagePolicy, RefusedCompletion,
SamplingStrategy, Transcriber, TranscriberOptions, UnaccountedOutcomes, UnalignedCause,
UnitAlignment, UnitJob, UnitOutcome,
};
#[cfg(any(feature = "runner", feature = "emissions"))]
#[cfg_attr(docsrs, doc(cfg(any(feature = "runner", feature = "emissions"))))]
pub mod runner;
#[cfg(feature = "runner")]
#[cfg_attr(docsrs, doc(cfg(feature = "runner")))]
pub use runner::{AsrChunkContext, AsrSource, RunnerError, WhisperAsrSource};
#[cfg(feature = "runner")]
#[cfg_attr(docsrs, doc(cfg(feature = "runner")))]
pub use whispercpp::{Context as WhisperContext, ContextParams as WhisperContextParameters};
#[cfg(feature = "alignment")]
#[cfg_attr(docsrs, doc(cfg(feature = "alignment")))]
pub use runner::{
AlignWorkItem, Aligner, AlignerKey, AlignmentFallback, AlignmentLookup, AlignmentSet,
AlignmentSetBuilder, ChineseNormalizer, DEFAULT_MAX_INTRA_SILENT_RUN,
DEFAULT_MIN_SPEECH_COVERAGE, DynTextNormalizer, EnglishNormalizer, JapaneseNormalizer,
JobDetection, JobResolution, KoreanNormalizer, LatinNormalizer, NormalizationError,
NormalizedText, TextNormalizer, bundled, default_normalizer_for, run_one_alignment,
};
#[cfg(feature = "alignment")]
#[cfg_attr(docsrs, doc(cfg(feature = "alignment")))]
pub use ort;
#[cfg(feature = "emissions")]
#[cfg_attr(docsrs, doc(cfg(feature = "emissions")))]
pub mod emissions {
pub use crate::{
core::{
AlignedWords, AlignmentReport, AlignmentUnit, UnalignedCause, UnitAlignment,
oov::{
OovDecision, OovDetection, OovEvent, OovKind, OovResolution, ResolvedOov,
default_oov_policy, fail_closed_all_policy, wildcard_all_policy,
},
},
runner::aligner::{
ChineseNormalizer, DynTextNormalizer, EnglishNormalizer, JapaneseNormalizer,
KoreanNormalizer, LatinNormalizer, NormalizationError, NormalizedText, TextNormalizer,
WildcardBoundary,
algorithm::{
compose::{DEFAULT_MAX_INTRA_SILENT_RUN, DEFAULT_MIN_SPEECH_COVERAGE},
encode::{LogProbsShapeError, LogProbsValueClass, LogProbsValueError},
errors::{EmissionsError, EmissionsFailure},
},
core::PreparedChunk,
default_normalizer_for,
emissions_aligner::{EmissionsAligner, EmissionsAlignerBuilder, LetterCase},
emissions_api::{
Emissions, EncoderOutput, OutputClock, SampleSpan, SpanError, SpeechCoverage, SpeechSpans,
},
},
};
}
#[cfg(all(feature = "bench-internals", feature = "alignment"))]
#[doc(hidden)]
pub mod __bench {
pub use crate::{
core::oov::resolve_events,
runner::aligner::algorithm::{
encode::LogProbsTV,
normalize::{scalar, zero_mean_unit_var_normalize},
tokenize::{ReservedIds, TokenizedText, detect_oov_events, tokenize_with_word_map},
trellis_beam::{
ALIGN_BEAM_WIDTH, PathPointPublic, WILDCARD_TOKEN_ID, WordSegment, align_to_word_segments,
backtrack_beam, get_trellis,
},
},
};
#[cfg(target_arch = "aarch64")]
pub use crate::runner::aligner::algorithm::normalize::neon;
#[cfg(target_arch = "x86_64")]
pub use crate::runner::aligner::algorithm::normalize::{x86_avx2, x86_avx512, x86_sse41};
}