送给所有需要学英语的朋友—Words Via Subtitle

数据结构:用队列模拟理发店的排队情况(C#) 题目内容:使用的排队现象,通过仿真手法评估其营业状况。*基本要求:设某理发馆有N把理发椅,可同时为N位顾客进行理发。*当顾客进门时,若有空椅,则可以立即坐下理发,否则需要依次排队等候。*一旦有顾客理完发离去时,排在队头的顾客便可开始理发。*若理发馆每天连续营业T小时,求一天内顾客在理发馆内的平均逗留时间*顾客排队等候的队列平均长度 N和T在运行的时候输入 用C#写的,有注释,很混乱,请高人 阅读详情

从名字就可以看出来,Words Via Subtitle是用来通过字幕学单词的辅助工具。它通过解析美剧或者电影的字幕文件把其中的生词取出,用网络上提供的开放API或者本地词库解释生词。另外,程序还可以提供单词读音(机器发音),可以播放一个单词在剧中出现的语境,可以把所有生词串起来像幻灯片一样连续播放,也就是说显示一个单词及其解释,然后用机器发音读该单词,然后播放该单词在剧中出现的句子,然后切换到下一个生词再重复这一过程。

这个程序去年就写过一个雏形,最近断断续续的重写了。这次主要的改进是将字幕的分析和单词的解释从主程序中抽出来做成插件,也就是说主程序部署到一台机器之后如果想要增加对一种字幕格式的支持就只需要写一个插件拷到部署的机器上去就ok了,无需把整个程序重新编译、重新部署。同样,如果想要增加一种单词解释器也可以通过添加一个插件完成,比如说现在只有一个很小的本地词库和一个网络释义,之后有人想给这个程序增加一个Google词典的解释器就可以写一个插件来完成。这次重写用了WPF、MEF,以及Ribbon Controls等最近接触的新东西,不过在这儿暂时不介绍程序是怎么写,也不说字幕解析插件和解释提供器插件如何编写,先简单介绍一下各功能的使用吧。对代码感兴趣的朋友可以去CodePlex上去搜索WVS(Words Via Subtitle的简写),我把这个程序作为一个开源项目上传到那儿了,用的MS-PL协议,完全开源哈。

下面就开始说一下大概怎么用这个程序吧。

运行程序,用左上角的Open按钮(2010-10-24_15-15-25)打开一个字幕文件(现在可以支持srt和ass格式的,当然以后可以通过插件来添加对更多种类的字幕的支持)。

2010-10-24_15-12-10

上图中右下角可选的文件格式会随着插件的增多而增多。

加载字幕文件之后程序会把字幕中出现的生词列到一个列表中(如何判断一个单词是不是生词呢?程序需要通过一个已知单词列表来比对,这个列表需要使用者自己慢慢的“养”。第一次运行程序会把字幕中出现的所有单词,无论难易、常见还是生僻统统的列出来,这时需要使用者自己把认识的单词标记一下,这样这个单词在下次打开别的字幕文件时就不会再蹦出来烦您了),程序看起来是这样的:

2010-10-24_15-01-29

在左侧的列表里切换单词,右侧区域的解释就会跟着切换。右侧区域的解释可以在多个解释提供器间切换(可切换的解释提供器的数量取决于插件的数量),现在有两个选择:Dict.cn的解释和一个很小的本地词库,上图中用的是Dict.cn,切换到本地词库是这样的:

2010-10-24_15-05-11

标有Choose Language的Ribbon Group(2010-10-24_15-08-55)中的按钮用于切换翻译提供器,其数量会随着插件的增多而增多。

顺着Ribbon菜单向右走,标为Operations的Ribbon Group里有两个按钮(2010-10-24_15-21-50),Known用于把一个单词标记为已知的,这样该单词就会被记录到已知单词列表中,像前文中说的那样,被“养”起来了。Misspelled用于把字幕中拼错的单词从列表中踢出去,这样在使用Slide Show功能(这个稍后介绍)的时候就不会受到错误单词的干扰了。

菜单中再向右是标为Video的Ribbon Group(2010-10-24_15-24-16),第一个按钮用于选择和当前字幕对应的视频,第二个用于播放当前在列表中选中的单词在剧中出现的语境。播放时界面看起来是这样的:

2010-10-24_15-27-43

能够支持的视频格式取决于部署机器上装过的解码器,应该是Windows Media Player能播放什么这儿就能播放什么。播放完之后自动切换回单词解释界面。

继续向右走,是用于发音的两个按钮(2010-10-24_15-31-56),很明显左侧的用于读出当前单词,右侧的列表用于选择发音风格(其中选项的多少取决于部署机安装过语音引擎,Win7默认会有两个,其他系统没试过)。

最右侧的就是这次重写后我自己最喜欢的功能了,Slide Show(2010-10-24_15-36-42)。它用于把列表中所有的生词串联成幻灯片一样播放。点击该按钮之后,程序会切换到全屏,显示一个单词及其解释,读出该单词的读音,播放该单词对应的语境,然后切换到下一个生词再重复上述过程。这一步就不截图了,我把一些播放Slides Show的过程录下来放到了VeryCD上了(http://www.verycd.com/topics/2859418/)。

程序现有的功能就是这些了,如果您有好主意、建议请留言哈。

对程序代码有兴趣的朋友可以去CodePlex看看:http://wvs.codeplex.com/,如果您发现代码中有什么不妥的地方还请不吝赐教哈。

想要用这个程序的朋友可以去这几个地址看看:

1http://blog.youkuaiyun.com/cuipengfei1/archive/2009/09/03/4516588.aspx

2http://blog.youkuaiyun.com/cuipengfei1/archive/2009/09/10/4539180.aspx

3http://blog.youkuaiyun.com/cuipengfei1/archive/2009/09/17/4564389.aspx

上面的三个链接地址是我去年写的那个雏形,功能大致和本文介绍的新版一致,但是只需要.NET 2.0就可以运行,新版的是一个发烧友式的开源项目,target framework是.NET 4的。

程序使用介绍就到这里,字幕解析插件和翻译提供器插件的编写下次再写。

祝您背单词顺利!

字幕提取工具设计:Words Via Subtitle 在本章中,我们将深入了解字幕提取工具的基础知识及其在多媒体内容处理中的重要性。字幕提取工具是帮助我们从视频文件中分离字幕数据,并将其转换为文本格式的软件应用。它适用于多语种字幕的提取,便于后期翻译或编辑工作。字幕提取工具是一种程序或应用程序,它能够从视频文件中提取出字幕信息,转换为可以编辑或翻译的文本格式。这对于那些需要进行视频本地化或为听障人士提供字幕服务的工作人员来说,是一项非常实用的技术。文本分析,也称为文本挖掘,是指从大量文本数据中抽取有价值信息的过程。 阅读详情

相关推荐

Words Via Subtitle改进:视频播放例句、加快生成WPS文档的速度

Words Via Subtitle改进:视频播放例句、加快生成WPS文档的速度

Words Via Subtitle的两点改进

 上周写了一个通过英文剧集、电影学单词的小工具,这几天又做了一点小的改进。主要是下面这两点: 1.显示单词解释的同时显示其在剧中出现的语境,关键单词红色显示。效果如下:   2.导出文档。可以把列表中的单词,其简明解释和在剧中出现的语境保存到文档中。关键词开头绿色显示,例句中红色显示。效果如下:

My diary 3234

Words Via Subtitle

上周写了一个通过英文剧集、电影学单词的小工具 ,这几天又做了一点小的改进。 1. 显示单词解释的同时显示其在剧中出现的语境,关键单词红色显示。 2. 导出文档。可以把列表中的单词,其简明解释和在剧中出现的语境保存到文档中。关键词开头绿色显示,例句中红色显示。效果如下:

西南石油大学--学分绩点计算器(用C#编写,需要有.NET 2.0)

注意:需要有.net Framework 2.0才可以运行.net Framework 2.0下载地址(如果你的电脑没有请在这儿下载):http://www.gougou.com/search?search=.net%20Framework%202.0&id=0 学分绩点计算器下载地址:http://download.csdn.net/source/973619(要有优快云账号才可以

My diary 1万+

原来没上传成功的words via subtitle

原来没上传成功的words via subtitle

AI重塑运营商CRM:从传统办理到智能推荐的实战经验

本文探讨了AI技术如何重塑运营商CRM系统,从传统办理模式升级为智能推荐平台。文章首先分析了传统CRM系统在产品推荐效率、客户信息录入、业务流程和个性化服务等方面的痛点,提出AI赋能的解决方案。技术架构采用分层设计,包含智能推荐引擎、知识图谱系统和大模型集成三大核心模块。实战案例详细介绍了基于深度学习的智能推荐系统实现,包括用户行为特征提取、产品特征建模、推荐模型训练和实时推荐服务等关键组件代码实现,展示了AI如何提升运营商CRM系统的智能化水平和服务效率。

技术传感器的博客 1049

为什么必须是final的呢?

一个谜团 如果你用过类似guava这种“伪函数式编程”风格的library的话,那下面这种风格的代码对你来说应该不陌生: 1 2 3 4 5 6 7 8 9 public void tryUsingGuava() { final int expectedLength = 4; Iterables.filter(Lists.newArray

My diary 1万+

Vanna 2.0:基于LLM的智能文本到SQL框架,实现企业级数据查询与权限控制

文本到SQL技术是自然语言处理与数据库交互的重要桥梁,它允许用户使用日常语言直接查询数据库,无需编写复杂的SQL语句。其核心原理是利用大语言模型理解用户意图,并结合检索增强生成技术,将自然语言问题转换为准确的结构化查询语言。这项技术的价值在于大幅降低了数据访问门槛,提升了业务人员的数据自助分析能力,并能在金融分析、销售报表、运营监控等场景中实现实时数据洞察。Vanna 2.0作为一个开源框架,通过引入用户感知的智能体架构和行级安全策略,解决了企业级应用中的多租户数据隔离与权限控制等关键问题,使得自然语言数据

weixin_42629522的博客 546

SWPU学分绩点计算器女生版

所谓女生版就是指的GUI稍微美化了一点点,我承认是标题党....注意:需要有.net Framework 2.0才可以运行.net Framework 2.0下载地址(如果你的电脑没有请在这儿下载):http://www.gougou.com/search?search=.net%20Framework%202.0&id=0 学分绩点计算器下载地址:http://downloa

My diary 1万+

Cursor概述及环境配置

Cursor 是一款基于 AI 的代码编辑器,支持 VS Code 配置迁移和 Java 开发环境配置。主要功能分为 Cursor Settings(AI 相关设置)和 Editor Settings(基础编辑器设置)。用户可通过一键导入或手动方式迁移 VS Code 配置,配置包括主题、扩展和快捷键等。对于 Java 开发,需配置 JDK 和 Maven 路径,并安装 Java 扩展插件以获得完整开发体验,如代码补全、调试和 Maven 项目管理。此外,Cursor 支持汉化配置,用户可安装中文语言包切换

Knight 3556

VN1630A硬件配置指南:手把手教你用CanApe搭建XCP标定工程(附ELF文件配置技巧)

本文详细介绍了如何使用VN1630A硬件和CanApe软件搭建XCP标定工程,包括硬件配置、CanApe工程创建、ELF文件处理及XCP协议层配置等关键步骤。特别针对实际项目中常见的错误和细节问题提供解决方案,帮助工程师高效完成ECU参数标定工作。

git9versioner的博客 1158

通过英文剧集、电影学单词的小工具

 我平时很喜欢看美剧和电影。而如果看中文字幕(看英文字幕也是一样)的话,注意力就会集中于阅读文字、理解剧情,练习听力的目的就落空了。而如果不看字幕的话,对话中的很多生词就会随着对句子的大致理解而溜过去了,所以最好的办法就是看之前把对白中会出现的单词预览一次以为预习,看的过程中再熟悉一次,看完之后还可以针对用得到的单词再记一次。为了实现这个目的,我写了一个小程序。使用方式

My diary 9804

Ollama内网离线部署大模型实战:从模型文件到私有化服务

本文详细介绍了如何在内网离线环境下,利用Ollama部署私有化大模型服务。内容涵盖从获取GGUF格式模型文件、手动安装Ollama、编写核心Modelfile配置文件,到创建运行模型、性能调优及安全加固的全流程实战指南,旨在帮助企业安全、可控地构建内部AI能力。

weixin_29209805的博客 215

WPF中ItemContainerStyle不适用的一种情况

ListBox和TabControl都是间接继承自ItemsControl而直接继承自Selector的,那是不是所有Selector的子类都会有类似的行为呢?

My diary 9566

Qwen 三代进化全景对比:从 Qwen2.5 到 Qwen3 再到 Qwen3.5

本文对比了阿里巴巴通义千问三代大模型(Qwen2.5、Qwen3、Qwen3.5)的技术演进。18个月内,模型在架构、训练数据和能力上实现显著突破:从纯稠密结构(Qwen2.5)发展为混合注意力架构(Qwen3.5),支持语言从29种扩展至201种,并实现原生多模态融合。关键进展包括引入MoE架构、Gated DeltaNet混合注意力机制(计算效率提升10倍)、以及从独立模态到早期视觉语言联合训练的转变。模型阵容从7个通用尺寸发展为8+个混合架构,最大参数量达397B,上下文窗口扩展至256K(托管版1M

m0_47999117的博客 1万+

【OpenClaw从入门到精通】第02篇:5分钟速通!阿里云/华为云一键部署OpenClaw(附避坑指南·2026实测版)

本文聚焦OpenClaw的云端部署场景,针对本地部署“关机即离线、跨设备访问难”的痛点,详解阿里云(主推)和华为云(备选)的一键部署流程。2026实测验证:阿里云轻量应用服务器通过官方OpenClaw镜像可5分钟完成部署,华为云Flexus L实例需补充SSH配置步骤;文中拆解云端部署核心概念(地域选择、端口放行、成本构成),通过“AI助理定时抓取行业资讯并推送钉钉”的虚拟案例演示云端7×24小时运行价值,同时提供模型调用、服务器成本的精细化控制方案,梳理端口访问失败、API-Key权限异常等高频坑点的解决

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 5548

数据结构:二叉树的建立和遍历(C#实现)

遍历只做了先序,递归实现的,中序和后序都类似.代码比较简单,就不写注释,直接贴出来了 代码:TreeNode:结点类 using System;using System.Collections.Generic;using System.Text;namespace 二叉树的建立和遍历{    class TreeNode    {    

My diary 7649

基于多智能体的自动化公司调研系统

在当今竞争激烈的商业世界中,了解公司的详细信息对于投资者、合作伙伴和研究机构等具有重要意义。传统的公司调研方式往往需要耗费大量的人力、物力和时间,且容易出现信息不全面、不准确等问题。基于多智能体的自动化公司调研系统的目的是利用多智能体技术,实现公司调研的自动化和智能化,提高调研的效率和准确性。本系统的范围涵盖了公司基本信息收集、市场竞争力分析、财务状况评估等多个方面。本文将按照以下结构进行组织:首先介绍系统的核心概念和相关联系,包括多智能体系统的原理和架构;

架构师的AI之路,分享AI应用开发架构的学习与实践。 966

去掉Scala的糖衣(4) -- Type Aliase

我的新博客地址:http://cuipengfei.me/blog/2013/12/23/desugar-scala-4/   Scala中有一个type关键字,用来给类型或者是操作起别名,用起来很是方便。 比如这样: 1 type People = List[Person] 这样就是给List[Person](方括号

My diary 7591

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

使用AvalonDock制作WPF多标签浏览器(一)

 AvalonDock是CodePlex上的一个开源项目,利用它可以很容易的做出类似于VS的UI效果。下图是AvalonDock源码中自带的一个Demo:我们可以用这款第三方控件为基础来制作多标签浏览器。 下面是最终效果图: 甚至可以把其中一个标签拖出主窗体成为一个独立的窗口:是不是很像VS2010中新的TextEditor啊,呵呵。但是观察一下常用的浏览器

My diary 7488

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

用豆瓣读书Chrome插件,简单购买电子书

原文地址:http://cuipengfei.me/blog/2013/04/01/doubanebookprice/ 为什么要做这款插件? 在豆瓣上查看一本书的时候,页面的右侧会显示哪些网站可以购买该书以及各自的价格。 比如这本《乡关何处》,页面右侧显示了亚马逊,京东,当当等网站的购买链接。 但是豆瓣只会提供纸质书的购买链接,不提供电子书的。除非该书豆瓣自己有售。

My diary 7338

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Spark RDD的fold和aggregate为什么是两个API?为什么不是一个foldLeft?

欢迎关注我的新博客地址:http://cuipengfei.me/blog/2014/10/31/spark-fold-aggregate-why-not-foldleft/ 大家都知道Scala标准库的List有一个用来做聚合操作的foldLeft方法。 比如我定义一个公司类: 1 case class Company(name:String,

My diary 7071

Desugar Scala(15) -- unapply和unapplySeq方法

欢迎关注我的新博客地址:http://cuipengfei.me/   实在想不到什么动词可以当做脱衣服来讲了,所以从现在开始这系列博文就叫做Desugar Scala了。除非哪天才思泉涌,又想到了新词:) 开始正文。 名字叫做unapply和unapplySeq的方法在Scala里也是有特殊含义的。 我们前面说过case class在做pattern match时很

My diary 6773
上一篇: 百度游戏 七彩鱼 自动喂鱼器
下一篇: C#中的语言特性都是从何而来?
崔鹏飞
博客等级 码龄19年 441粉丝 128原创
评论 23
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值