diff options
Diffstat (limited to 'apps/web/src/lib/transcription')
| -rw-r--r-- | apps/web/src/lib/transcription/audio.ts | 4 | ||||
| -rw-r--r-- | apps/web/src/lib/transcription/caption-defaults.ts | 2 | ||||
| -rw-r--r-- | apps/web/src/lib/transcription/caption.ts | 2 | ||||
| -rw-r--r-- | apps/web/src/lib/transcription/languages.ts | 14 | ||||
| -rw-r--r-- | apps/web/src/lib/transcription/models.ts | 34 | ||||
| -rw-r--r-- | apps/web/src/lib/transcription/supported-languages.ts | 1 | ||||
| -rw-r--r-- | apps/web/src/lib/transcription/types.ts | 2 |
7 files changed, 57 insertions, 2 deletions
diff --git a/apps/web/src/lib/transcription/audio.ts b/apps/web/src/lib/transcription/audio.ts new file mode 100644 index 00000000..e2dc96d9 --- /dev/null +++ b/apps/web/src/lib/transcription/audio.ts @@ -0,0 +1,4 @@ +export const DEFAULT_TRANSCRIPTION_SAMPLE_RATE = 16000; + +export const DEFAULT_CHUNK_LENGTH_SECONDS = 30; +export const DEFAULT_STRIDE_SECONDS = 5; diff --git a/apps/web/src/lib/transcription/caption-defaults.ts b/apps/web/src/lib/transcription/caption-defaults.ts new file mode 100644 index 00000000..fc277158 --- /dev/null +++ b/apps/web/src/lib/transcription/caption-defaults.ts @@ -0,0 +1,2 @@ +export const DEFAULT_WORDS_PER_CAPTION = 3; +export const MIN_CAPTION_DURATION_SECONDS = 0.8; diff --git a/apps/web/src/lib/transcription/caption.ts b/apps/web/src/lib/transcription/caption.ts index 6f73ddec..5e23bad8 100644 --- a/apps/web/src/lib/transcription/caption.ts +++ b/apps/web/src/lib/transcription/caption.ts @@ -2,7 +2,7 @@ import type { TranscriptionSegment, CaptionChunk } from "@/lib/transcription/typ import {
DEFAULT_WORDS_PER_CAPTION,
MIN_CAPTION_DURATION_SECONDS,
-} from "@/constants/transcription-constants";
+} from "@/lib/transcription/caption-defaults";
export function buildCaptionChunks({
segments,
diff --git a/apps/web/src/lib/transcription/languages.ts b/apps/web/src/lib/transcription/languages.ts new file mode 100644 index 00000000..e5678145 --- /dev/null +++ b/apps/web/src/lib/transcription/languages.ts @@ -0,0 +1,14 @@ +export const LANGUAGES = [ + { code: "en", name: "English" }, + { code: "es", name: "Spanish" }, + { code: "it", name: "Italian" }, + { code: "fr", name: "French" }, + { code: "de", name: "German" }, + { code: "pt", name: "Portuguese" }, + { code: "ru", name: "Russian" }, + { code: "ja", name: "Japanese" }, + { code: "zh", name: "Chinese" }, +] as const; + +export type Language = (typeof LANGUAGES)[number]; +export type LanguageCode = Language["code"]; diff --git a/apps/web/src/lib/transcription/models.ts b/apps/web/src/lib/transcription/models.ts new file mode 100644 index 00000000..ee9047e7 --- /dev/null +++ b/apps/web/src/lib/transcription/models.ts @@ -0,0 +1,34 @@ +import type { + TranscriptionModel, + TranscriptionModelId, +} from "./types"; + +export const TRANSCRIPTION_MODELS: TranscriptionModel[] = [ + { + id: "whisper-tiny", + name: "Tiny", + huggingFaceId: "onnx-community/whisper-tiny", + description: "Fastest, lower accuracy", + }, + { + id: "whisper-small", + name: "Small", + huggingFaceId: "onnx-community/whisper-small", + description: "Good balance of speed and accuracy", + }, + { + id: "whisper-medium", + name: "Medium", + huggingFaceId: "onnx-community/whisper-medium", + description: "Higher accuracy, slower", + }, + { + id: "whisper-large-v3-turbo", + name: "Large v3 Turbo", + huggingFaceId: "onnx-community/whisper-large-v3-turbo", + description: "Best accuracy, requires WebGPU for good performance", + }, +]; + +export const DEFAULT_TRANSCRIPTION_MODEL: TranscriptionModelId = + "whisper-small"; diff --git a/apps/web/src/lib/transcription/supported-languages.ts b/apps/web/src/lib/transcription/supported-languages.ts new file mode 100644 index 00000000..0adc1332 --- /dev/null +++ b/apps/web/src/lib/transcription/supported-languages.ts @@ -0,0 +1 @@ +export { LANGUAGES as TRANSCRIPTION_LANGUAGES } from "./languages"; diff --git a/apps/web/src/lib/transcription/types.ts b/apps/web/src/lib/transcription/types.ts index c4a87aa8..7ab0da7f 100644 --- a/apps/web/src/lib/transcription/types.ts +++ b/apps/web/src/lib/transcription/types.ts @@ -1,4 +1,4 @@ -import type { LanguageCode } from "@/constants/language-constants";
+import type { LanguageCode } from "./languages";
export type TranscriptionLanguage = LanguageCode | "auto";
|
