SSML Utilities は、Speech Synthesis Markup Language (SSML) を扱うための包括的なツールキットです。このプロジェクトは、SSML の編集、ハイライト表示、および関連機能を提供し、開発者が SSML を効率的に操作できるようサポートします。
動作確認用のデモはこちらです。
SSML Utilities は以下のパッケージを提供しています:
- @ssml-utilities/editor-react
- @ssml-utilities/highlighter
- @ssml-utilities/core
- @ssml-utilities/validation
- Japanese TTS analyzer stack (
accent-ir,analyze-contract,tts-playground,analyze-backend) moved to Jabelic-Works/japanese-tts-analyzer.
公開済みの各パッケージは個別にインストールして使用することができます。
各パッケージを個別にインストールするには、以下のコマンドを使用します:
npm install @ssml-utilities/editor-react
npm install @ssml-utilities/highlighter
npm install @ssml-utilities/core
npm install @ssml-utilities/validationSSML Highlighter は、SSML テキストを構文ハイライトされた HTML に変換します。
import { ssmlHighlighter } from "@ssml-utilities/highlighter";
const ssml = "<speak>Hello <emphasis>world</emphasis>!</speak>";
const highlighted = ssmlHighlighter.highlight(ssml, {
classes: {
tag: "ssml-tag",
attribute: "ssml-attribute",
attributeValue: "ssml-attribute-value",
text: "ssml-text",
},
});
console.log(highlighted);SSML Editor for React は、SSML テキストを編集するための React コンポーネントを提供します。
import React from "react";
import { SSMLEditor } from "@ssml-utilities/editor-react";
function App() {
const initialSSML = "<speak>Hello, world!</speak>";
const [latestSSML, setLatestSSML] = React.useState(initialSSML);
return (
<>
<SSMLEditor initialValue={initialSSML} onChange={setLatestSSML} />
<pre>{latestSSML}</pre>
</>
);
}initialValue はマウント時の初期値で、編集中の最新値は onChange で受け取ります。
Provider-aware validation は @ssml-utilities/validation が担当します。Azure / Google / generic profile に基づく diagnostics を取得できます。
import { validateSSML } from "@ssml-utilities/validation";
const diagnostics = validateSSML("<speak>Hello</speak>", {
profile: "azure",
});
console.log(diagnostics);各パッケージの README を参照してください:
- @ssml-utilities/editor-react API
- @ssml-utilities/highlighter API
- @ssml-utilities/core API
- @ssml-utilities/validation API
このプロジェクトは MIT ライセンス の下で公開されています。
問題や質問がある場合は、GitHub の Issue トラッカーを使用してください。
SSML Utilities を使用していただきありがとうございます。このツールキットが SSML の操作をより簡単かつ効率的にすることを願っています。