UNPKG

xunfei-tts

Version:

借助“讯飞在线语音合成API”实现浏览器端“文本转语音

67 lines (66 loc) 2.34 kB
/** * 文本流分段器 - 用于将连续文本按语言规则智能分割成有意义的段落和片段 * 支持中文、英文混合文本处理,正确识别单词、标点符号和数字,避免小数点等特殊符号导致的错误分段 */ declare class TextStreamSplitter { private readonly CHINESE_CHAR_REGEX; private readonly CHINESE_PUNCTUATION_REGEX; private readonly CHINESE_PARAGRAPH_END_REGEX; private readonly ENGLISH_WORD_START_REGEX; private readonly ENGLISH_WORD_CONTINUE_REGEX; private readonly ENGLISH_PUNCTUATION_REGEX; private readonly ENGLISH_PARAGRAPH_END_REGEX; private readonly SPACE_CHAR_REGEX; private readonly MIN_PARAGRAPH_LENGTH; private pendingTokens; /** * 将输入文本转换为标记流。 * @param text 原始文本内容。 * @returns 标记化后的文本标记数组。 */ private tokenizeText; /** * 文本净化预处理 - 去除无效字符和格式。 * @param text 原始文本。 * @returns 净化后的文本。 */ private sanitizeText; /** * 段落输出之前的整理逻辑。 * @param paragraphs 段落数组。 * @returns 整理后的段落数组。 */ private sanitizeParagraphs; /** * 判断标记是否为段落结束符号。 * @param token 文本标记。 * @returns 是否为段落结束符号。 */ private isParagraphEndToken; /** * 将标记数组转换回文本。 * @param tokens 文本标记数组。 * @returns 组合后的文本。 */ private tokensToString; /** * 将标记流分割成多个段落。 * @param tokens 文本标记数组。 * @returns 分段后的标记数组集合。 */ private splitToParagraphs; /** * 合并因小数点导致的错误分段。 * @param paragraphs 分段后的标记数组集合。 * @returns 合并后的标记数组集合。 */ private mergeDecimalParagraphs; /** * 处理输入文本,返回分段后的文本数组。 * @param text 输入文本内容。 * @param includeRemaining 是否包含未完成的段落。 * @returns 分段后的文本数组。 */ processText(text: string, includeRemaining?: boolean): string[]; } export default TextStreamSplitter;