echogarden 2.9.2 → 2.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1174,11 +1174,7 @@
1174
1174
  "type": "boolean"
1175
1175
  },
1176
1176
  "timestampAccuracy": {
1177
- "type": "string",
1178
- "enum": [
1179
- "medium",
1180
- "high"
1181
- ]
1177
+ "$ref": "#/definitions/WhisperTimestampAccuracy"
1182
1178
  },
1183
1179
  "encoderProvider": {
1184
1180
  "$ref": "#/definitions/OnnxExecutionProvider"
@@ -1192,6 +1188,13 @@
1192
1188
  },
1193
1189
  "additionalProperties": false
1194
1190
  },
1191
+ "WhisperTimestampAccuracy": {
1192
+ "type": "string",
1193
+ "enum": [
1194
+ "medium",
1195
+ "high"
1196
+ ]
1197
+ },
1195
1198
  "SileroRecognitionOptions": {
1196
1199
  "type": "object",
1197
1200
  "properties": {
@@ -1265,11 +1268,7 @@
1265
1268
  "type": "number"
1266
1269
  },
1267
1270
  "timestampAccuracy": {
1268
- "type": "string",
1269
- "enum": [
1270
- "medium",
1271
- "high"
1272
- ]
1271
+ "$ref": "#/definitions/WhisperTimestampAccuracy"
1273
1272
  },
1274
1273
  "encoderProvider": {
1275
1274
  "$ref": "#/definitions/OnnxExecutionProvider"
@@ -265,7 +265,7 @@ export const defaultAlignmentOptions = {
265
265
  languageDetection: {},
266
266
  plainText: {
267
267
  paragraphBreaks: 'double',
268
- whitespace: 'collapse'
268
+ whitespace: 'preserve'
269
269
  },
270
270
  subtitles: {},
271
271
  dtw: {
@@ -759,7 +759,7 @@ export const defaultSynthesisOptions = {
759
759
  customLexiconPaths: undefined,
760
760
  plainText: {
761
761
  paragraphBreaks: 'double',
762
- whitespace: 'collapse'
762
+ whitespace: 'preserve'
763
763
  },
764
764
  alignment: {
765
765
  engine: 'dtw',
@@ -59,7 +59,7 @@ export const defaultTranscriptAndTranslationAlignmentOptions = {
59
59
  languageDetection: {},
60
60
  plainText: {
61
61
  paragraphBreaks: 'double',
62
- whitespace: 'collapse'
62
+ whitespace: 'preserve'
63
63
  },
64
64
  subtitles: {},
65
65
  vad: {
@@ -109,7 +109,7 @@ export const defaultTranslationAlignmentOptions = {
109
109
  languageDetection: {},
110
110
  plainText: {
111
111
  paragraphBreaks: 'double',
112
- whitespace: 'collapse'
112
+ whitespace: 'preserve'
113
113
  },
114
114
  subtitles: {},
115
115
  vad: {
@@ -85,7 +85,7 @@ export declare class Whisper {
85
85
  languageTokenToLanguageIndex(languageToken: number): void;
86
86
  get isEnglishOnlyModel(): boolean;
87
87
  get isLargeModel(): boolean;
88
- get filterbankCount(): 128 | 80;
88
+ get filterbankCount(): 80 | 128;
89
89
  get filterbanks(): Filterbank[];
90
90
  get alignmentHeadIndexes(): number[];
91
91
  get defaultTimestampAccuracy(): "medium" | "high";
@@ -115,11 +115,11 @@ export function timelineToSubtitles(timeline, subtitlesConfig) {
115
115
  }
116
116
  // Generates subtitle cues from timeline. Ensures each segment or sentence starts in a new cue.
117
117
  function getCuesFromTimeline_IsolateSegmentSentence(timeline, config) {
118
- if (timeline.length == 0) {
118
+ if (timeline.length === 0) {
119
119
  return [];
120
120
  }
121
121
  // If the given timeline is a word timeline, wrap it with a segment and call again
122
- if (timeline[0].type == 'word') {
122
+ if (timeline[0].type === 'word') {
123
123
  const wordTimeline = timeline.filter(entry => isWordOrSymbolWord(entry.text));
124
124
  const text = wordTimeline.map(entry => entry.text).join(' ');
125
125
  const segmentEntry = {
@@ -134,8 +134,11 @@ function getCuesFromTimeline_IsolateSegmentSentence(timeline, config) {
134
134
  const cues = [];
135
135
  // Generate one or more cues from each segment or sentence in the timeline.
136
136
  for (let entry of timeline) {
137
- if (entry.type == 'segment' && entry.timeline?.[0]?.type == 'sentence') {
138
- if (config.mode == 'segment') {
137
+ if (!entry.timeline || entry.timeline.length === 0) {
138
+ continue;
139
+ }
140
+ if (entry.type === 'segment' && entry.timeline?.[0]?.type === 'sentence') {
141
+ if (config.mode === 'segment') {
139
142
  // If the mode is 'segment', flatten all sentences to a single word timeline
140
143
  entry.timeline = entry.timeline.flatMap(t => t.timeline);
141
144
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Subtitles.js","sourceRoot":"","sources":["../../src/subtitles/Subtitles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Subtitles.js","sourceRoot":"","sources":["../../src/subtitles/Subtitles.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { addMissingPunctuationWordsToWordSequence, segmentWordSequence, WordSequence } from '@echogarden/text-segmentation';
2
- import { isWord, isWordOrSymbolWord, splitToParagraphs } from '../nlp/Segmentation.js';
2
+ import { applyWhitespaceProcessing, isWord, isWordOrSymbolWord } from '../nlp/Segmentation.js';
3
3
  import { deepClone } from './ObjectUtilities.js';
4
4
  import { getUTF32Chars } from './StringUtilities.js';
5
5
  import { roundToDigits } from './Utilities.js';
@@ -46,7 +46,7 @@ export function roundTimelineProperties(targetTimeline, decimalDigits = 2) {
46
46
  }
47
47
  return roundedTimeline;
48
48
  }
49
- export async function wordTimelineToSegmentSentenceTimeline(wordTimelineWithOffsets, transcript, language, paragraphBreaks = 'double', whitespace = 'collapse') {
49
+ export async function wordTimelineToSegmentSentenceTimeline(wordTimelineWithOffsets, transcript, language, paragraphBreaks = 'double', whitespace = 'preserve') {
50
50
  const wordSequence = new WordSequence();
51
51
  for (const wordEntry of wordTimelineWithOffsets) {
52
52
  const wordStartOffset = wordEntry.startOffsetUtf16;
@@ -56,67 +56,50 @@ export async function wordTimelineToSegmentSentenceTimeline(wordTimelineWithOffs
56
56
  }
57
57
  const { wordSequenceWithPunctuation, originalWordsReverseMapping } = addMissingPunctuationWordsToWordSequence(wordSequence, transcript);
58
58
  const segmentedWordSequence = await segmentWordSequence(wordSequenceWithPunctuation);
59
- const paragraphs = splitToParagraphs(transcript, paragraphBreaks, whitespace);
60
- const sentenceIndexesForParagraph = paragraphs.map(_ => []);
61
- {
62
- let sentenceIndex = 0;
63
- let charOffset = 0;
64
- for (let paragraphIndex = 0; paragraphIndex < paragraphs.length; paragraphIndex++) {
65
- const paragraph = paragraphs[paragraphIndex];
66
- const paragraphStartOffset = charOffset;
67
- const paragraphEndOffset = paragraphStartOffset + paragraph.length;
68
- while (sentenceIndex < segmentedWordSequence.sentences.length) {
69
- const sentenceEntry = segmentedWordSequence.sentences[sentenceIndex];
70
- const sentenceStartOffset = sentenceEntry.charRange.start;
71
- const sentenceEndOffset = sentenceEntry.charRange.end;
72
- if (sentenceStartOffset < paragraphEndOffset) {
73
- sentenceIndexesForParagraph[paragraphIndex].push(sentenceIndex);
74
- sentenceIndex++;
75
- }
76
- else {
77
- break;
78
- }
79
- }
80
- if (sentenceIndex === segmentedWordSequence.sentences.length) {
81
- break;
82
- }
83
- charOffset += paragraph.length;
84
- }
85
- }
59
+ const segmentSentenceRanges = segmentedWordSequence.segmentSentenceRanges;
86
60
  const segmentTimeline = [];
87
61
  let wordIndex = 0;
88
- for (let paragraphIndex = 0; paragraphIndex < paragraphs.length; paragraphIndex++) {
89
- const paragraph = paragraphs[paragraphIndex];
90
- const sentencesIndexes = sentenceIndexesForParagraph[paragraphIndex];
91
- const sentenceEntries = sentencesIndexes.map(index => segmentedWordSequence.sentences[index]);
92
- const sentenceTimeline = [];
93
- for (const sentenceEntry of sentenceEntries) {
62
+ let lastKnownTimestamp = wordTimelineWithOffsets?.[0].startTime ?? 0;
63
+ let segmentText = '';
64
+ let sentenceTimeline = [];
65
+ for (const segmentSentenceRange of segmentSentenceRanges) {
66
+ for (let sentenceIndex = segmentSentenceRange.start; sentenceIndex < segmentSentenceRange.end; sentenceIndex++) {
67
+ const sentenceEntry = segmentedWordSequence.sentences[sentenceIndex];
94
68
  const wordTimeline = [];
95
69
  for (const _ of sentenceEntry.words.entries) {
96
70
  const originalWordIndex = originalWordsReverseMapping.get(wordIndex);
97
71
  if (originalWordIndex !== undefined) {
98
72
  const wordTimelineEntry = wordTimelineWithOffsets[originalWordIndex];
99
73
  wordTimeline.push(wordTimelineEntry);
74
+ lastKnownTimestamp = wordTimelineEntry.endTime ?? lastKnownTimestamp;
100
75
  }
101
76
  wordIndex += 1;
102
77
  }
78
+ const sentenceText = sentenceEntry.text;
103
79
  const sentenceTimelineEntry = {
104
80
  type: 'sentence',
105
- text: sentenceEntry.text,
106
- startTime: wordTimeline[0]?.startTime,
107
- endTime: wordTimeline[wordTimeline.length - 1]?.endTime,
81
+ text: sentenceText,
82
+ startTime: wordTimeline[0]?.startTime ?? lastKnownTimestamp,
83
+ endTime: wordTimeline[wordTimeline.length - 1]?.endTime ?? lastKnownTimestamp,
108
84
  timeline: wordTimeline,
109
85
  };
110
86
  sentenceTimeline.push(sentenceTimelineEntry);
87
+ segmentText += sentenceText;
88
+ }
89
+ if (paragraphBreaks === 'single' ||
90
+ segmentSentenceRange.end === segmentedWordSequence.sentences.length ||
91
+ /\r?\n\r?\n$/.test(segmentText)) {
92
+ const segmentTimelineEntry = {
93
+ type: 'segment',
94
+ text: applyWhitespaceProcessing(segmentText, whitespace),
95
+ startTime: sentenceTimeline[0]?.startTime ?? lastKnownTimestamp,
96
+ endTime: sentenceTimeline[sentenceTimeline.length - 1]?.endTime ?? lastKnownTimestamp,
97
+ timeline: sentenceTimeline,
98
+ };
99
+ segmentTimeline.push(segmentTimelineEntry);
100
+ segmentText = '';
101
+ sentenceTimeline = [];
111
102
  }
112
- const segmentTimelineEntry = {
113
- type: 'segment',
114
- text: paragraph,
115
- startTime: sentenceTimeline[0]?.startTime,
116
- endTime: sentenceTimeline[sentenceTimeline.length - 1]?.endTime,
117
- timeline: sentenceTimeline,
118
- };
119
- segmentTimeline.push(segmentTimelineEntry);
120
103
  }
121
104
  return { segmentTimeline };
122
105
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Timeline.js","sourceRoot":"","sources":["../../src/utilities/Timeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Timeline.js","sourceRoot":"","sources":["../../src/utilities/Timeline.ts"],"names":[],"mappings":"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"}
package/docs/Options.md CHANGED
@@ -30,7 +30,7 @@ Applies to CLI operations: `speak`, `speak-file`, `speak-url`, `speak-wikipedia`
30
30
 
31
31
  **Plain text processing**:
32
32
  * `plainText.paragraphBreaks`: split to paragraphs based on single (`single`), or double (`double`) line breaks. Defaults to `double`
33
- * `plainText.whitespace`: determines how to process whitespace within paragraphs. Can be `preserve` (leave as is), `removeLineBreaks` (convert line breaks to spaces) or `collapse` (convert runs of whitespace characters, including line breaks, to a single space character). Defaults to `collapse`
33
+ * `plainText.whitespace`: determines how to process whitespace within paragraphs. Can be `preserve` (leave as is), `removeLineBreaks` (convert line breaks to spaces) or `collapse` (convert runs of whitespace characters, including line breaks, to a single space character). Defaults to `preserve`
34
34
 
35
35
  **Post-processing**:
36
36
  * `postProcessing.normalizeAudio`: should normalize output audio. Defaults to `true`
@@ -244,7 +244,7 @@ Applies to CLI operation: `align`, API method: `align`
244
244
 
245
245
  **Plain text processing**:
246
246
  * `plainText.paragraphBreaks`: split transcript to paragraphs based on single (`single`), or double (`double`) line breaks. Defaults to `double`
247
- * `plainText.whitespace`: determines how to process whitespace within transcript paragraphs. Can be `preserve` (leave as is), `removeLineBreaks` (convert line breaks to spaces) or `collapse` (convert runs of whitespace characters, including line breaks, to a single space character). Defaults to `collapse`
247
+ * `plainText.whitespace`: determines how to process whitespace within transcript paragraphs. Can be `preserve` (leave as is), `removeLineBreaks` (convert line breaks to spaces) or `collapse` (convert runs of whitespace characters, including line breaks, to a single space character). Defaults to `preserve`
248
248
 
249
249
  **DTW**:
250
250
  * `dtw.granularity`: adjusts the MFCC frame width and hop size based on the profile selected. Can be set to either `xx-low` (400ms width, 160ms hop), `x-low` (200ms width, 80ms hop), `low` (100ms width, 40ms hop), `medium` (50ms width, 20ms hop), `high` (25ms width, 10ms hop), `x-high` (20ms width, 5ms hop). For multi-pass processing, multiple granularities can be provided, like `dtw.granularity=['xx-low','medium']`. Auto-selected by default.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "echogarden",
3
- "version": "2.9.2",
3
+ "version": "2.10.0",
4
4
  "description": "An easy-to-use speech toolset. Includes tools for synthesis, recognition, alignment, speech translation, language detection, source separation and more.",
5
5
  "author": "Rotem Dan",
6
6
  "license": "GPL-3.0",
@@ -67,7 +67,7 @@
67
67
  "@echogarden/sonic-wasm": "~0.2.0",
68
68
  "@echogarden/speex-resampler-wasm": "~0.3.0",
69
69
  "@echogarden/svoxpico-wasm": "~0.2.0",
70
- "@echogarden/text-segmentation": "~0.3.3",
70
+ "@echogarden/text-segmentation": "~0.4.1",
71
71
  "@echogarden/transformers-nodejs-lite": "~2.17.1-lite.4",
72
72
  "@echogarden/wave-codec": "~0.3.3",
73
73
  "@mozilla/readability": "~0.6.0",
@@ -441,7 +441,7 @@ export const defaultAlignmentOptions: AlignmentOptions = {
441
441
 
442
442
  plainText: {
443
443
  paragraphBreaks: 'double',
444
- whitespace: 'collapse'
444
+ whitespace: 'preserve'
445
445
  },
446
446
 
447
447
  subtitles: {
@@ -1265,7 +1265,7 @@ export const defaultSynthesisOptions: SynthesisOptions = {
1265
1265
 
1266
1266
  plainText: {
1267
1267
  paragraphBreaks: 'double',
1268
- whitespace: 'collapse'
1268
+ whitespace: 'preserve'
1269
1269
  },
1270
1270
 
1271
1271
  alignment: {
@@ -140,7 +140,7 @@ export const defaultTranscriptAndTranslationAlignmentOptions: TranscriptAndTrans
140
140
 
141
141
  plainText: {
142
142
  paragraphBreaks: 'double',
143
- whitespace: 'collapse'
143
+ whitespace: 'preserve'
144
144
  },
145
145
 
146
146
  subtitles: {
@@ -199,7 +199,7 @@ export const defaultTranslationAlignmentOptions: TranslationAlignmentOptions = {
199
199
 
200
200
  plainText: {
201
201
  paragraphBreaks: 'double',
202
- whitespace: 'collapse'
202
+ whitespace: 'preserve'
203
203
  },
204
204
 
205
205
  subtitles: {
@@ -149,12 +149,12 @@ export function timelineToSubtitles(timeline: Timeline, subtitlesConfig?: Subtit
149
149
 
150
150
  // Generates subtitle cues from timeline. Ensures each segment or sentence starts in a new cue.
151
151
  function getCuesFromTimeline_IsolateSegmentSentence(timeline: Timeline, config: SubtitlesConfig) {
152
- if (timeline.length == 0) {
152
+ if (timeline.length === 0) {
153
153
  return []
154
154
  }
155
155
 
156
156
  // If the given timeline is a word timeline, wrap it with a segment and call again
157
- if (timeline[0].type == 'word') {
157
+ if (timeline[0].type === 'word') {
158
158
  const wordTimeline = timeline.filter(entry => isWordOrSymbolWord(entry.text))
159
159
 
160
160
  const text = wordTimeline.map(entry => entry.text).join(' ')
@@ -174,8 +174,12 @@ function getCuesFromTimeline_IsolateSegmentSentence(timeline: Timeline, config:
174
174
 
175
175
  // Generate one or more cues from each segment or sentence in the timeline.
176
176
  for (let entry of timeline) {
177
- if (entry.type == 'segment' && entry.timeline?.[0]?.type == 'sentence') {
178
- if (config.mode == 'segment') {
177
+ if (!entry.timeline || entry.timeline.length === 0) {
178
+ continue
179
+ }
180
+
181
+ if (entry.type === 'segment' && entry.timeline?.[0]?.type === 'sentence') {
182
+ if (config.mode === 'segment') {
179
183
  // If the mode is 'segment', flatten all sentences to a single word timeline
180
184
  entry.timeline = entry.timeline!.flatMap(t => t.timeline!)
181
185
  } else {
@@ -1,6 +1,6 @@
1
1
  import { addMissingPunctuationWordsToWordSequence, segmentWordSequence, WordSequence } from '@echogarden/text-segmentation'
2
2
  import { ParagraphBreakType, WhitespaceProcessing } from '../api/Common.js'
3
- import { isWord, isWordOrSymbolWord, splitToParagraphs, splitToWords } from '../nlp/Segmentation.js'
3
+ import { applyWhitespaceProcessing, isWord, isWordOrSymbolWord, splitToParagraphs } from '../nlp/Segmentation.js'
4
4
  import { deepClone } from './ObjectUtilities.js'
5
5
  import { getUTF32Chars } from './StringUtilities.js'
6
6
  import { roundToDigits } from './Utilities.js'
@@ -63,7 +63,7 @@ export function roundTimelineProperties(targetTimeline: Timeline, decimalDigits
63
63
  return roundedTimeline
64
64
  }
65
65
 
66
- export async function wordTimelineToSegmentSentenceTimeline(wordTimelineWithOffsets: Timeline, transcript: string, language: string, paragraphBreaks: ParagraphBreakType = 'double', whitespace: WhitespaceProcessing = 'collapse') {
66
+ export async function wordTimelineToSegmentSentenceTimeline(wordTimelineWithOffsets: Timeline, transcript: string, language: string, paragraphBreaks: ParagraphBreakType = 'double', whitespace: WhitespaceProcessing = 'preserve') {
67
67
  const wordSequence = new WordSequence()
68
68
 
69
69
  for (const wordEntry of wordTimelineWithOffsets) {
@@ -79,51 +79,19 @@ export async function wordTimelineToSegmentSentenceTimeline(wordTimelineWithOffs
79
79
 
80
80
  const segmentedWordSequence = await segmentWordSequence(wordSequenceWithPunctuation)
81
81
 
82
- const paragraphs = splitToParagraphs(transcript, paragraphBreaks, whitespace)
83
- const sentenceIndexesForParagraph = paragraphs.map(_ => [] as number[])
84
-
85
- {
86
- let sentenceIndex = 0
87
- let charOffset = 0
88
-
89
- for (let paragraphIndex = 0; paragraphIndex < paragraphs.length; paragraphIndex++) {
90
- const paragraph = paragraphs[paragraphIndex]
91
-
92
- const paragraphStartOffset = charOffset
93
- const paragraphEndOffset = paragraphStartOffset + paragraph.length
94
-
95
- while (sentenceIndex < segmentedWordSequence.sentences.length) {
96
- const sentenceEntry = segmentedWordSequence.sentences[sentenceIndex]
97
- const sentenceStartOffset = sentenceEntry.charRange.start
98
- const sentenceEndOffset = sentenceEntry.charRange.end
99
-
100
- if (sentenceStartOffset < paragraphEndOffset) {
101
- sentenceIndexesForParagraph[paragraphIndex].push(sentenceIndex)
102
- sentenceIndex++
103
- } else {
104
- break
105
- }
106
- }
107
-
108
- if (sentenceIndex === segmentedWordSequence.sentences.length) {
109
- break
110
- }
111
-
112
- charOffset += paragraph.length
113
- }
114
- }
82
+ const segmentSentenceRanges = segmentedWordSequence.segmentSentenceRanges
115
83
 
116
84
  const segmentTimeline: Timeline = []
117
85
  let wordIndex = 0
118
86
 
119
- for (let paragraphIndex = 0; paragraphIndex < paragraphs.length; paragraphIndex++) {
120
- const paragraph = paragraphs[paragraphIndex]
121
- const sentencesIndexes = sentenceIndexesForParagraph[paragraphIndex]
122
- const sentenceEntries = sentencesIndexes.map(index => segmentedWordSequence.sentences[index])
87
+ let lastKnownTimestamp = wordTimelineWithOffsets?.[0].startTime ?? 0
123
88
 
124
- const sentenceTimeline: Timeline = []
89
+ let segmentText = ''
90
+ let sentenceTimeline: Timeline = []
125
91
 
126
- for (const sentenceEntry of sentenceEntries) {
92
+ for (const segmentSentenceRange of segmentSentenceRanges) {
93
+ for (let sentenceIndex = segmentSentenceRange.start; sentenceIndex < segmentSentenceRange.end; sentenceIndex++) {
94
+ const sentenceEntry = segmentedWordSequence.sentences[sentenceIndex]
127
95
  const wordTimeline: Timeline = []
128
96
 
129
97
  for (const _ of sentenceEntry.words.entries) {
@@ -133,33 +101,46 @@ export async function wordTimelineToSegmentSentenceTimeline(wordTimelineWithOffs
133
101
  const wordTimelineEntry = wordTimelineWithOffsets[originalWordIndex]
134
102
 
135
103
  wordTimeline.push(wordTimelineEntry)
104
+
105
+ lastKnownTimestamp = wordTimelineEntry.endTime ?? lastKnownTimestamp
136
106
  }
137
107
 
138
108
  wordIndex += 1
139
109
  }
140
110
 
111
+ const sentenceText = sentenceEntry.text
112
+
141
113
  const sentenceTimelineEntry: TimelineEntry = {
142
114
  type: 'sentence',
143
- text: sentenceEntry.text,
144
- startTime: wordTimeline[0]?.startTime,
145
- endTime: wordTimeline[wordTimeline.length - 1]?.endTime,
115
+ text: sentenceText,
116
+ startTime: wordTimeline[0]?.startTime ?? lastKnownTimestamp,
117
+ endTime: wordTimeline[wordTimeline.length - 1]?.endTime ?? lastKnownTimestamp,
146
118
 
147
119
  timeline: wordTimeline,
148
120
  }
149
121
 
150
122
  sentenceTimeline.push(sentenceTimelineEntry)
123
+ segmentText += sentenceText
151
124
  }
152
125
 
153
- const segmentTimelineEntry: TimelineEntry = {
154
- type: 'segment',
155
- text: paragraph,
156
- startTime: sentenceTimeline[0]?.startTime,
157
- endTime: sentenceTimeline[sentenceTimeline.length - 1]?.endTime,
126
+ if (paragraphBreaks === 'single' ||
127
+ segmentSentenceRange.end === segmentedWordSequence.sentences.length ||
128
+ /\r?\n\r?\n$/.test(segmentText)) {
158
129
 
159
- timeline: sentenceTimeline,
160
- }
130
+ const segmentTimelineEntry: TimelineEntry = {
131
+ type: 'segment',
132
+ text: applyWhitespaceProcessing(segmentText, whitespace),
133
+ startTime: sentenceTimeline[0]?.startTime ?? lastKnownTimestamp,
134
+ endTime: sentenceTimeline[sentenceTimeline.length - 1]?.endTime ?? lastKnownTimestamp,
161
135
 
162
- segmentTimeline.push(segmentTimelineEntry)
136
+ timeline: sentenceTimeline,
137
+ }
138
+
139
+ segmentTimeline.push(segmentTimelineEntry)
140
+
141
+ segmentText = ''
142
+ sentenceTimeline = []
143
+ }
163
144
  }
164
145
 
165
146
  return { segmentTimeline }