Docs: move enjoy-docs under 1000h (#373)

* move /enjoy-docs unser 1000-h/

* fix dep
This commit is contained in:
an-lee
2024-03-02 19:54:20 +08:00
committed by GitHub
parent 22e6a1af23
commit 1876e45da3
48 changed files with 1739 additions and 4660 deletions

View File

@@ -1,10 +1,10 @@
import { defineConfig } from 'vitepress'
import { withMermaid } from 'vitepress-plugin-mermaid'
import footnote from 'markdown-it-footnote'
import sup from 'markdown-it-sup'
import sub from 'markdown-it-sub'
import mark from 'markdown-it-mark'
import ins from 'markdown-it-ins'
import { defineConfig } from "vitepress";
import { withMermaid } from "vitepress-plugin-mermaid";
import footnote from "markdown-it-footnote";
import sup from "markdown-it-sup";
import sub from "markdown-it-sub";
import mark from "markdown-it-mark";
import ins from "markdown-it-ins";
// import markdownit from 'markdown-it'
@@ -14,173 +14,354 @@ export default withMermaid(
title: "1000 小时",
description: "用注意力填满 1000 小时就能练成任何你需要的技能……",
head: [
[ 'script', { async: '', src: 'https://www.googletagmanager.com/gtag/js?id=G-Z2QZPX3T9W' } ],
[
'script', {},
"script",
{
async: "",
src: "https://www.googletagmanager.com/gtag/js?id=G-Z2QZPX3T9W",
},
],
[
"script",
{},
`window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-Z2QZPX3T9W');`
gtag('config', 'G-Z2QZPX3T9W');`,
],
['link', { rel: 'icon', href: '/images/clock.svg' }]
["link", { rel: "icon", href: "/images/clock.svg" }],
],
themeConfig: {
// https://vitepress.dev/reference/default-theme-config
nav: [
{ text: 'Home', link: '/' },
// { text: 'Examples', link: '/markdown-examples' }
{ text: "Home", link: "/" },
{ text: "Enjoy App", link: "/enjoy-app/", activeMatch: "/enjoy-app/" },
],
search: {
// provider: 'local'
provider: 'algolia',
provider: "algolia",
options: {
appId: 'KKK8CORNSR',
apiKey: 'd613ff31a535ff1e9535cf9c88ec420a',
indexName: '1000h'
}
appId: "KKK8CORNSR",
apiKey: "d613ff31a535ff1e9535cf9c88ec420a",
indexName: "1000h",
},
},
sidebar: [
{
text: '简要说明', collapsed: true, link: '/intro',
items: [
{ text: '1. 要不要健脑?', link: '/why' },
{ text: '2. 什么最健脑?', link: '/what' },
]
},
{
text: '训练任务', collapsed: true,
items: [
{ text: '1. 启动任务', link: '/training-tasks/kick-off' },
{ text: '2. 训练方法', link: '/training-tasks/procedures' },
{
text: '3. 人工智能', collapsed: false, link: '/training-tasks/ai',
items: [
{ text: '3.1. 基础语言能力', link: '/training-tasks/language' },
{ text: '3.2. 成年人的困境', link: '/training-tasks/predicaments' },
{ text: '3.3. 人工智能辅助', link: '/training-tasks/revolution' },
{ text: '3.4. 任务并不高级', link: '/training-tasks/ground' },
{ text: '3.5. 效果非常惊人', link: '/training-tasks/wonder' },
]
},
{ text: '4. 意料之外', link: '/training-tasks/surprise' },
]
},
{
text: '语音塑造', collapsed: true,
items: [
{
text: '1. 基础', collapsed: true, link: '/sounds-of-english/01-basics',
items: [
{ text: '1.1. 音素', collapsed: true, link: '/sounds-of-english/01-phonemes',
items: [
{ text: '1.1.1. 元音', link: '/sounds-of-english/01-1-vowels' },
{ text: '1.1.2. 辅音', link: '/sounds-of-english/01-2-consonants' },
{ text: '1.1.3. 美式语音标注', link: '/sounds-of-english/01-3-us-phonemes' },
{ text: '1.1.4. 示例', link: '/sounds-of-english/01-4-pangram' }
]
},
{ text: '1.2. 音节', link: '/sounds-of-english/02-syllables' }
]
},
{
text: '2. 详解', collapsed: true, link: '/sounds-of-english/03-details',
items: [
{ text: '2.1. 元音', collapsed: false, link: '/sounds-of-english/03-vowels-overview',
items: [
{ text: '2.1.1. 口腔内气流共鸣位置', link: '/sounds-of-english/04-vowel-positions' },
{ text: '2.1.2. ʌ/ɑː', link: '/sounds-of-english/05-Ʌ' },
{ text: '2.1.3. e/æ', link: '/sounds-of-english/06-e' },
{ text: '2.1.4. ə/əː', link: '/sounds-of-english/07-ə' },
{ text: '2.1.5. ɪ/iː', link: '/sounds-of-english/08-i' },
{ text: '2.1.6. ʊ/uː', link: '/sounds-of-english/09-u' },
{ text: '2.1.7. ɔ/ɔː', link: '/sounds-of-english/10-ɔ' },
{ text: '2.1.8. aɪ, eɪ, ɔɪ, aʊ, əʊ, eə, ɪə, ʊə', link: '/sounds-of-english/11-aɪ' },
]
},
{ text: '2.2. 辅音', collapsed: false, link: '/sounds-of-english/12-consonants-overview',
items: [
{ text: '2.2.1. p, b, m, n, f, k, g, h', link: '/sounds-of-english/13-pbmnfkgh' },
{ text: '2.2.2. f, v', link: '/sounds-of-english/14-fv' },
{ text: '2.2.3. m, n, ŋ', link: '/sounds-of-english/15-mn' },
{ text: '2.2.4. t, d, s, z; ʃ, tʃ, dʒ', link: '/sounds-of-english/16-tdsz' },
{ text: '2.2.5. t, d', link: '/sounds-of-english/17-td' },
{ text: '2.2.6. tr, dr, ts, dz', link: '/sounds-of-english/18-trdr' },
{ text: '2.2.7. sp, st, str, sk', link: '/sounds-of-english/19-sptk' },
{ text: '2.2.8. h', link: '/sounds-of-english/20-h' },
{ text: '2.2.9. θ, ð', link: '/sounds-of-english/21-θð' },
{ text: '2.2.10. r', link: '/sounds-of-english/22-r' },
{ text: '2.2.11. l', link: '/sounds-of-english/23-l' },
{ text: '2.2.12. ʒ', link: '/sounds-of-english/24-ʒ' },
{ text: '2.2.13. j, w', link: '/sounds-of-english/25-jw' },
]
},
{ text: '2.3. 连读', link: '/sounds-of-english/26-catenation' },
{ text: '2.4. 音标学习', link: '/sounds-of-english/27-learning-phonetics' },
{ text: '2.4. 英美口音选择', link: '/sounds-of-english/28-choosing-accent' },
]
},
{
text: '3. 进阶', collapsed: true, link: '/sounds-of-english/29-advanced',
items: [
{ text: '3.1 什么更重要?', link: '/sounds-of-english/30-more-important' },
{ text: '3.2 停顿', link: '/sounds-of-english/31-pause' },
{ text: '3.3 高低', link: '/sounds-of-english/32-high-low' },
{ text: '3.4 起伏', link: '/sounds-of-english/33-up-down' },
{ text: '3.5 轻重', link: '/sounds-of-english/34-strong-weak' },
{ text: '3.6 缓急', link: '/sounds-of-english/35-fast-slow' },
{ text: '3.7 长短', link: '/sounds-of-english/36-long-short' },
]
},
{
text: '4. 收官', collapsed: true, link: '/sounds-of-english/37-round-up',
items: [
{ text: '4.1 流利', link: '/sounds-of-english/38-fluent' },
{ text: '4.2 情绪', link: '/sounds-of-english/39-emotional' },
]
}
]
},
{
text: '大脑内部', collapsed: true,
items: [
{ text: '1. 小空间大世界', link: '/in-the-brain/01-inifinite' },
{ text: '2. 一切都是连接', link: '/in-the-brain/02-links' },
{ text: '3. 一切都是体育课', link: '/in-the-brain/03-sports' },
{ text: '4. 一切都是语文课', link: '/in-the-brain/04-literature' },
{ text: '5. 一切都需要能量', link: '/in-the-brain/05-energy' },
{ text: '6. 用进废退循环利用', link: '/in-the-brain/06-use-or-lose' },
{ text: '7. 短时间内足量重复', link: '/in-the-brain/07-repitition' },
{ text: '8. 新旧网络间的竞争', link: '/in-the-brain/08-compitition' },
{ text: '9. 注意不到就不存在', link: '/in-the-brain/09-unnoticed' },
{ text: '10. 熟练就是卸载负担', link: '/in-the-brain/10-unloading' },
{ text: '11. 被关注是最大负担', link: '/in-the-brain/11-burden' },
{ text: '12. 有限排它不可再生', link: '/in-the-brain/12-unreproducible' },
{ text: '13. 一切都是化学反应', link: '/in-the-brain/13-chemical' },
{ text: '14. 安全阈值决定成果', link: '/in-the-brain/14-threshold' },
]
},
{
text: '自我训练', collapsed: true, link: `/self-training/00-intro`,
items: [
{ text: '1. 用兵打仗', link: '/self-training/01-fight' },
{ text: '2. 只能自学', link: '/self-training/02-last-resort' },
{ text: '3. 生学硬练', link: '/self-training/03-trials-and-errors' },
{ text: '4. 走出迷宫', link: '/self-training/04-maze' },
{ text: '5. 自我纠正', link: '/self-training/05-correction' },
{ text: '6. 自主驱动', link: '/self-training/06-motives' },
{ text: '7. 自我鼓励', link: '/self-training/07-encouraging' },
{ text: '8. 自我监督', link: '/self-training/08-supervising' },
{ text: '9. 自主计划', link: '/self-training/09-planning' },
{ text: '10. 返璞归真', link: '/self-training/10-going-back' },
]
},
],
sidebar: {
"/": [
{
text: "简要说明",
collapsed: true,
link: "/intro",
items: [
{ text: "1. 要不要健脑?", link: "/why" },
{ text: "2. 什么最健脑?", link: "/what" },
],
},
{
text: "训练任务",
collapsed: true,
items: [
{ text: "1. 启动任务", link: "/training-tasks/kick-off" },
{ text: "2. 训练方法", link: "/training-tasks/procedures" },
{
text: "3. 人工智能",
collapsed: false,
link: "/training-tasks/ai",
items: [
{
text: "3.1. 基础语言能力",
link: "/training-tasks/language",
},
{
text: "3.2. 成年人的困境",
link: "/training-tasks/predicaments",
},
{
text: "3.3. 人工智能辅助",
link: "/training-tasks/revolution",
},
{ text: "3.4. 任务并不高级", link: "/training-tasks/ground" },
{ text: "3.5. 效果非常惊人", link: "/training-tasks/wonder" },
],
},
{ text: "4. 意料之外", link: "/training-tasks/surprise" },
],
},
{
text: "语音塑造",
collapsed: true,
items: [
{
text: "1. 基础",
collapsed: true,
link: "/sounds-of-english/01-basics",
items: [
{
text: "1.1. 音素",
collapsed: true,
link: "/sounds-of-english/01-phonemes",
items: [
{
text: "1.1.1. 元音",
link: "/sounds-of-english/01-1-vowels",
},
{
text: "1.1.2. 辅音",
link: "/sounds-of-english/01-2-consonants",
},
{
text: "1.1.3. 美式语音标注",
link: "/sounds-of-english/01-3-us-phonemes",
},
{
text: "1.1.4. 示例",
link: "/sounds-of-english/01-4-pangram",
},
],
},
{
text: "1.2. 音节",
link: "/sounds-of-english/02-syllables",
},
],
},
{
text: "2. 详解",
collapsed: true,
link: "/sounds-of-english/03-details",
items: [
{
text: "2.1. 元音",
collapsed: false,
link: "/sounds-of-english/03-vowels-overview",
items: [
{
text: "2.1.1. 口腔内气流共鸣位置",
link: "/sounds-of-english/04-vowel-positions",
},
{ text: "2.1.2. ʌ/ɑː", link: "/sounds-of-english/05-Ʌ" },
{ text: "2.1.3. e/æ", link: "/sounds-of-english/06-e" },
{ text: "2.1.4. ə/əː", link: "/sounds-of-english/07-ə" },
{ text: "2.1.5. ɪ/iː", link: "/sounds-of-english/08-i" },
{ text: "2.1.6. ʊ/uː", link: "/sounds-of-english/09-u" },
{ text: "2.1.7. ɔ/ɔː", link: "/sounds-of-english/10-ɔ" },
{
text: "2.1.8. aɪ, eɪ, ɔɪ, aʊ, əʊ, eə, ɪə, ʊə",
link: "/sounds-of-english/11-aɪ",
},
],
},
{
text: "2.2. 辅音",
collapsed: false,
link: "/sounds-of-english/12-consonants-overview",
items: [
{
text: "2.2.1. p, b, m, n, f, k, g, h",
link: "/sounds-of-english/13-pbmnfkgh",
},
{ text: "2.2.2. f, v", link: "/sounds-of-english/14-fv" },
{
text: "2.2.3. m, n, ŋ",
link: "/sounds-of-english/15-mn",
},
{
text: "2.2.4. t, d, s, z; ʃ, tʃ, dʒ",
link: "/sounds-of-english/16-tdsz",
},
{ text: "2.2.5. t, d", link: "/sounds-of-english/17-td" },
{
text: "2.2.6. tr, dr, ts, dz",
link: "/sounds-of-english/18-trdr",
},
{
text: "2.2.7. sp, st, str, sk",
link: "/sounds-of-english/19-sptk",
},
{ text: "2.2.8. h", link: "/sounds-of-english/20-h" },
{ text: "2.2.9. θ, ð", link: "/sounds-of-english/21-θð" },
{ text: "2.2.10. r", link: "/sounds-of-english/22-r" },
{ text: "2.2.11. l", link: "/sounds-of-english/23-l" },
{ text: "2.2.12. ʒ", link: "/sounds-of-english/24-ʒ" },
{
text: "2.2.13. j, w",
link: "/sounds-of-english/25-jw",
},
],
},
{
text: "2.3. 连读",
link: "/sounds-of-english/26-catenation",
},
{
text: "2.4. 音标学习",
link: "/sounds-of-english/27-learning-phonetics",
},
{
text: "2.4. 英美口音选择",
link: "/sounds-of-english/28-choosing-accent",
},
],
},
{
text: "3. 进阶",
collapsed: true,
link: "/sounds-of-english/29-advanced",
items: [
{
text: "3.1 什么更重要?",
link: "/sounds-of-english/30-more-important",
},
{ text: "3.2 停顿", link: "/sounds-of-english/31-pause" },
{ text: "3.3 高低", link: "/sounds-of-english/32-high-low" },
{ text: "3.4 起伏", link: "/sounds-of-english/33-up-down" },
{
text: "3.5 轻重",
link: "/sounds-of-english/34-strong-weak",
},
{ text: "3.6 缓急", link: "/sounds-of-english/35-fast-slow" },
{
text: "3.7 长短",
link: "/sounds-of-english/36-long-short",
},
],
},
{
text: "4. 收官",
collapsed: true,
link: "/sounds-of-english/37-round-up",
items: [
{ text: "4.1 流利", link: "/sounds-of-english/38-fluent" },
{ text: "4.2 情绪", link: "/sounds-of-english/39-emotional" },
],
},
],
},
{
text: "大脑内部",
collapsed: true,
items: [
{ text: "1. 小空间大世界", link: "/in-the-brain/01-inifinite" },
{ text: "2. 一切都是连接", link: "/in-the-brain/02-links" },
{ text: "3. 一切都是体育课", link: "/in-the-brain/03-sports" },
{
text: "4. 一切都是语文课",
link: "/in-the-brain/04-literature",
},
{ text: "5. 一切都需要能量", link: "/in-the-brain/05-energy" },
{
text: "6. 用进废退循环利用",
link: "/in-the-brain/06-use-or-lose",
},
{
text: "7. 短时间内足量重复",
link: "/in-the-brain/07-repitition",
},
{
text: "8. 新旧网络间的竞争",
link: "/in-the-brain/08-compitition",
},
{
text: "9. 注意不到就不存在",
link: "/in-the-brain/09-unnoticed",
},
{
text: "10. 熟练就是卸载负担",
link: "/in-the-brain/10-unloading",
},
{ text: "11. 被关注是最大负担", link: "/in-the-brain/11-burden" },
{
text: "12. 有限排它不可再生",
link: "/in-the-brain/12-unreproducible",
},
{
text: "13. 一切都是化学反应",
link: "/in-the-brain/13-chemical",
},
{
text: "14. 安全阈值决定成果",
link: "/in-the-brain/14-threshold",
},
],
},
{
text: "自我训练",
collapsed: true,
link: `/self-training/00-intro`,
items: [
{ text: "1. 用兵打仗", link: "/self-training/01-fight" },
{ text: "2. 只能自学", link: "/self-training/02-last-resort" },
{
text: "3. 生学硬练",
link: "/self-training/03-trials-and-errors",
},
{ text: "4. 走出迷宫", link: "/self-training/04-maze" },
{ text: "5. 自我纠正", link: "/self-training/05-correction" },
{ text: "6. 自主驱动", link: "/self-training/06-motives" },
{ text: "7. 自我鼓励", link: "/self-training/07-encouraging" },
{ text: "8. 自我监督", link: "/self-training/08-supervising" },
{ text: "9. 自主计划", link: "/self-training/09-planning" },
{ text: "10. 返璞归真", link: "/self-training/10-going-back" },
],
},
],
"/enjoy-app/": [
{
text: "快速开始",
collapsed: false,
items: [
{ text: "Enjoy 简介", link: "/enjoy-app/" },
{ text: "下载安装", link: "/enjoy-app/install" },
{ text: "软件设置", link: "/enjoy-app/settings" },
],
},
{
text: "跟读训练",
collapsed: false,
items: [
{ text: "音频资源", link: "/enjoy-app/audios" },
{ text: "视频资源", link: "/enjoy-app/videos" },
],
},
{
text: "阅读文本",
collapsed: false,
items: [
{ text: "在线文章", link: "/enjoy-app/webpage" },
{ text: "本地电子书", link: "/enjoy-app/ebook" },
],
},
{
text: "智能助手",
collapsed: false,
items: [
{ text: "简介", link: "/enjoy-app/ai-assistant" },
{ text: "GPT 服务", link: "/enjoy-app/gpt-conversation" },
{ text: "TTS 服务", link: "/enjoy-app/tts-conversation" },
],
},
{
text: "使用案例",
collapsed: false,
items: [
{
text: "利用 AI 生成训练材料",
link: "/enjoy-app/use-case-generate-audio-resources",
},
],
},
],
},
socialLinks: [
{ icon: 'github', link: 'https://github.com/xiaolai/everyone-can-use-english/tree/main/1000-hours' }
]
{
icon: "github",
link: "https://github.com/xiaolai/everyone-can-use-english/tree/main/1000-hours",
},
],
},
markdown: {
@@ -188,15 +369,15 @@ export default withMermaid(
math: true,
config: (md) => {
// use more markdown-it plugins!
md.use(footnote)
md.use(sub)
md.use(sup)
md.use(mark)
md.use(ins)
md.use(footnote);
md.use(sub);
md.use(sup);
md.use(mark);
md.use(ins);
},
// toc: {
// level: [2, 3, 4]
// }
}
},
})
);

View File

@@ -0,0 +1,19 @@
# 简介
所有智能助手均以 **对话** 的形式呈现,添加一个对话即添加一个智能助手。
左侧栏点击 `智能助手` 即可进入。
## 添加对话
点击 `新对话` 按钮,弹窗出现预设的 AI 角色,可以快速创建有用的智能助手,也可以选择自定义。
创建对话前,需要先填写相关的配置,最重要的几项是:
- AI 类型,分为 [GPT](./gpt-conversation.md) 和 [TTS](./tts-conversation.md) 两种;
- AI 引擎,每次新建都将加载 [默认 AI 引擎](./settings.md#默认-ai-引擎),创建时可以修改,创建后无法修改;
- 角色定义,[GPT](./tts-conversation.md) 类型时可以定义,即将 AI 赋予一个特定的角色以得到想要的回答;
## 修改对话
在对话页面右上角齿轮可以打开对话的配置进行修改或者删除。需要注意的是AI 类型和 AI 引擎无法修改,需要变更时请新建一个对话。

View File

@@ -0,0 +1,58 @@
# 音频资源
利用音视频资源进行跟读训练是 Enjoy 的核心功能之一。
## 添加音频资源
Enjoy 支持添加本地的音频资源,和在线资源。在音频页面,点击 `添加资源`,在弹窗中输入网址,或者点击 `本地文件` 选择本地计算机的音频文件即可添加。
如果是在线资源Enjoy 会将文件下载至默认的下载文件夹(`Downdoads` 或者 `我的下载`),然后再自动添加至 [资源库](./settings#资源库保存路径)。
## 跟读音频
添加成功后,会自动跳转至音频播放页面。
打开时,需要先解析音频波形数据(并生成 Pitch contour和生成音频字幕使用 [语音转文本服务](./settings#语音转文本服务))。首次打开时,可能需要等待一些时间。所需数据生成成功之后,后续再次打开时的速度会比较快。
::: tip 卡在加载页面怎么办?
打开音频页面时,会先按照以下步骤进行加载:
1. 解析音频波形数据
2. 语音转文本
如果长时间卡在第一步,可能是因为音频太大(主要跟音频时长有关)导致加载时间过长,甚至失败。如果不是音频大小的原因,可能是出现了其他 bug请联系开发者。
如果第二步语音转文本失败,请检查是否在正在使用本地 whisper 组件进行语音转文本,在某些电脑上可能因为兼容性和未知问题导致无法使用。如果出现这种情况,请在 [语音转文本服务设置](./settings#语音转文本服务) 中改用其他语音转文本的云服务。
:::
## 录音
Enjoy 会将音频按照句子切分,用户以句子为单位进行跟读练习。在激活的音频句子下,点击下方的录音按钮,即可开始录音,用户可以模仿音频朗读当前句子作为练习。
![音频播放页面](/images/enjoy/audio-page.png)
_\* 音频播放页面_
::: tip 录音权限
在 Mac 电脑上,首次使用录音功能时,会弹窗请求麦克风的使用权限,请务必点允许,否则无法使用录音功能。
:::
## 发音评估
Enjoy 集成了微软 Azure 的发音评估功能,作为自我的发音检查参考。点击录音右下方的仪表盘图标,即可打开发音评估弹窗。
该功能会以**录音时的句子文本作为参考**,评估录音的发音情况,各指标的详细说明可以参考微软的 [官方文档](https://learn.microsoft.com/en-us/azure/ai-services/speech-service/how-to-pronunciation-assessment?pivots=programming-language-javascript#scripted-assessment-results)。
![发音评估示例](/images/enjoy/pronouce-assessment.png)
_\* 发音评估示例_
::: warning 发音评估的使用建议
该功能是收费功能,每次使用均会在 Enjoy 账户的余额扣费,如果余额不足则需要 [充值](./settings#充值) 后才可继续使用。
根据实测,该功能对提高学习者的发音作用水平有限,其评估结果仅做参考,不应该过度依赖。
另外,我们正在开发一套更有效的发音评估体系,敬请期待。
:::
## 修改音频信息
在音频页面上方,切换至列表模式,即可以对音频进行修改操作,例如修改音频标题,添加描述,和删除音频等。

View File

@@ -0,0 +1,3 @@
# 本地电子书
待开发,敬请期待。

View File

@@ -0,0 +1,7 @@
# GPT 服务
当 AI 类型选择 `GPT`AI 将会根据 `角色定义` 来回答你提出的所有问题。
例如定义一个 `英语教练` 的角色,可以将你发的所有文字翻译成地道的英文表达,再配合 [TTS](./tts-conversation.md) 将其转化成语音,即可作为跟读的材料。
详情可以参照使用案例:[利用 AI 生成训练材料](./use-case-generate-audio-resources.md)

View File

@@ -0,0 +1,7 @@
# Enjoy 简介
AI 是当今世界上最好的外语老师Enjoy 做 **AI 最好的助教**
::: warning 重要提示
Enjoy App 的开发仍处于早期的快速迭代阶段,文档可能落后于开发,导致功能描述可能不符,以最新发布的软件版本为准。
:::

View File

@@ -0,0 +1,43 @@
# 下载安装
Enjoy App 是一个跨平台的桌面应用,可以在 Windows、Mac 和 Linux 等电脑设备上运行。
请根据电脑设备的操作系统,下载相应的版本安装使用。
## Windows
支持 Windows 10 以上版本。
[点击下载](https://github.com/xiaolai/everyone-can-use-english/releases/download/v0.1.0-alpha.12/Enjoy-0.1.0-alpha.12-Setup.exe)
下载后,双击即可安装。
## Mac
根据使用 Mac 电脑的芯片不同,需要下载不同的版本。
- [Silicon 芯片版本(arm64)](https://github.com/xiaolai/everyone-can-use-english/releases/download/v0.1.0-alpha.12/Enjoy-darwin-arm64-0.1.0-alpha.12.zip)
- [Intel 芯片版本(x64)](https://github.com/xiaolai/everyone-can-use-english/releases/download/v0.1.0-alpha.12/Enjoy-darwin-x64-0.1.0-alpha.12.zip)
::: info 如何查看本机配置
M1 以后的 Mac 电脑型号(M1、M2、M3),均为 Silicon 芯片。
如果你不清楚自己电脑的具体型号,可以点击屏幕左上方的  符号,在弹出来的菜单中,选择第一个选项 “关于本机About This Mac在弹出的窗口中即可看到本机的硬件和系统配置。
如果显示的是 _Apple M 系列_,即为 Silicon 芯片。
:::
::: warning 警告
推荐使用 macOS 12 及以上版本macOS 11 可能无法使用部分功能。
:::
## Linux
请根据不同发行版本选用安装文件。
- [下载 deb 版本](https://github.com/xiaolai/everyone-can-use-english/releases/download/v0.1.0-alpha.12/enjoy_0.1.0-alpha.12_amd64.deb)
- [下载 rpm 版本](https://github.com/xiaolai/everyone-can-use-english/releases/download/v0.1.0-alpha.12/enjoy-0.1.0.alpha.12-1.x86_64.rpm)
## 历史版本
所有历史版本均可在 [这里](https://github.com/xiaolai/everyone-can-use-english/releases) 找到。

View File

@@ -0,0 +1,161 @@
# 软件设置
Enjoy 只需要登录后即可直接使用,**无需其他设置**。但是,你仍然可以根据需要做个性化的设置。
打开 Enjoy 软件,点击左侧栏最下面的齿轮按钮,即可打开 `软件设置`
## 资源库保存路径
::: info 设置路径
软件设置 -> 基本设置 -> 资源库保存路径
:::
Enjoy 采用 **本地优先** 的设计原则,大部分数据均保存在本地,即 **资源库保存路径** 下。
所谓资源库是一个名为 `EnjoyLibrary` 的文件夹,默认放置在 `My Documents` (即 `我的文档`)下。
随着 Enjoy 的使用时间增长,资源库文件夹里可能会产生比较大的缓存文件,导致占用空间较大。根据具体需要,你也可以修改资源库的路径,例如从 _C 盘_ 改到空间更大的 _D 盘_
如果已经产生了数据,修改时,可以先把原来的 `EnjoyLibrary` 文件夹复制到目标路径下,再在 Enjoy 软件中点`修改`按钮,选中目标路径,然后重启软件,即可完成修改。
::: tip 资源库里都有什么
打开 `EnjoyLibrary` 文件夹,你能看到类似以下的目录结构
```
.
├── 2400xxxx
│   ├── audios
│   │   ├── 0687ae31c4178bbf0466503e56d887f8.mp3
│   │   └── ...
│   ├── enjoy_database.sqlite
│   ├── recordings
│   │   ├── 025542894635903d5ea6f2395cb404c0.wav
│   │   └── ...
│   ├── speeches
│   │   ├── 0687ae31c4178bbf0466503e56d887f8.mp3
│   │   └── ...
│   └── videos
│   ├── 23876d46305bae2e049c691872dd3cde.mkv
│   └── ...
├── cache
│   ├── 0687ae31c4178bbf0466503e56d887f8.json
│   └── ...
├── logs
│   ├── main.log
│   └── main.old.log
├── waveforms
│   ├── 0687ae31c4178bbf0466503e56d887f8.waveform.json
│   └── ...
└── whisper
│   ├── models
│   │   ├── tiny.en.bin
│   │   └── ...
```
- `/2400xxxx/`: 登录的 Enjoy 帐号 ID该文件夹下的数据均是你使用产生的个人数据
- `/2400xxxx/audios/`: 添加的音频文件
- `/2400xxxx/speeches/`: TTS 生成的语音文件
- `/2400xxxx/videos/`: 添加的视频文件
- `/2400xxxx/recordings/`: 录音文件
- `/2400xxxx/enjoy_database.sqlite`: 个人数据库文件
- `/cache/`: 使用过程中产生的缓存文件,如果占用空间过大,可以安全地删除
- `/logs/`: 保存软件运行的日志,用于帮助开发人员排除故障
- `/waveforms/`: 音视频解码后的波形数据缓存
- `/whisper/models`: 语音转文字服务软件 whisper 的模型文件
:::
::: danger 个人数据安全
`EnjoyLibrary/2400xxxx/` 文件夹下保存的均为使用 Enjoy 过程中产生的个人数据,请务必**不要删改**该文件夹下的任何文件,否则可能会导致数据丢失,或者使得 Enjoy 软件无法正常运行。
如前文所说Enjoy 采用本地优先的设计原则,绝大部分数据并没有上传云服务器,请妥善保管好自己的个人数据。
:::
## OpenAI 配置
::: info 设置路径
软件设置 -> 基本设置 -> OpenAi
:::
配置 OpenAI API 密钥,可以在 [官网](https://platform.openai.com/api-keys) 申请。配置好的 OpenAI 服务可以在 [智能助手](./ai-assistant.md)、 [提取关键词汇](./webpage#提取关键词汇)、 [查单词](./webpage#查单词)、标注音标 等服务中使用。
- 密钥OpenAI API 密钥
- 模型:默认使用的模型
- 接口地址:如果使用的是官方申请的密钥,则不需要填;否则请根据密钥提供方的信息填写。
::: warning 接口地址
由于 OpenAI 在某些地区不提供服务,有些用户会使用第三方提供的中转服务。请务必根据服务提供方的信息填写好 **接口地址**。如果使用时出现报错,可能需要在接口地址结尾加上 `/v1`
:::
## Google Generative AI 配置
::: info 设置路径
软件设置 -> 基本设置 -> Google Generative AI
:::
配置 Google Generative AI 的密钥,可以在 [官网](https://ai.google.dev/) 申请 。配置后可以在 [智能助手](./ai-assistant.md) 中选用 Google Generative AI 作为 AI 引擎。
## 语音转文本服务
::: info 设置路径
软件设置 -> 基本设置 -> 语音转文本服务
:::
语音转文本(即 STTSpeech to Text服务是 Enjoy 提供的核心功能之一,也是 [跟读训练](./audios.md#跟读音频) 的前提条件。
### 本地(whisper)
该设置默认项为 `本地`,即利用 Enjoy 集成的 whisper 组件,完全利用本地计算机的算力提供 STT 服务,该服务完全免费。
Enjoy 软件集成了最小的 whisper 模型 `tiny.en`,如果电脑配置较高,可以选用更大的模型以提高语音转文本的准确度。点击 `模型` 按钮,在弹窗中选择相应的模型即可自动下载并选中。
::: tip 关于 whisper 模型的选择
下载的 whisper 模型会保存在 `/EnjoyLibrary/whisper/models/` 文件夹下。如果自动下载失败,也可以到 [这里](https://huggingface.co/ggerganov/whisper.cpp) 手动下载,放置在该文件夹下,在 Enjoy 中即可以选中。
理论上,模型越大,识别的准确度也更高,但是运行得越慢,甚至在一些配置不高的电脑中无法运行。
凡是以 `.en` 结尾的模型均只支持英文,识别英文准确性也更高,例如 `base.en`;而不以 `.en` 结尾的模型则可以支持多种语言,例如 `base`
:::
::: warning 检查本地 whisper 服务
有些电脑或者系统(例如 macOS 11可能会因为兼容性问题或其他未知问题无法使用本地的 whisper 服务。点击 `检查` 按钮即可检查 whisper 服务在本地计算机是否工作正常。如果提示无法正常工作,可以选用其他服务。
:::
### Azure AI STT
利用微软 Azure AI 的语音识别 API 服务提供的 STT该服务为**收费服务**,每次使用均会在 Enjoy 账户余额中扣费,,余额不足则需要 [充值](#充值) 后才可继续使用。
### Cloudflare AI STT
利用 Cloudflare 提供的 whisper 云服务,该服务目前免费。经实测,对于一些时长较短的音频,识别会有较大误差。
### OpenAI STT
利用 OpenAI 提供的 whipser 云服务,该服务需要[配置自己的 OpenAI 密钥](#openai-配置)。
## 默认 AI 引擎
::: info 设置路径
软件设置 -> 基本设置 -> 默认 AI 引擎
:::
Enjoy 中提供了很多方便的功能,例如 [提取关键词汇](./webpage#提取关键词汇)、 [查单词](./webpage#查单词)、标注音标 等,均是利用 AI 服务来实现。
如果你有自己的 [OpenAI 密钥](#openai-配置),建议将 **默认 AI 引擎** 选为 `OpenAI`
否则,可以选 `Enjoy AI`,由 Enjoy 提供该服务,每次使用均会在账户余额中扣费,余额不足则需要 [充值](#充值) 后才可继续使用。
## 充值
::: info 设置路径
软件设置 -> 账户设置 -> 余额
:::
Enjoy 提供了部分收费的 AI 服务,均为 **按使用量收费**,每次使用会在余额中扣除相应的费用,直到余额不足,则停止提供该服务。
如果需要继续使用,请点击 `充值` 按钮进行充值。
::: danger 充值前须知
需要特别注意的是,充值成功后将在 Enjoy 账户的余额体现,所有余额仅可作为支付 Enjoy 收费服务使用,**不支持退款****不支持提现**。
请谨慎考虑,按需充值。
:::

View File

@@ -0,0 +1,5 @@
# TTS 服务
当 AI 类型选择 `TTS`该对话将提供文本转语音Text to Speech服务即 AI 会将你发出的任意文本转化成语音(音频文件)。生成的语音,可以直接添加至资源库进行跟读练习。
在设置里可以修改语音的角色。

View File

@@ -0,0 +1,45 @@
# 利用 AI 生成训练材料
用外语说我们自己想说的话是学习外语的其中一个重要目的。市面上的口语书实际上并不实用,因为那些话大都不是我们想要说的,我们需要创建专属自己的口语书。使用 Enjoy 可以很容易做到这一点。
## 确保 AI 服务正常
在开始之前,先要确保 AI 服务可以正常使用,要么配置好自己的 [OpenAI 密钥](./settings#openai-配置),要么使用 Enjoy 提供的 AI 服务并确保账户 [余额](./settings#充值) 充足。
## 创建英语教练
点击 Enjoy 左侧栏的 `智能助手` 进入页面,点击 `新对话` 开始创建。
角色定义选择预设的 `英语教练`
![选择 AI 角色](/images/enjoy/select-ai-role.png)
_\* 选择 AI 角色_
具体配置里,根据具体情况,修改 AI 引擎 为 OpenAI 或者 Enjoy AI。如果使用 [OpenAI](./settings#openai-配置),可能还需要检查配置 `接口地址`
将配置拉到最下面,`TTS 引擎` 也需要做相应配置。
![对话设置](/images/enjoy/conversation-form.png)
_\* 对话设置_
配置完成后,点击下面的 `确认` 按钮,即可创建成功。
## 发送任意文字
智能助手的使用跟聊天窗口类似,将你想要说的话发给 `英语教练`作为回复AI 会将你的文字翻译成地道的纽约腔英语。
## 生成语音
如果你对 AI 的回复感到满意,点击信息下方的朗读图标,将其转化为语音。
![英语教练对话](/images/enjoy/english-coach-gpt-conversation.png)
_\* 英语教练对话_
## 跟读训练
继而点击麦克风图标,将该语音加入资源库,进行跟读训练。
![添加跟读训练](/images/enjoy/conversation-add-speech-to-audio.png)
_\* 添加跟读训练_
随后也可以在 [音频页面](./audios.md) 找到该材料,继续练习。

View File

@@ -0,0 +1,20 @@
# 视频资源
视频资源的使用与 [音频资源](./audios.md) 基本一致。
![视频资源播放页面](/images/enjoy/video-page.png)
_\* 视频播放页面_
## 录音
在视频播放页面,需要录音时,可以点播放控制栏上的录音图标,视频将会被缩小至小窗,主界面上会显示录音按钮。
## 视频大小的限制
过大的视频文件会导致加载卡死而无法使用,目前 Enjoy 将添加视频的大小限制在 100 Mb超过则会提示添加失败。
后续会针对大文件做相应优化,以支持更大的文件。
## Youtube 视频
Enjoy 支持添加 Youtube 视频,添加资源时直接输入 Youtobe 网址即可。当然前提是当前网络条件支持访问 Youtube。

View File

@@ -0,0 +1,19 @@
# 在线文章
点击左侧栏的 `文章` 进入。
输入文章的网址,即可开始阅读。
![文章阅读页面](/images/enjoy/story-page.png)
_\* 文章阅读页面_
## 提取关键词汇
打开文章后Enjoy 将会智能提取该文章的关键词汇,并在文中标注。该功能需要 AI 引擎的支持,在 [默认 AI 引擎](./settings.md#默认-ai-引擎) 可以设置。
![关键词汇](/images/enjoy/story-key-vocabulary.png)
_\* 智能提取关键词汇_
## 查单词
在正文中选中任意单词或者短语,即可激活查单词服务,同样需要 [AI 引擎](./settings.md#默认-ai-引擎) 的支持。

View File

@@ -23,8 +23,7 @@ hero:
- theme: brand
text: 自我训练
link: /self-training/00-intro
# - theme: alt
# text: API Examples
# link: /api-examples
- theme: alt
text: Enjoy App
link: /enjoy-app/
---

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,5 @@
{
"name": "1000-hours",
"devDependencies": {
"markdown-it-footnote": "^4.0.0",
"markdown-it-ins": "^4.0.0",
@@ -6,14 +7,15 @@
"markdown-it-mathjax3": "^4.3.2",
"markdown-it-sub": "^2.0.0",
"markdown-it-sup": "^2.0.0",
"mermaid": "^10.8.0",
"sass": "^1.70.0",
"vitepress": "^1.0.0-rc.42",
"vitepress-plugin-mermaid": "^2.0.16",
"vue": "^3.4.18"
},
"scripts": {
"docs:dev": "vitepress dev",
"docs:build": "vitepress build",
"docs:preview": "vitepress preview"
"dev": "vitepress dev",
"build": "vitepress build",
"preview": "vitepress preview"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 425 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 122 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 182 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 197 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 202 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 149 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 240 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB