diff --git a/packages/text-to-speech/src/htmlToSsml.ts b/packages/text-to-speech/src/htmlToSsml.ts
index ef9d6af6e..9b1a32d87 100644
--- a/packages/text-to-speech/src/htmlToSsml.ts
+++ b/packages/text-to-speech/src/htmlToSsml.ts
@@ -1,5 +1,4 @@
import { parseHTML } from 'linkedom'
-import * as _ from 'underscore'
import { SentenceTokenizer, WordPunctTokenizer } from 'natural'
import { htmlToText } from 'html-to-text'
@@ -114,12 +113,8 @@ function emit(textItems: string[], text: string) {
textItems.push(text)
}
-const cleanText = (text: string): string => {
- return stripEmojis(_.escape(text.replace(/\s+/g, ' ')))
-}
-
function cleanTextNode(textNode: ChildNode): string {
- return cleanText(textNode.textContent ?? '')
+ return stripEmojis(textNode.textContent ?? '')
}
function emitTextNode(
@@ -395,7 +390,7 @@ export const htmlToSpeechFile = (htmlInput: HtmlInput): SpeechFile => {
const titleUtterance = textToUtterances({
tokenizer,
idx: '',
- textItems: [cleanText(title)], // title could have HTML entity names like & or emoji
+ textItems: [stripEmojis(title)], // title could have emoji
wordOffset,
isHtml: false,
})[0]