1. 文档背景
- 项目名称:Melodict(Melody + Dictation) 旋律听写,简单易记,强调音乐和单词学习。
- 文档版本:1.0
- 作者:Akiyama。
- 日期:2025-4-17。
2. 产品概述
-
产品背景:在初一英语老师布置唱英语歌的暑假作业的时候,我常常在想,如果有个软件,可以在歌词浏览的时候,点击某个单词,就能跳出这个单词的读法,释义,可以让我学会唱英语歌的同时,能背这些单词,例如说WestLife中有一首歌的单词:cherish珍惜,这个单词虽然没在书上要求背,但通过这首歌,我记得很牢固。直到现在,在我听日语歌的时候,也在想如果有类似的软件就好了,我经常听ACG,JPop的歌,如果能让我学会唱这些歌的同时,能让我记住这些单词不就一举两得了吗,这就是这个产品的由来。
-
产品目标:用Electron技术开发一个歌词+单词滚动条应用,此产品可以解决用户想在学唱外语歌的同时,可以背这些外语单词的痛点
-
目标用户:外语初学者,初一,初二英语初学者,ACG日语歌爱好者,韩语歌爱好者
-
核心价值:此产品既可以让英/日/韩语歌爱好者可以学会唱出他们喜欢的外语歌,还可以在学会唱歌的同时,无痛地背出歌词里面当中的单词,让此产品寓教于乐
3. 功能需求
功能列表:
- 搜索歌曲
- 播放歌曲的歌词,滚动歌词条
- 点击歌词中的某个单词,跳出单词卡片
- 歌曲列表
- 全局热键配置
功能描述:对每个功能模块进行详细描述。
搜索歌曲 - 功能名称:搜索歌曲。 - 功能描述:通过模糊匹配,检索与关键词相关的歌曲。 - 用户故事:用“用户角色 + 需求 + 目的”的格式描述功能(例如:用户可以登录系统,以便访问个人账户)。用户通过某个关键词搜索某首歌,找到了这首歌。 - 输入/输出: - 输入:搜索框输入关键词 - 输出:输出与关键词模糊匹配的歌曲 - 业务逻辑:用户通过关键词搜索,找到他想要学习的歌曲。 - 优先级:功能的开发优先级:高 播放歌词 - 功能名称:播放歌词。 - 功能描述:当用户点击某首歌时,根据歌词文件的时间戳滚动歌词条,就像网易云/QQ音乐等音乐客户端一样的歌词条滚动体验,可以定位某个时间戳的歌词。 - 用户故事:用“用户角色 + 需求 + 目的”的格式描述功能(例如:用户可以登录系统,以便访问个人账户)。用户打开自己用的歌曲客户端(网易云音乐/酷狗音乐/QQ音乐),点击到自己想要学习的歌,再切换到本产品,用户可以点击播放按钮,或者其他热键(例如空格)来播放歌词的同时,可以播放音乐客户端里面的音乐,让其同步进行 - 输入/输出: - 输入:点击播放按钮/空格播放 - 输出:歌词词条开始滚动 - 业务逻辑:监听空格热键/监听播放按钮,如果状态变化,歌词开始/暂停 - 优先级:功能的开发优先级:高 点击单词跳出单词卡片 - 功能名称:点击单词跳出单词卡片。 - 功能描述:点击单词可以跳出这个单词的单词卡片,卡片中包含这个单词的词性,读法,释义,例句等。 - 用户故事:用户在学习这首歌的时候,碰到了不认识/不会读的单词,用户点击这个单词,就会跳出单词卡片,卡片中显示有关这个单词的读法/释义等,用户了解过后,就能顺利进行歌曲的学习了/外语单词的背诵了 - 输入/输出: - 输入:点击单词/短语 - 输出:跳出单词卡片 - 业务逻辑:将单词/短语当做button,点击按钮时,跳出单词卡片。 - 优先级:功能的开发优先级:高 歌曲列表 - 功能名称:歌曲列表。 - 功能描述:将用户播放过的歌曲放到一个列表当中,点击播放列表的按钮,可以跳出播放列表的卡片 - 用户故事:用户播放过了好几首歌,想要温习之间学习过的歌曲,直接在歌曲列表当中找就行了,或者点击播放按钮旁边的上一首/下一首按钮来控制 - 输入/输出: - 输入:点击播放列表按钮 - 输出:跳出播放列表卡片 - 业务逻辑:点击播放列表按钮,跳出播放列表卡片 - 优先级:功能的开发优先级:高 全局热键配置 - 功能名称:全局热键配置。 - 功能描述:通过已经配置好 - 用户故事:用户播放过了好几首歌,想要温习之间学习过的歌曲,直接在歌曲列表当中找就行了,或者点击播放按钮旁边的上一首/下一首按钮来控制 - 输入/输出: - 输入:点击播放列表按钮 - 输出:跳出播放列表卡片 - 业务逻辑:点击播放列表按钮,跳出播放列表卡片 - 优先级:功能的开发优先级:高
4. 非功能需求
- 兼容性需求:支持Windows,Mac
- 用户体验需求:界面设计风格类似市面上音乐客户端的音乐滚动条,但对已经标记好的单词/短语 进行耦合高亮处理。具体页面等待设计