无障碍语音服务及其快速实现技巧

阅读时长 8 分钟读完

前言

在现代化社会中,随着人口老龄化等社会问题不断加剧,关注无障碍服务已成为必然。无障碍服务涉及的领域之一便是语音服务,为有视觉障碍或身体残疾等行动不便的用户提供使用web的便利。本文将介绍无障碍语音服务的实现思路,并提供技巧性的代码示例。

实现思路

1. 文字转语音技术

实现无障碍语音服务需要先将页面内容转换为语音信息。现在主流的文本转语音技术是基于云端人工智能的,例如Google Cloud Text-to-Speech API、Microsoft Azure Speech Services等。

以 Google Cloud 为例,其使用如下:

-- -------------------- ---- -------
----- - ------------------ - - ----------------------------------------
----- -- - --------------

----- ------------------ - --- ---------------------
----- ------- - -
  ------ -
    ----- ----------------- -- -------
  --
  ------ -
    ------------- --------
    ----------- ----------
  --
  ------------ -
    -------------- -----
  --
--

-------------------------------------------- ----- --------- -- -
  -- ------ -
    ----------------------------- ---------------------- --------- --- -- -
      ----------------- ----------
    ---
  -
---

在引用Google Cloud的 Text-to-Speech API前,我们需要先安装相关插件。执行以下指令进行安装:

2. 语音播报技术

需要将文本转化为语音后,我们可以使用webkitSpeechRecognition API从客户端获取音频,并播放它。

-- -------------------- ---- -------
----- ------------------- - --- --------------------------
------------------------ - --------
---------------------------------- - -----

---------------------------------------------- ----- -- -
  ----- ---- - -------------------- - --
  ----- ---------- - ----------------------------------

  -- ----------------------------- -
    -- ----
  -
---
----------------------------

与文本转换服务一样,在启用时之前,我们需要确保webkitSpeechRecognition API得到了支持。你可以使用以下代码进行检查:

如果检查到浏览器不支持这个API,可以考虑在网页中提供文本复制和使用第三方语音播放器。

3. 隐含语义标记语言技术

为了进一步提高客户端感受,我们建议使用隐含语义标记语言(SSML)技术,该技术可以使语音更加自然。例如,使用音调、音量、停顿等控制文本转语音输出的细节。

实际应用

实现无障碍语音服务的第一步是在网站的 UI 中添加一个 “听取页面”按键。点击此按钮后,开始使用文本转语音API将网站的内容转变成音频并在客户端播放25秒钟。

-- -------------------- ---- -------
----------------------------------------------------------------- -- -- -
  ----- ------ - -------------------------------
  ----- ------ - - ----------- ------ ---------- ----- -------- ---- --
  ----- -------- - --------------- --------- -- -
    --- ------ -------- -- -------------- -
      -- -------------- --- ------------ -
        ---------------
      -
    -
  --
  ----- -------- - --- ---------------------------
  ------------------------ --------

  ---------------
---

-------- -------------- -
  ----- ------ - --- ---------------------
  ----- ---- - -------------------------------------------------

  ----- ------- - -
    ------ -
      ----- ----------
    --
    ------ -
      ------------- --------
    --
    ------------ -
      -------------- ------
    --
  --

  -------------------------------- ----- --------- -- -
    -- ----- -
      -------------------- -------- ------ ---- -- ------ ------------ -- -----
      -------
    -

    ----- ----- - --- --------
    -------------- - -----
    --------- - ------------------------ - ----------------------
    ----------------------- -- -
      -------------- - ------
      ---------------
    ---
  ---
-

我们还可以加入隐含语义标记语言,使语音更加自然:

-- -------------------- ---- -------
---- -----------------
  -------------------------------------------------------------------------------
  ----
    --------------------------------------------
    ----------------------------------------
    -------------------------
    ------------------ --- - - ----------
  -----
------
-- -------------------- ---- -------
----- ------ - --- ---------------------

-------- -------------- -
  ----- ---- - -
    -------
      ------ -----------------------
        -------- ----------- -----------
        ---------------------------------------------------
        ----------
      --------
    --------
  --

  ----- ------- - -
    ------ - ----- ---- --
    ------ - ------------- -------- ----- ----------------- --
    ------------ - -------------- ----- --
  --

  -------------------------------- ----- --------- -- -
    -- ----- -
      -------------------- -------- ------ ---- -- ------ ------------ -- -----
      -------
    -
    ----- ----- - --- --------
    --------- - ------------------------ - ----------------------
    ----------------------- -- -
      ---------------
    ---
  ---
-

结论

以上就是实现无障碍语音服务的技术与思路的介绍。通过使用这些技巧,您可以在现有UI中为您的无障碍用户提供更大的可访问性。

希望这篇文章对您有所帮助!

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/672207772e7021665e09fff0

纠错
反馈