配合沉浸式翻译插件使用,一款YouTube的Tampermonkey用户脚本,主要功能是将YouTube上的沉浸式翻译双语字幕转换为语音播放,支持更改音色和调整语音速度,支持多语言。
沉浸式翻译插件:
https://chromewebstore.google.com/detail/%E6%B2%89%E6%B5%B8%E5%BC%8F%E7%BF%BB%E8%AF%91-%E7%BD%91%E9%A1%B5%E7%BF%BB%E8%AF%91%E6%8F%92%E4%BB%B6-pdf%E7%BF%BB%E8%AF%91-%E5%85%8D%E8%B4%B9/bpoadfkcbjbfhfodiogcnhhhpibjhbnh?hl=zh-CN&utm_source=ext_sidebar
主要功能
-
字幕转语音:
-
将YouTube上的沉浸式翻译双语字幕转换为语音播放。
-
支持多语言,可以根据字幕语言自动选择合适的语音。
-
音色选择:
-
用户可以从系统支持的语音列表中选择不同的音色。
-
支持搜索和筛选音色,方便用户找到合适的语音。
-
语音速度控制:
-
支持跟随视频倍速或自定义语音速度。
-
用户可以根据需要调整语音播放的速度。
-
音量控制:
-
用户可以调整语音播放的音量。
-
自动暂停视频:
-
当新字幕出现时,如果上一条语音还未播放完,会自动暂停视频等待语音播放完成。
-
确保每条字幕都被完整朗读,提升用户体验。
-
快捷键支持:
-
支持通过快捷键(Alt+T)快速启用或禁用语音播放功能。
-
浮动设置窗口:
-
提供一个浮动的设置窗口,用户可以方便地调整设置。
-
支持拖动窗口位置,并自动保存窗口位置。
-
视频切换检测:
-
自动检测视频切换,并重新设置字幕监听。
-
确保在切换视频时能够继续正常播放语音
代码:
const testPhrases = {
'zh': '这是一个中文测试语音',
'zh-CN': '这是一个中文测试语音',
'zh-TW': '這是一個中文測試語音',
'zh-HK': '這是一個中文測試語音',
'en': 'This is a test voice in English',
'ja': 'これは日本語のテスト音声です',
'ko': '이것은 한국어 테스트 음성입니다',
'fr': 'Ceci est un test vocal en français',
'de': 'Dies ist eine Testsprache auf Deutsch',
'es': 'Esta es una voz de prueba en español',
'it': 'Questa è una voce di prova in italiano',
'ru': 'Это тестовый голос на русском языке',
'pt': 'Esta é uma voz de teste em português',
'default': 'This is a test voice' // 默认测试文本
};
代码结构
-
初始化:
-
脚本在页面加载完成后开始初始化,加载语音列表并设置快捷键。
-
如果语音播放功能已启用,则设置字幕监听和导航监听。
-
语音播放逻辑:
-
通过
SpeechSynthesis
API实现语音播放。 -
支持处理语音播放中的错误和暂停逻辑。
-
字幕监听:
-
使用
MutationObserver
监听字幕容器的变化,当字幕文本变化时触发语音播放。 -
视频切换检测:
-
通过监听URL变化和视频容器的变化,检测视频切换并重新设置字幕监听。
-
设置窗口:
-
创建一个浮动的设置窗口,用户可以在其中调整音色、速度、音量等设置。
-
支持拖动窗口位置,并自动保存窗口位置。
-
快捷键:
-
通过监听键盘事件,支持通过快捷键启用或禁用语音播放功能。
运行效果:
后台回复YouTube获取完整代码
原文始发于微信公众号(蓝胖子之家):YouTube字幕实时转语音(油猴脚本)
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论