页面载入中...

如何禁用Windows的crashdump?

crashdump这个词略显专业了点……so,舍得决定换个描述方式:如何禁止Windows的应用程序崩溃时在你硬盘上生成庞大的dmp文件?

这还真是一个真实存在的问题,曾困扰了舍得不短的时间,问题刚刚解决。

舍得这里讲的Windows,特指Windows 8。本文讲到的方法,Win7和Win10或许也能适用,但未测试。但Win xp基本上就不包括在内了。话说装xp的童鞋,你早该换Win8了。

先来介绍一下问题的背景。

在Win 8系统中,当应用程序崩溃掉之后,会在你的硬盘内生成一个扩展名为dmp的文件,这个文件动辄数百MB,大一点的也有上G的。更要命的是,这些文件不会被自动清理,你只能通过手工或磁盘清理之类的方式把它删掉。

电脑上已安装Everthing的童鞋,可以用”*.dmp”(不含双引号啊!)搜索一下,看看你的系统中是不是有这些垃圾文件。

简单科普一下这个dmp文件是怎么回事。它是程序崩溃后,把崩溃那一刻的内存Dump(储存)下来,供专业人员检查或调试。你会调试么?舍得是不会滴,所以,这些文件对舍得来说,屁用没有。

既然没用,还让它呆在硬盘里,白白占用空间作甚?舍得的硬盘总共才256G,装了OS和Win8两个系统,还有一大堆软件,空间实在紧张得要死。所以舍得要说,这个问题真真困扰了好久。

之所以是“好久”,最大的原因是没有下决心去解决它。

其次嘛,嘿嘿,舍得不得不说,现在网络上垃圾信息实在太多了。找一个解决方案,你用不对关键词,找到正确答案跟买彩票中大奖的概率有得一比。

比如说,为了解决这个问题,换了一连串的关键词,搜索出来一大堆没用的东西:

  • 有人说,应该打开高级系统设置,在启动和故障恢复中把“写入调试信息”改为“无”——亲,这个是针对系统崩溃的,跟应用程序崩溃,一毛钱的关系都没有;
  • 有人说,在控制面板中进入操作中心,找到问题报告设置,选择“从不检查解决方案”,依旧没用;
  • 有人说,打开组策略,在管理模板->Windows错误报告下,启用“禁用Windows错误报告”,还是没用;
  • ……

舍得凭什么说这些没用?因为,以上的招数舍得都一一试过啦!在这方面,舍得拥有得天独厚的优势:Razer鼠标自带的雷云,每回一运行,它的RzStats程序必然报错,必然会生成一个接近300MB的dmp文件,在这里,顺带鄙视一下Razer公司,什么玩意?一个鼠标配套应用程序都搞不定!

经过层层测试,多番寻觅,最终舍得找到了接近完美的解决方案:

  • 按Win+R组合键,输入”regedit“,再按回车,打开注册表编辑器;
  • 逐层进入这里:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps
  • 将DumpCount设置为0,意思是,一个dmp文件都不让你生成;
  • 将DumpType设置为0,这个其实不设置也没问题(未进行深入测试),顺手设一下吧!
  • 重启操作系统;

SNAG-0132

把以上工作做完后,舍得先打开Everything以便监测dmp文件的生成情况,再运行Razer的雷云程序……擦,怎么还有dmp文件生成?

SNAG-0133

吓舍得一跳。定睛一看,嘿嘿,这文件只有377KB,而且,以往它要往CrashDumps文件夹下钻的,现在,它只能乖乖地呆在自己的文件夹下。

几百K的文件,舍得还是能承受滴。

至此,问题基本搞定。

本文版权归舍得学苑所有,欢迎转载,转载请注明作者和出处。谢谢!
作者:舍得
首发:舍得新浪博客

标签:

Python:起步

Hi,我是舍得。

六年前,我为了给SuperMemo设计一个辅助工具,无意中撞进Python这个圈子,从此,一发不可收拾。

当时,我的编程知识几乎可算是零基础。真要认真滴追根溯源的话,嗯嗯,我在2000年左右开始接触asp,做过几个网站,然后慢慢学了点PHP,直到2009年,建了一个叫“舍得学苑”的网站。然而,毫不客气的讲,这些对于我后来学习编程,帮助真的不大。

都说学编程最好有不错的英语基础。这倒不假。你若能有一定的英语阅读能力,在Python的学习中,可以直接去查看各种英文文档。

不要被”英语基础“这四个字吓倒。舍得的英语基础并不好,当年在读技校的时候是没有英语这门课的。so,我的“原始”英语基础仅仅是初中水平。能读英文文档,完全是后来慢慢一步步积累起来的。我能做到的,你自然也能。

为什么选Python?

这个嘛,我还真没办法告诉你一个完全正确的答案。

我只能很唯心滴讲几点自己的看法:

  • 简单,学习成本低:连我这零基础的都学得会,六年间,开发了转换精灵、课程助手、课程编辑器等软件,自然是因为Python的学习成本够低;
  • 开发速度够快:写几行代码,随时可以运行一下看到效果;
  • 大量的库可用:你不必自己去造轮子。自带的标准库不必再说了,读写excel有xlrd/xlwt,数据分析有pandas,数据库工具可选用sqlalchemy,打包可以用cx_freeze……

    至于图形界面的开发,可以使用PyQt,同样非常的方便。

    如何开始?

    俗话说,万事开头难。这个一点不假。

    难在哪里?

    难在刚开始的时候容易碰到各种卡到你的问题,这确实是一件让人扫兴的事情。所以,若能让学习之路变得更好走一些,让学习的曲线更平坦一些,无疑会帮助我们更快地度过学习的起步阶段。

    那么,从哪开始呢?

  • 给自己的电脑上装上python,舍得根据目前的Python的现状,推荐安装Python3.4.x。3.3及以前的版本,有些常用的库慢慢地不再支持,而3.5及以后的版本呢,也有一部分的库还来不及支持它,所以当下最适合的版本是3.4.x。舍得会在文末放出相应的下载地址,当然,你也可以去官方下载;
  • 阅读《Head First Python》。刚学Python时不要去读太多书!最好的学习方式是边读书,边敲代码来验证、来获得最直观的体验,代码执行的结果会让你明白,哦,原来书中讲的是就是这个!我们不需要知道为什么写这个代码可以获得这样的结果,我们只要记住,这个代码可以让你实现这种效果,下次这么去用就行了。《Head First Python》是Python入门类书籍中的佼佼者,舍得竭诚推荐优先食用;
  • 使用一些工具,来加快学习过程,提升学习效率。这个呆会舍得再细讲;

    之后怎么学习?

    严格地讲,这个话题应该留到以后。不过舍得觉得,先预告一下也无妨:

    • 进一步完善开发环境:安装PyQt4、Eric6,还有一些常用的库;
    • 从PyQt4的官方范例入手学习:这是最快的学习方式之一。官方范例大多短小精悍,你可以像舍得一样,走”修改流“路线,把它们修修改改,跟捏橡皮泥一样,最后捏出的东西跟你自己的作品一样。这个跟刚开始学自行车一样,一开始有人帮忙扶着、看着,骑得熟了,慢慢不用扶,不用看了,你就学会骑车了;

    如何用工具来提升学习速度?

    前面舍得讲到,我们要在看书的同时,做相应的练习。这个练习,可以用Python自带的Shell来完成。但老话说的好,工欲善其事,必先利其器。用自带的Shell来做练习,太过原始了。现在,我们可以有更好的办法。

    方法一:安装ipython。这是一个python的交互式的shell,比自带的强太多了。下面舍得直接讲安装办法(注意,以下所用到的安装包均会在文末提供下载,操作系统为windows-win7或win8,示例用的Python默认安装路径为”C:\Python34”):

    1. 先将舍得提供的ipython-5.1.0-py2.py3-none-any.whl文件解压到Python34\Scripts文件夹下;

    2. 打开命令提示符窗口,转到python下的Scripts文件夹下:

      • 按Win+X组合键,从弹出的快捷菜单中选择“命令提示符(管理员)”;
      • *如果你的系统盘和Python安装位置并不在同一分区,比如你将python装在“D:\Python34”下,而系统盘是C,那么需要输入“D:”再敲回车;
      • 输入“cd\Python34\Scripts”,然后敲回车, 就会进入Scripts文件夹下;

    3. 输入“pip install ipython-5.1.0-py2.py3-none-any.whl”,再敲回车;

    4. 如果没有出现错误提示的话,你可以Scripts文件夹下找到“ipython3.exe”这个文件,用鼠标右键点击它,然后从弹出的菜单中选择“发送到->桌面快捷方式”,以后只要运行它,就可以在这个ipython的窗口下敲敲代码来学习了!

    SNAG-0127

    方法二:安装notebook。这是一种更高级、用起来更爽的方式,舍得以后发的部分文章,会发布相应的notebook文档。这个需要安装多个包,下面一一讲解:

    1. 将下面用到的whl文件解压到Python34\Scripts文件夹下;

    2. 打开命令提示符窗口,转到python下的Scripts文件夹下,具体方法详见方法一;

    3. 输入“pip install pyzmq-16.0.2-cp34-cp34m-win32.whl”,再敲回车;

    4. 输入“pip install Jinja2-2.8-py2.py3-none-any.whl”,再敲回车;

    5. 输入“pip install tornado-4.4.2-cp34-cp34m-win32.whl”,再敲回车;

    6. 输入“pip install notebook-4.2.3-py2.py3-none-any.whl”,再敲回车。理论上3-5步可以不做,直接做第6步也行,但那样靠它自已去获取相应的依赖包(就是3-5中的这仨),下载速度可能会比较慢,有时甚至会安装中断,推荐这样逐个安装;

    7. 以上工作完成后,你可以Scripts文件夹下找到“jupyter-notebook.exe”这个文件,用鼠标右键点击它,然后从弹出的菜单中选择“发送到->桌面快捷方式”,当然你可以双击它直接运行;

    8. 双击运行jupyter-notebook.exe,程序会在你的浏览器(推荐在系统内安装chrome,如果你还在用IE系列的浏览器,辣么,是时候告别它了)中打开Jupyter的页面。这是jupyter-notebook利用tornado这个web框架搭的一个本地服务器——如果你对这些名词不熟悉,先别管它,你只要知道,执行这个程序,你就可以在浏览器中敲代码来学习。

    9. 在Jupyter的页面右侧找到并点击”New“按钮,从下拉菜单中选择”Python3”:

    SNAG-0129

    10. 我们可以在接着打开的页面中输入代码,输入到前面带“In”字样的文本框内即可,然后点击SNAG-0131按钮,就可以看到代码执行后的效果。

    SNAG-0130

    11. 每天用Jupyter notebook一一敲完当天所学、所用过的代码后,你可以点击左上角的”File”按钮,然后从菜单中选择“Download as->Notebook”,可以把当天的学习成果存成”ipynb”格式的文档,供以后回顾、复习使用。这个,就是ipython所不能提供的功能,更不用说python自带的shell了。

    还有什么高效的工具?

    要想快速度过起步时的困难阶段,缩短“新手期”,降低学习成本,将新学到的知识点牢牢记住是最佳的选择。

    而记住这些知识点,靠什么?一是反复地练习,二是有目的、有针对性地去复习。

    舍得建议大家使用SuperMemo UX来帮助自己复习每天新学到的知识点。这个软件的使用并不难,具体的使用方法,舍得会撰写专文讲解。在后续的话题展开过程中,舍得也会制作一些相应的SuperMemo课程,来帮助大家提高学习效果。

     

    好了,Python的起步部分就先介绍到这里。顺便提供本文中讲到的一些工具的下载:

    一、Python 3.4.4.msi

    链接:http://pan.baidu.com/s/1kVDbPyf 密码:oqba

    二、《Head First Python》中文版,pdf格式,相应的阅读器请自行下载,推荐使用百度阅读器。

    链接:http://pan.baidu.com/s/1c1O5g7A

    三、Python推荐安装包:

    链接:http://pan.baidu.com/s/1dFHrKK5 密码:so4k

     

    本文版权归舍得学苑所有,欢迎转载,转载请注明作者和出处。谢谢!
    作者:舍得
    首发:舍得新浪博客

  • 开发代号:MTD

    舍得之所以搞了一个叫做"开发代号"酱紫看似颇高的词汇,着实是因为一时半刻,还没有给这款软件想好名字,说不得到时还要在学苑内搞一次征名活动,好充分利用一下广大童鞋的智慧。

    自然,这个MTD也不是瞎编出来,它是有出处滴。MTD的叫法源自GTD。估计还有一小部分童鞋不知道GTD是啥,且容舍得来小小科普一下。

    GTD的全称叫Getting Things Done。它一开始是David Allen在2002出版的一本畅销书的书名,中文版书名译为《尽管去做:无压工作的艺术》,但舍得觉得台湾地区的版本译名略吊,它叫《搞定!2分钟轻松管理工作和生活》。

    David Allen提出,必须记录下来要做的事,然后整理安排并使自己一一去执行。广大吃瓜群众一看,这个好啊!行动力较强的一拨人纷纷开始实践,因此催生出一批GTD的软件,舍得觉得这些软件中比较成熟的有wunderlist(奇妙清单)、TickTick(滴答清单)、any.do、Omnifocus、Doit.im和Remember the milk等。

    进入正题之前,先简要对这部分软件作一下点评:

    • wunderlist:德国人开发,现已被微软收购。wunderlist在各种你能想到的主流平台上都发布了针对性的版本,逻辑清晰,颜值颇高,而且各个平台间同步飞快。推荐食用;
    • TickTick:美国人开发,它和wunderlist相比最大一弱势是没有放出Windows平台的客户端,有的只是一款安卓浏览器的插件。它和wunderlist相比,优势之处在于多了一个使用语音输入的功能;
    • any.do:同样是美国人开发的软件,Windows上和TickTick一样,只有Chrome的扩展可用。
    • Omnifocus据称是GTD的神器,刚出的时候舍得在iphone和mac上用过一段时间。最大的问题是,你没法在Windows和安卓上使用它;
    • Doit.im: 收费,每月10块。按说现在一碗面都10-15块了,这个价格并不算贵。但问题是,它所拥有的软件特性,wunderlist丝毫不比它差,那为啥还要找付费的?不推荐食用;
    • Remember the milk:最大的问题是,它的所有操作是必须靠网络来完成,没网络你啥都干不成。对于GTD类软件来说,这也算是自绝于天下的一大狠招了。不推荐食用;
    • ThinkingRock:曾被称为“最好的GTD软件”。的确,从概念上看,它可能算是照搬GTD书上做法最彻底的一个。但是,软件是拿来用的,这个软件在易用性上已经做到快落后一个时代了。使用上尚且做不到方便快捷,舍得有何理由来推荐呢?有人说,它现在变得非常非常漂亮,我勒个去!毫不客气地说,它的颜值,离舍得开发的软件相比,还特么差一个档次呢!

    MTD的英文全称参考了GTD,叫做Making Things Done。真要细究的话,可参考supervise(监督、管理、指导)一词的英文释义:make sure that everything is done。get和make这两个词,从英文上讲,make更显主动一些。你要get(得到)一样东西,总得有人给吧?这就意味着主动权不在自己手中。有人说,get还有“抓住”之意,但是,你要“抓住”一样东西,这样东西得先存在吧?make就不一样了,没有机会,我们可以创造机会啊!老话说的好,有困难要上,没有困难,我们制造困难也要上啊……君不见,连love这种人人喜欢的东西,用的动词都是make么?你若见到有人用get love,会不会小小地惊讶一下?

    既然GTD软件这么丰富了,舍得为啥还要开发一个MTD?这得从GTD类软件自身的缺陷说起。

    • 这类软件通常是三层左右的结构,清单(或者叫项目)->任务->子任务。这种分法没有问题,然而,绝大多数软件不支持这三者之间的自由转换。举个栗子,你建了一个任务,之后发现若把它放到另一个任务下,作为该任务的子任务……抱歉,你做不到;
    • 到子任务一级,你所能做的操作极少,只能做:改变任务的名称、标记任务为已完成和删除任务;
    • 对重复性的任务支持非常薄弱。莫非在GTD看来,事情大多是那些临时从哪冒出来,而且做完就拉倒,不需要隔一段时日重复执行的么?非也。无论是工作和生活,那些内容一样或相似的重复性事务,占据了相当大的比重。比如日常健身,学生的功课学习等;
    • GTD只能帮你记录你做了、做过哪些事务,至于你在这些事务上花了多少时间,做了多少量,完成的效率如何,它根本没有涉及。或许是因为GTD的开发者们太过推崇David Allen的原始理念,以至于丝毫不敢有自己的想法去拓展了。

    很久以前舍得就有一款类似MTD的软件的构思,当时的想法有点接近蕃茄钟的做法。为了不使下面的描述太过枯燥,舍得将情境设定为健身。我们可以提前就健身项目做出一些计划——大家都知道,这些事务大多重复性很强。在开始某项健身训练的时候,让程序开始计时,而当训练完成的时候,再将计时终止。中间我们还可以随意地暂停……这样训练结束时,我们就得到了相对精确的训练时间。当这个数据积累到一定程度的时候,我们便可以让程序帮助分析。随着记录的逐渐增加,那种随时可以查看的训练量不仅会带给你小小的成就感,还会让你欲罢不能——哇,这么多的训练我都坚持下来了,放弃掉实在太可惜了!

    健身,只不过舍得设定的情境之一而已。还有学习,不论是已出校园的还是没出校园的,有MTD这类软件的帮助,效率会更高,动力更足。小日本便开发了这样一款软件,它叫StudyPlus。舍得来介绍一下这款软件,因为,它基本上可以算是舍得用来设计MTD的一个重要的参照范本。

    在StudyPlus中,项目不再叫项目,而叫做“书架”,而GTD中的任务,则变成了一本本教材:

    教材

    你可以把学习时要用到的教材一一记录进去。每本教材可以进行设定(下图中的“勉强”,日文中的意思就是“学习”),除了贴标签以便查询和统计,还可以设定学习量的单位,比如页或章。

    教材设定

    下面点击教材进入学习状态,对于GTD来说,每一次学习相当于执行一个子任务:

    学习

    类似蕃茄钟的设定。但没有蕃茄钟那种必须事先设定好学多久才肯开始干的尿性。

    中间可以随时暂停,学习结束后点“终了”,来到记录页面:

    记录

    当前这本教材学习用了多少时间,学了多少内容(章节或页,或其他你觉得方便统计的单位),都可以记录在案。如上图所说(图不是舍得抓的,是借的,借的),程序还能记录下你这次学到了第几章,下次直接接着搞就OK。

    接下来是统计功能闪亮登场:

    统计1

    我们还可以按分类(科目)进行统计,比如图中的GMAT不止是一本书:

    统计2

     

    如果觉得这个数据对你没啥触动,来看看某学霸级用户的记录:

    半年统计

     

    这样的数据,对使用者自己来说,本身就是一种强有力的激励。

    都说了这只是一个参照范本,舍得想做的MTD,除了将结合GTD在处理随机、分散性事务上的优势之外,还将在数据分析上进一步深挖,比如,不同时段之间学习效率的对比,特定时段不同教材、科目之间所用时间的占比,这些数据的挖掘和分析,可以帮助我们找出已完成事务的缺失或不足,从而更好地规划下一步的学习和工作。

     

    本文版权归舍得学苑所有,欢迎转载,转载请注明作者和出处。谢谢!
    作者:舍得
    首发:舍得新浪博客

    标签:

    新转换精灵:超级脚本

    2015-12-21_18-36-39

    舍得在之前的开发手记中介绍了脚本和宏的概念,它们给课程制作带来了很大的便利。那么问题来了,这“超级脚本”是什么鬼?
    先简单来温习一下脚本和宏。脚本是用来快速制作一个课程的,换句话说,一个脚本可以把一个课程的各种题型轻松搞定;宏是用来处理源文本的。
    从上面的界面我们可以看到,超级脚本把宏和脚本“捆绑”在了一起。那超级脚本到底是做什么用的呢?为什么要在“脚本”上再加“超级”二字?它和脚本到底有何关联?为什么有了一个“六人行”的脚本,还要再来一个同样叫“六人行”的超级脚本?
    其实很简单,脚本是用来制作一个课程的,而超级脚本是用来制作多个课程的。当然它有个前提,这些课程的配置是一样的。有了这项超级脚本功能,只要我们把基础工作做好——比如设计好相应的宏和脚本,处理好源文本等等——我们就能一键完成多个课程的制作。

     

    本文版权归舍得学苑所有,欢迎转载,转载请注明作者和出处。谢谢!
    作者:舍得
    首发:舍得新浪博客

    标签:

    阅读器推荐:百度阅读器

    这绝对不是一个完美的阅读器,它还缺少一些美妙的功能。不过,这还足于让我放弃把它推荐给大家。

    它是一个可以同时阅读PDF、Epub和Txt的阅读器——这三种格式基本囊括了我们常见的电子书格式,其它的如DOC之类,我们可以用工具转换(比如word),还有一个叫djvu的电子书格式,这个相对比较冷门,而且,基本上有djvu格式的电子书,大多也会有PDF格式的。至于手机版的电子书,则不在本文的讨论之列。事实上手机上最理想的格式是txt,其它基本上没什么可谈的。

    可以阅读PDF的软件很多,比较著名的有Adobe的Acrobat Reader和Foxit的阅读器;Epub的阅读器就少一些,记得早期出过一款用Abobe Air环境运行的,挺糟糕的一次体验。Txt文档理论上绝大多数记事本类软件都能打开,如word,emeditor之类,但这些软件称不上阅读器。

    仅就PDF格式来说,百度阅读器并不是最佳的选择,但可称得上中规中矩。对比它的两大竞争对手——Abode和Foxit,百度阅读器在好多功能不尽如人意,比如页面定位、页面视图(没有单页和连续之类的设置),更谈不上什么做笔记之类的功能,连快捷键也没法设置。好在舍得刚才提到的这些功能,少一点或弱一点也能忍受。Adobe的Acrobat Reader是一款非常不错的阅读器,但它最要命的地方是无法记住你上次阅读的位置,你或许可以通过一些第三方软件来给它加上这个功能,但操作起也颇为麻烦。

    更重要的是,舍得想要一款可以同时阅读PDF、Epub、Txt格式的工具,这样可选范围就小得多了。舍得确实试用过具备这些功能的一些软件,但大多都不甚理想。印象中比较深的是一款叫calibre的开源软件,可惜比较臃肿,响应速度略慢。

    舍得要的不仅仅是一款用来阅读的软件,它还应具备一个书架功能,就是把我散落在硬盘各个角落的电子书,分门别类地整理好,这样,在我要看某类书时,只要点开特定的类别,就能开启我的阅读之旅。百度阅读器就能做到这一点。

    2015-12-07_20-27-09

    如上图,我们可以点击“本地书柜”右侧的“+”号按钮,新建一个分类,你可以建N多个分类来管理自己的电子书。

    每一个分类下可以放当前分类的书籍。

    2015-12-07_20-29-33

    或许我们可以在电脑上建多个不同的文件夹,像阅读器的分类一样管理电子书。但相信我,百度阅读器中书柜的分类功能效率更高:你硬盘上文件夹不必分得太细——因为分得越细,找起来越不方便,尽管你可能会使用Everything之类的搜索神器来帮助你提高检索速度,但绝逼没有百度阅读器的书柜那么容易和轻松。

    百度阅读器还自带一个搜索功能,可以快速搜索被收录的电子书:

    2015-12-07_20-35-49

    不过舍得觉得,你若把分类管理好了,这个搜索其实用得还是蛮少的。

    来看看阅读部分的功能:

    舍得最喜欢的快速设置背景的功能:

    2015-12-07_20-39-36

    在电脑上阅读,没有这项功能的阅读器简直就是一个灾难。想像一下长时间盯着白色背景,那是多伤眼的一件事情。虽然护眼色不一定能给你带来多大的保护,但比白底终归是好多了。

    对于文本格式的文档(包括部分PDF文档),你可以打开“获取文本”功能,然后就可以自动复制选中的文本,这确实是一项不错的福利:

    image

    最后,必须讲一下,这个阅读器是无法读txt格式的英文小说的,因为它在断句上还没有做好。

    这款软件,原本是很有发展空间的,遗憾的是由于百度的短视,目前后续的开发基本上不会再有了。

     

    软件下载地址:http://yueduqi.baidu.com/index.html

     

    本文版权归舍得学苑所有,欢迎转载,转载请注明作者和出处。谢谢!
    作者:舍得
    首发:舍得新浪博客

    标签:

    变革:转换精灵


    0.9.4版的转换精灵虽然其功能已经足够强大,但受目前的结构影响,设置起来比较麻烦.
    以前的转换精灵需要先载入源文本,读取栏位,然后建立模型. 所谓的模型就是在Q/A区添加各种题型,题型需要一一设置——这不是关键,关键是几乎每个模型都需要对每一个用到的元素(音频/图片/文本等)和题型(选择/填空/是非等)进行设置, 虽然从理论上我们可以设置出无数多个模型,来适应不同场合的需要,但当模型一多,挑选模型是一个非常费事的活儿. 因为,在目前的机制下,你要选对模型,必须逐个查看设置!时间就酱紫浪费掉了.
    设计完模型就够了?nonono,在以前的转换精灵中,必须还要做一项叫"课程设置"的工作. 这项工作的重点是设置章节标题/练习说明/子类等要素. 当初舍得把转换精灵设计成这样是为了让模型和课程设置有一个灵活的搭配,现在在不断的实践中发现,这项设计着实有些多余.
    so,到了变革的时候.
    变革第一步,将模型和源文本分开,模型的设置不再依赖于源文本,酱紫做的坏处只有一个:制作课程时所用的源文本必须采用符合转换精灵规范的标准栏位名称,比如说,单词所在的栏位就叫"单词",单词释义所在的栏位就叫"释义",等等;
    变革第二步,增加元件库,将元素和题型(原来都叫题型)事先做成一个个的元件,比如选择题下面可以按不同的配置做成各种元件:标准单选题,随机单选题,标记式多选题等等,音频元素同样可以做成各种元件,如:词汇自动美音,词汇手动英音,例句手动语音等等,力求一看到元件名称就知道这个元件是如何配置的. 提前设计好的元件基本上可以照顾到各种不同的变化, 几乎可以一劳永逸;
    变革第三步,将模型设计界面改成如WordMaster那种直观设计的方式, 我们只要把元件逐个拖到Q区或A区就OK了! 这样繁琐的模型设计变成了堆积木游戏,把预先设计好的元件一个个组装起来, 一行文本经过一个模型处理,就变成了课程中的一个页面;
    变革第四步,将模型设置和课程设置进行合并, 实在不适合合并的, 放到脚本或选项中另行处理. 如此一来, 制作课程的过程可以简单到只设计几种模型就OK了.
    上面这些变革, 可以让转换精灵变得更加简单, 更容易操作. 我们在选择模型的时候, 只要浏览模型中的元件是否符合我们的要求就OK. 如果可行的话, 我们甚至可以给每个模型加上使用次数的记录(比如说最受欢迎题型), 加上星级标记, 加上标签——再在这基础上开发一个根据标签来快速查询符合我们要求的模型——连浏览都可以免了。
    这些就够了?答案依然是no.
    变革第五步,完善转换精灵的脚本模块。在脚本中,我们可以把一个文本交给多个模型来处理, 也可以把不同的文本交给不同的模型来处理. 这仅仅是以前转换精灵脚本模块就有的功能, 我们要在这基础上让脚本可以临时给元件赋予属性, 比如说在脚本中指定词汇语音统一用美音还是英音, 例句语音库是用A还是用B, 选择题的样式是用竖排还是横排等; 我们还可以给脚本增加"否决"元素, 可通知模型在制作的时候不要加入带例句的元件, 或不要加入带音标的元件……这些措施, 都是为了提供元件和模型的通用性.
    舍得相信, 只要我们肯动脑筋, 工作总是可以越做越好. 改善, 永无止境!

     

    本文版权归舍得学苑所有,欢迎转载,转载请注明作者和出处。谢谢!
    作者:舍得
    首发:舍得新浪博客

    标签:

    利用影视素材制作课程的两种方法

    英文版的电影和电视剧是我们英语学习的一个重要素材来源。它可以兼顾到我们英语学习的多个方面,比如词汇、听力、语法、理解,再往细里讲还有语感的培养、口语的训练等等。

    遗憾的是,这些素材并没有得到充分的利用。好多学习者只是看过一次两次就算了,稍好一些的学习者会去反复地看,抠其中的生词和句子。

    将这些影视素材制作成SuperMemo的课程,可以弥补这些遗憾。

    制作课程的方法有两种,第一种是将剧中音频切割成以句为单位,然后制作成课程,这种课程的制作门槛并不高。第二种是利用剧中的素材设计出新的学习内容,这需要有一定的教学经验作支撑。

    舍得先简单介绍一下第一种方法。

    音频切割其实不算多复杂的技术活,推荐的工具是Aboboo,这是一款非常优秀的学习辅助工具,舍得制作的《六人行》1至4季全部是在Aboboo上剪辑完成的。

    Aboboo的优点在于可导入字幕文件,对音频进行分割。而且在剪辑过程中,对句子的起始点调整、中英文字幕编辑非常之方便。最重要的是,剪辑完成之后,你可以从Aboboo中导出分割好的音频,以及相对应的中英文字幕。

    拿到经Aboboo处理后的中英文字幕以及句子音频后,我们只要对字幕和音频文件简单处理一下,就可以用转换精灵制作出具有丰富题型的SuperMemo课程。

    课程的题型可以有以下几种:

    • 听写题:听一段句子的录音,然后将听到的内容拼写出来,着重练习英文听力,顺带检测英文的拼写能力。在SuperMemo中做这样的听力训练拥有得天独厚的优势:你可以将绝大部分时间集中在那些你听不出来的句子上,而不用象传统练法那样,把时间耗费在那些你已经完全能听懂的句子上;
    • 排序题:又称直觉造句,将一个句子打乱,让你去把句子重新排列出来。有时即便句子中的所有词汇你都非常熟悉,也未必能将句子正确排列出来。这种练习着重训练你的语感,你所学习的语法知识将在这里利到充分的检验;
    • 中译英:不要仅仅将它看作是一种翻译练习。这实际上是一种变相的口语练习,中文提示部分就是你要英文来表达的内容,你可以在练习时,看到中文,立刻用英文把它说出来,然后,和”原版“的录音对比一下,找找发音上的差距;
    • 英译中:同样不要仅仅把它当作一种翻译练习。去听、去看。听这个句子时,你要思考的是,这个人在说什么?——这正是我们在实际交流中的正常反应。看这个句子的时候,你要想的是,这句话讲的是什么?——这恰恰是阅读过程中的反应,常做这种练习,阅读理解能力能够快速提升;
    • 选择题:从句中抽取词汇,并加入干扰词,做成选择题,着重考量词汇的掌握;
    • 除此之外,可以将剧中的生词全部抽取出来,做成各种题型,以用来强化词汇的掌握。词汇的题型有:单词听写、词义回想(看单词,回想词义)、回想单词(看词义,回想单词)、看图识词、单词选择题、单词匹配题等等;

    经过这样的处理,影视剧素材可以得到充分的利用,我们可以用它来进行近乎全方位的语言训练。

    再来看一下第二种方法。

    举几个例子,比如《Fifty Shades of Grey》这部电影,我们来设计几个简单的练习:

    场景一:Anna代替室友采访Grey:

    2

    最简单的做法是把句中的Whenever挖掉,考察Whenever这个词,更进一步的话,我们可以把Whenever you are整句去掉,考察“随时可以”的表达方式。我们还可以加上语音,把提示的中文去除掉,或者,给出英文,让学习者说出句子的意思。

    思路可以很多,我们在场景二、场景三中可以采用类似的思路:

    场景二:Anna说,你这么年轻就建立了如此庞大的商业帝国,你的成功靠的是什么?下面是Grey的回答:

    4

    答案分别是motivates,incentivizes,inspires,第一个词难度最低,第二个词难度最大,第三个词虽然还算常见,但你在应用时未必能做到顺手拈来。用电影做素材的好处是,电影中的有些句子、词汇用法你在吃透后很快就可以吸收,让它们变成自己语言中的养分。而用SuperMemo完成这项工作,你可凭借SuperMemo优异的复习算法,轻松而高效地掌握这些语言要点。你可以把场景固化到大脑中,在自己碰到类似场景时稍作检索,便可取出来应用。

    再来看场景三:Anna追问,你的成功靠的是运气么?Grey说:

    6

    答案是Identifying talents in individuals.当然,你也可以对“key to my success”挖空进行提问。总之角度有很多种,不同的角度考察不同的内容,只要你善于运用素材,你可以从一部电影中吸取足够多的养分,在足够的练习支撑下,语言技能想不提升都难!

     

    本文版权归舍得学苑所有,欢迎转载,转载请注明作者和出处。谢谢!
    作者:舍得
    首发:舍得新浪博客

    标签:

    看电影、电视剧学英语,怎样更有效?

    看电影、电视剧学英语,这个方法并不新鲜。

    其实,电影也好、电视剧也好,跟VOA、BBC的广播一样,只是学习素材的一种而已!只不过,前者比后者多了故事,趣味性更强一些,也更生活化一些。窃以为对于口语训练来讲,前者更为适合——有些句子稍作改装、甚至可以不必改装就能直接在工作、生活中应用。VOA、BBC则由于题材的关系,更偏向于书面语。

    那对于电影、电视剧这样的素材,怎样学习更有效?这是个非常有趣的话题。

    大体来讲,学习的方法分为两大类型,巧的是,这两大类型和阅读中的“泛读”和“精读”正好对对应起来。

    第一大类型的学习是“大量地看,基本不看重样的”,这跟泛读类似,通过大量的阅读输入来从中自然吸收语言的养分。优点很明显:材料新鲜,学习很有意思。缺点也同样明显:学习不够深入, 而且很容易在“看”的过程中被剧情带跑。就象“泛读”不能取代“精读”一样,只靠这种方式来学习,就象只用一条腿走路一样,相当于自己给自己设置障碍。明明可以走得更快、更稳,何苦将另一条腿绑起来走呢?

    第二大类型恰如阅读中的“精读”,看一部电影、一集电视剧,力求从听、说、读等维度把其中的语言点吃透。这种方式也并非什么新鲜事物,钟道隆教授的“逆向法”,郑赞荣先生的“千万法”,用的不正是这种“精读”的法子么?

    从上面这两类学习方法中,舍得认为还是可以分一分主次的。对于大多数童鞋来说,应是以“精读”为主,“泛读”为辅。以精读来保证学习的深度,以泛读来保证学习的广度(输入量)。

    舍得不想过多讨论第一种方法,主要来讲讲“精读”中还有哪些文章可以做。

    “精读”中有几个要点。我们从听、说、读等几个方面拆开来看:

    • 听:将电影、电视剧(以下称“素材”)的语音部分听清、听懂;
    • 说:模仿语音,操练舌头,尽可能做到形似乃至神似;
    • 读:用“精读”的方式去处理素材的文本部分,举凡生词、难句,争取逐一攻克;

    从实际的操作中舍得发现一种更有效的方式。我们可以将素材分解成以句为单位,借助SuperMemo的算法,可极快地筛选出哪些是早已掌握的,哪些是稍微花些心思能掌握的,哪些是生词和难句。在SuperMemo的帮助下,完全可以避免传统的学习方法的弊端,避免把时间浪费在已掌握的语言点上,而是把时间和精力集中在那些听不清、听不懂、读不熟、记不住、无法解析的内容上,这样的学习无疑是事半功倍的。

    也曾有童鞋说,你这样子学法,把学习搞得单调、乏味。亲,技能的学习大多是单调、乏味的。比起反复看同一集电视剧(或电影),比起钟教授的“逆向法”,郑先生的“千万法”,使用SuperMemo来吃掉素材,反而是更轻松,更有趣味的。想不单调、乏味,那就采用“泛读”的方式去看电视剧——光靠这个进展极慢。不然,天天追美剧的人岂不是个个英语牛X透了?

     

    本文版权归舍得学苑所有,欢迎转载,转载请注明作者和出处。谢谢!
    作者:舍得
    首发:舍得新浪博客

    标签:

    学会区分哪些是“值得学”的知识

    曾经有童鞋提到过这样一种说法,现在这个时代,绝大多数问题的答案直接在网上可以搜索到,何必那么辛苦去记忆呢?
    呃,听上去好像有点道理?
    舍得想起一段往事。92年父亲肚子疼得受不了,母亲带他去乡卫生院看病,医生没见过类似的症状,接下来就出现了蛮恐怖的一个场景:医生当着母亲的面翻书找答案!亲,你这是要吓死病人家属的节奏啊!
    现在虽说是什么信息时代,但倘若你看到医生在百度里搜索“xxx病怎么治”之类的内容时,不知你对该医生的水平有何感想?
    确实,现在很多问题的答案都可以在网上搜索到,但“能搜索到”并不意味着你可以不用去掌握相应的知识了。一来好多问题是需要及时(甚至可以说是“瞬时”)回答的,二来,你从网上找到的答案,还需要时间去鉴别,总不能玩“逮到一个答案就算”那一套吧?
    知道自己该学些什么非常重要。因为,并不是所有的知识都需要掌握。我们在学习知识的时候,要懂得分辨哪些是需要掌握的,哪些是可以留着需要时到网上(或其它渠道)查找的。比如我们公司的售后人员,就得对仪表、燃烧机之类设备的各个参数、故障点及相应的处置方法了如指掌,要尽可能做到脱口而出,不然很难在客户面前树立专业的形象。
    “每天进步一点点”不能是一句空话。只要用心,我们总会不断发现新的有价值的知识点,把它们及时存入SuperMemo,然后每天复习,这样知识就会越积越多,脑子也会越用越活,你的知识体系会越来越完善。

     

    本文版权归舍得学苑所有,欢迎转载,转载请注明作者和出处。谢谢!
    作者:舍得
    首发:舍得新浪博客

    标签:

    如何分辨复习算法的优劣

    有童鞋说,SuperMemo无非是算法比同类软件强上一点点而已。呵呵,岂止是一点点?这是差之毫厘,谬以千里的差距。在这类软件中,除了Anki、mnemosyne这两款直接脱胎于SuperMemo的软件,以及奇迹、新东方等少量几款正在努力追赶SuperMemo脚步的……其它多数软件,表面看上去高明,其实是大量浪费用户的时间。

    好多号称使用了艾宾浩斯记忆曲线的软件,实际上仅仅是满足于把复习间隔简单地套用到每一项学习材料上,这种对所有材料一视同仁的处理方式——不管是掌握的还是没掌握的,都套上个“1天、2天、6天”这样的的复习时间,所浪费掉的时间,谁能视而不见?
    我们来看看,一个好的复习算法,需要具备哪些特征:
    1. 好算法会让用户提供数据,而不是靠软件去主观断定用户对学习材料的掌握程度;比如SuperMemo,它是采用评分的方式来采集用户的数据,只要你不胡乱评分,结果自然会比较客观;
    2. 好算法会根据用户提供的数据来筛选学习材料,将材料分成掌握的、即将掌握的、模棱两可的、陌生的等不同程度。这样做的道理是显而易见的:你对学习材料越熟悉,所需的复习次数就越少。这种筛选机制可以帮助你将精力集中于你未掌握的材料,而不是把时间浪费在已掌握的知识上;
    3. 好算法知道,你答对了并不意味着你已掌握了这个知识点——有可能是运气好蒙对的。在劣质算法的眼里,你蒙对的和靠实际能力答对的一个样,事实上它根本没有能力来区分这两种情况;
    4. 好算法会根据你每次复习时提供的数据(评分)来评估当前所学材料的难度,使得复习的安排更加合理。举个例子,一个总是获得高评分的知识点和一个总是获得低评分的知识点,它对你来说难度无疑是不一样的;

    了解了上面这些特征,我们就有能力去分辨软件复习算法的优劣。那些劣质算法会让你白白浪费宝贵的时间,而你可能还乐此不疲,却不知这里面原本有大量的时间可以省出来,学习更多的知识,来充实自己。

     

    本文版权归舍得学苑所有,欢迎转载,转载请注明作者和出处。谢谢!
    作者:舍得
    首发:舍得新浪博客

    标签:

    SuperMemo与材料收集

     

    这或许是困扰一部分用户的问题,SuperMemo收集材料不大方便,所以,宁可选择算法差一点,却不需要怎么收集的软件。

    怎么选择其实无关紧要。每个人都有自己的选择,无非是效率高低的问题。若真要在效率上较真,不妨细想一下,看上去往SuperMemo里录入学习材料是费了点时间,但优秀的算法却能给你的学习节省更多的时间。换个角度看,看上去你用那些收集速度很快甚至不需要收集的软件给你省了时间,但因为算法太过初级,甚至根本没有算法可言,实际上在后期的学习上浪费了你大把的时间。

    SuperMemo收集材料并不费事。最省事的是按F9之后直接逐个添加,复制和粘贴能花你多少时间?1分钟?2分钟?还是5分钟?稍微熟趟一点1分钟之内搞定一个页面绝非难事。而你知道因算法的低劣会给你浪费多少个1分钟么?这里舍得暂且不去讨论如何去辨别算法的优劣,咱明天再谈这个话题。

    除了上面讲到的省事的方法,还有个稍稍高级一些的方法,就是将学习材料处理成Q&A格式文本,简单点讲就是问题前加上“Q: “,答案前加上”A: “,问题和答案各成一行,每一组问题和答案之间插入一个换行符,听起来感觉还有些小复杂不?没关系,舍得这篇文章里有范例:《SuperMemo UX新手指南之课程使用》如果觉得困难,可以跳过这个方法,或者改天舍得专门谈谈这个Q&A格式。若是你懂得一些正则表达式,处理文本时效率可以更高一些。至于导入的方法,可以参考n年前舍得写的这篇文章:《SuperMemo UX新手指南之课程导入又一法》。

    如果还觉得这两种方法不够方便,你可以使用舍得学苑自行开发的《SuperMemo课程编辑器》,这是专门为SuperMemo UX设计的工具,你可以像使用SuperMemo 2008/15的增量阅读的方式来快速收集、整理学习材料,甚至可以直接使用截图的方式来处理学习内容。顺便透露一下,SuperMemo课程编辑器在以后还会结合多种辞典数据库,你可以快速将生词收集到SuperMemo课程中。

     

    本文版权归舍得学苑所有,欢迎转载,转载请注明作者和出处。谢谢!
    作者:舍得
    首发:舍得新浪博客

    标签:

    什么是增量阅读?

    舍得学苑里有位童鞋对增量阅读有一些疑问,在某个帖子里他写道:

    这个incremental reading给我的感觉暂时还是不太实用。因为我看了很长时间发现,其实incremental reading只不过是在一个小段落里设过空罢了,能起到什么作用呢?是让自己对这个词加深印象吗?或是在一句话里的地点时间信息里设个空让自己能记下这个信息? supermemo的20个rules里讲过,设空或是做question&answer pairs是需要对知说进行加工重现的。而这个increamental reading 只能简单地在一句话里设个空,句子里带着大量有promoting effect 的内容难以避免。
    不知increamental reading 能用来学什么?看一本小说?学一本专业书籍?比如会计?好像都不太适合。
    也许我还没能理解这个东西背后的思想思维。
    如果可以的话,希望和大家交流,看看能不能把这个东西发挥到最大的价值。

    其实要了解什么是增量阅读,可以参阅舍得在2011年写的一篇文章:《浅析增量阅读(Incremental reading)》,那里基本把增量阅读的概念讲清楚了。你也可以看一下SuperMemo官方对于增量阅读的解释:

    Incremental reading is a learning technique that makes it possible to read thousands of articles at the same time without getting lost. Incremental reading begins with importing articles from electronic sources, e.g. the Internet. The student then extracts the most important fragments of individual articles for further review. Extracted fragments are then converted into questions and answers. These in turn become subject to systematic review and repetition that maximizes the long-term recall. The review process is handled by the proven spaced repetition algorithm known as the SuperMemo method.

    简单概括就是一句话:增量阅读是一种学习技巧,它可以让你快速阅读大量的文章而不至于遗忘要点。

    至于具体的操作过程,SuperMemo Wiki中也给出了具体的示例,想要了解的可以猛戳此链接:http://www.supermemo.com/help/read.htm

    简单总结一下就是以下这些步骤:

    • 把文章导入SuperMemo;
    • 对文章中有价值的信息进行处理,这个过程相当于做笔记;
    • 然后把一切交给SuperMemo,它会安排你对这些“笔记”进行复习;

    从这些步骤中可以看出,第一步其实并非必要——只不过SuperMemo提供这个导入文章的方法,给了你一些方便而已,可以省去一些复制和粘贴的操作。增量阅读的真正意义在于,你把读过的一篇文章中的价值点,直接储存到SuperMemo中,然后在Supe的Memo复习算法的帮助下,让这些“价值点”融入你的血液,不会轻易遗忘。

    不用SuperMemo同样可以做类似增量阅读的工作,它基本上会是这个样子:

    • 阅读一篇文章;
    • 把你认为有价值的地方记录下来;
    • 然后不断地复习,永久记住是不现实的,要记住多久,就得做相应的复习;

    从这里你会发现这个方法与使用SuperMemo进行增量阅读有两个明显不同的地方:

    • 记录笔记的方式与SuperMemo的方式相比,效率相差很大。比如“中华人民共和国成立于1949年”这样的知识点,你直接记录下来,复习的时候只能被动地去阅读,无法在每次复习的时候判断到底是否已经掌握这个知识点——因为你直接看到了答案。SuperMemo会这么做:先显示“中华人民共和国成立于____年?”你得先去找出答案——这对你的大脑是一个很好的锻炼,而且这个知识点掌握与否,立刻可以得出结论。
    • 由于没有SuperMemo复习算法的支持,你无法很好地掌握这个知识点的复习时间。知识点数量少的时候倒没什么,数量一多,你就忙不过来了。《论语·学而》中讲到“学而时习之”,《论语·为政》中又讲“温故而知新”,我们的老祖宗早就告诉我们复习的重要性,没有什么知识点不需要复习就可以永久掌握。而在合理的时间安排复习,可以充分提高我们的学习效率。

    我们再来看一下增量阅读能够学些什么。那位童鞋说到“看一本小说?学一本专业书籍?比如会计?好像都不太适合”。舍得说说自己的观点,小说这种东西,如果只是看过就扔掉的那种,确实没有必要去做什么增量阅读。专业书和会计,只要其中有你需要去掌握的内容,多数是可以用SuperMemo的增量阅读去搞定的。

    这里的关键在于处理的方法。舍得建议把握几个基本的原则:

    • 信息最小化:不要往一个页面(条目)里塞入过多的信息。
    • 提问或挖空是两种最基本的技巧,绝大多数知识点可以用这些技巧来处理。
    • 只选择你认为有价值的知识点来处理,“垃圾进,垃圾出”,如果你选择去掌握垃圾信息,那么得到的也只能是垃圾信息。

    具体的处理方法,舍得在这里不再举例,有兴趣的童鞋可以阅读舍得去年写的一篇文章:《SuperMemo,你的超级笔记——用增量阅读搞定教科书》

    本文版权归舍得学苑所有,欢迎转载,转载请注明作者和出处。谢谢!
    作者:舍得
    首发:舍得新浪博客

    标签:

    折腾出平生第一个C++程序

    实在是被逼得没办法了。

    事情的起因是这样的。最近要录制一组视频,视频需要配音,自己配的话(去年视频月活动时是自己配的音),操作起来太过麻烦。这一次为了提供视频制作效率,决定用机器合成。

    其实2010年舍得制作的《SuperMemo UX课程制作实例》视频用的就是机器合成的,当时选择的是科大讯飞InterPhonic 5.0,因为这是业界中文TTS技术领域中最牛X的,比什么NeoSpecch强多了。这一次起初选择的仍是讯飞的,但感觉发音还是欠自然一些——没办法,舍得的要求太高了。于是放狗搜索,结果发现讯飞出了个语音云,InterPhonic也从5.0升级到6.0了),从它的在线演示那里一看(在线演示地址:

    http://open.voicecloud.cn/index.php/default/online_demo),我擦,同样一句话,6.0比5.0自然了不少,虽然仍有机器感,但舍得相信,再牛也就是这样了!而且,居然还有东北、湖南、四川等地的方言……咋没有咱浙江的捏?遐想一下,视频中的配音操着一口浓重的浙江方言,逼得各路童鞋不得不埋头去看字幕,那该是一件多么令人神往的事情啊!

    就是它了。舍得立即注册了语音云的账号,下载好开发用的SDK……下完之后一看文档就傻眼了,我只会Python,最多加上个Qt,TNND的SDK居然是C++?虽然之前多少有些心理准备,但短暂的茫然和失落总是难免的。

    语音合成

    科大讯飞的语音合成在线演示

    没办法,有困难要上,没有困难制造困难也要上啊。期间想了很多办法,找了很多资料(中间略去5000余字不表)……最后悲哀地发现,看起来,只剩下埋头苦学Visual C++开发技术一条路了。

    手册

    科大讯飞的开发手册,这语言非常陌生,舍得直接就看醉了

    微软的Visual Studio虽然也算不上陌生,大概在2009年曾经用它编译过一次SuperMemo的插件——波兰一个技术牛人开发的,我只是硬着头皮改改试试,没想到成了。可那是C#,这回是C++,俩码事好不好?

    好在天无绝人之路,讯飞的SDK(开发工具包)中有n个实例,其中有一个正好是舍得用得着的——将文本转换为语音。

    装好Visual Studio 2012之后,打开那个实例,生成一个程序,唔,还算顺利,尽管生成的语音是PCM格式,不是舍得想要的wav,还在可忍受范围之内。

    但是——这个时候往往会有个但是,问题来了,这个实例里,用来转换的文本是内嵌在程序中的……我去,难道我每转换一句话,就得重新编译一次程序?虽然勉强能用,但不能这么坑爹啊?

    有没有办法加上一个最最最简单的功能,来个文本框,好让我输入文本,然后一点按钮,就把语音转出来捏?

    继续想,继续想(中间再略去3000余字),终于想起舍得多年前的独门绝学——修改大法。大意是,找一个差不多的程序,把它改一改,再和这个实例拼在一起……哼哼,我看行。

    马上放狗上网搜一堆实例下来,有书,有源代码,不到2个小时的时间里从网上拖下来3个多G的内容(那个块头最大的《VC++范例大全》,2.69G,最后没用上),凭感觉找了一个叫FileSpliter的实例,开始祭出修改大法。

    刚动手改时还找不着北,晕了一阵之后,头脑里开始有了思路。舍得先改出如何从文本框中获取文字,实例中没有讲到的语法,就直接上网搜索。这个改起来是最快的。

    然后把TTS中的代码往FileSpliter上加……经过几次尝试之后,成果开始慢慢显现。

    C

    修改中的部分代码:舍得连参数、控件名称都没改

    最后做出下面这个叫“Dubber”的程序:

    dubber

    操作起来很简单,在文本框里粘贴上中文台词,然后点击开始合成,就会自动从科大讯飞的语音云中提取TTS语音数据,生成音频文件。

    接下来,舍得还需要对这个程序进行改动,比如说,不再粘贴台词,而是先打开一个文本文件,以每一行为单位,逐句输出音频,这样才是高效率嘛!

    或许还有更高的,讯飞除了语音合成,还有语音识别,咱可以对着麦克吼出台词,然后自动生成音频文件,女声的哦……

     

    最后,来对比一下效果,这是用InterPhonic5.0合成的:

    http://pan.baidu.com/s/1hqHzPyc

    这是用Dubber合成的:

    http://pan.baidu.com/s/1c0Eki0C

     

    本文版权归舍得学苑所有,欢迎转载,转载请注明作者和出处。谢谢!
    作者:舍得
    首发:舍得新浪博客

    标签:

    如何掌握词汇更有效

    恶魔的奶爸童鞋曾经转了铁牛的一篇文章,叫《学英语尽量不要从背单词开始》,这个说法虽然已经很委婉,但给人的感觉却是在劝你,“别从背单词开始”。

    “开始”两个字里蕴含着玄机。

    从哪里“开始”学很重要吗?说它重要,确实也重要;但说它不重要,也对。

    这恰是学习者最易迈入的误区之一。有一部分学习者往往会有这样的念头,“我要用世界上最最最最好的学习方法!”殊不知,这“最最最最好的方法”与“好的方法”之间的差距,可能只是奥运冠军和亚军之间成绩上的差距,比如2012伦敦奥运会上,博尔特跑出了9秒63,拿下了冠军,而亚军布雷克的成绩呢,9秒75,两人的成绩仅仅相差0.12秒。

    再回过头看,从背单词开始或不从背单词开始,区别能有多大呢?

    舍得的观点是,从哪开始学,都没关系。放到学习英语这个大环境下来看,这种细节上的是与非,绝非关键,适合自己的方法、持之以恒的训练,更为重要。工夫下到了,笨鸟也能先飞啊。

    当然,如何学习更有效,还是有一些讲究的。毕竟,”有效“与否,决定了你能否节省一些时间。只是,我们不能沉迷于方法的探寻上面,忽略了学习本身。

    那如何掌握词汇,更加有效呢?

    这要根据你当前所处的阶段,选择适合你的方法。比如说,你的基础词汇量无限接近于0,去语境中学习?那将是一件非常可笑的事情。基础词汇量薄弱的童鞋,舍得建议,用SuperMemo快速突击词汇,用尽可能短的时间,把最常用的2000左右的词汇(比如说朗文词典用来解释的2000基础词)对应意思先掌握。达到一个什么样的标准呢?看到一个英文单词,脑子里能立刻反应出它的意思就行。这样的阶段下,不要去听某些老师讲的,非得去用英英释义来学习——拜托,别自己给自己找麻烦了。更有甚者,有学习者受那些所谓”明师“的影响,非得用柯林斯字典中的释义!我去!就算你要用英英释义来学习,柯林斯比其它词典,比如说朗文之类的,能高明到哪里?又是一个9秒63和9秒75差距的问题!在突击的过程中,完全可以选择一些经典的教材,比如《新概念》、《赖世雄美语从头学》等等,来同步学习。

    有了2000左右基础词汇之后,这时候继续拓展词汇有多个方向可以选择,比如用SuperMemo继续向3000词汇(比如说朗文3000词)前进,或是大量阅读简易读物(比如说书虫系列,事实上这个阶段完全可以在掌握2000词的过程中展开),这些都没问题,如果你精力足够,完全可以齐头并进。如果你选择《新概念》这样的课程,学完4册之后,词汇全部掌握的话,4000的词汇量是没有问题的。

    随着词汇量的增长,练习的范围也跟着扩大。你可以去读英文报刊、看英文版电影或电视剧、和国外友人交流。不过,同样是读报刊、看电影,方法不同,效果会有较大的差异。舍得的做法是,读报刊的时候,可以将生词整理出来,在SuperMemo上复习,这样就不会读过一次两次就拉倒,而是随着你阅读量的增长,你的熟词量也在不断提升。这样的做法同样适合看英美电影和电视剧,在看的同时,让这部电影、电视剧中的生词尽快变成熟词,不要只看一次拉倒,同一步电影(电视剧)要反复去看。如果有条件,可以把其中的对白的音频逐句提取出来,做成SuperMemo的课程,通过这些句子去让生词尽快地转化成熟词,再从熟词变成活跃词汇。

    需要注意的是,看到一个英文单词,脑子里能立刻反应出它的意思——这对掌握词汇来说,还是不够的。什么样的状况才算是真正掌握了?能听清、读准、了解意思,这些仅仅是对词汇的最基本的要求。进一步的要求是,把词汇放到句子中,当它和不同的词汇搭配时,你仍能听清、了解意思;最终要达到,能将词汇灵活运用到你的工作和生活中,这个词才算是真正掌握,这个时候我们可以称这个词为你的活跃词汇。

    这样的学习,并不是你”知道“其中的道理就行,关键在于实际操练。一次两次的练习是远远不够的,词汇的掌握需要不断的重复,从不同的角度去重复操练,直至真正掌握。

     

    本文版权归舍得学苑所有,欢迎转载,转载请注明作者和出处。谢谢!
    作者:舍得
    首发:舍得新浪博客

    标签:

    让SuperMemo帮你练出一手好字

    看到这个标题的时候,或许有童鞋会说,别扯了,这货还能帮我练字?我不信!

    一开始舍得也没有在意,虽然之前我制作过《于右任千字文》课程,学苑里还有童鞋发过自制的书法课程,但课程做完了,事情就搁下了。直到最近捡起毛笔,每天写上几个字,才有所感悟。

    书法练习分摹、临、背、核、用几个环节。摹是描红; 临是对着字帖依样画葫芦,学其笔意;背是不看帖,背着帖写,力求与帖上的字形神毕肖;核是将背写的字与帖上的字进行核对,以期逐步完善;用就是实践,把学到的东西,用到实际生活中去。

    SuperMemo凭借其强大的评估算法,可以提高你在临、背、核这三个环节的效率。

    我们先看看传统的练法有什么不足。以临帖来说,通常大家怎么临?一本字帖从头“临”到尾,再从尾“临”到头?还是反复临一个字?不管你怎么临,你无法逃脱的一种窘境是,有相当一部分时间花在已经临得很好的字上!怎么讲?比如这个帖有一千个字,一遍遍练下去,基本每个字得到的练习次数都差不多,那些你不用临都已经写得惟妙惟肖的字,你也会练一遍,这就是时间上的浪费。这中间,有些天分较高的学习者,会在临帖中,自动跳过那些不用再临的字——而这个,恰是SuperMemo能帮我们完善的环节,具体怎么做,我们呆会再讨论。

    再看背和核两个阶段,传统的练法存在先天的缺陷,背帖要求不看帖,不看帖你知道要写哪个字?除非事先背下,或将要背的内容提前抄出来,放在案上参考。背帖之后是核帖,你写完一个或多个字,对照着字帖来看,在传统的练习中,操作起来略显繁琐。然后就是与临帖同样的问题:如何背?背哪些?背多少次?讲的具体一些就是,今天背哪些字?明天背哪些字?如何背帖才能效率更高?传统方法在评估和重复练习的环节存在着严重的不足。要知道,人这一生其实很短,眼睛睁闭之间,岁月就匆匆过去了,你在学习某项技能上若能花更少的时间获得同样甚至更好的效果,为什么不去做呢?

    我们来看看如果用SuperMemo辅助练习,会是什么个情况,先看临帖:

    临帖

    这是临帖的一个课程页面,课程用电脑打开,或者用手机、平板电脑打开更佳,代替字帖,然后揣摩其笔意,开始临帖。写完这个字后,在SuperMemo中对自己所临的字进行评估——你可以只使用SuperMemo最简单的三级评分制,觉得临得已经形神皆似,那就评为“I Know”;觉得自己临得马马虎虎,就选“Almost”;觉得自己临得简直是一塌糊涂,那就毫不犹豫地选择“I don’t know”吧!评估完后,进入下一个字的练习。

    这样,你不需要考虑”今天要临哪些字“的问题——这问题看起来简单,但对象舍得这样的书法门外汉来说,偶尔会犯点纠结。今天写啥好呢?古诗词?某个方面的口诀?还是随心所欲,写完一个词之后,玩”按尾字想出下一个成语“那一套?这样做,不是练字,是练心啊。

    在SuperMemo中,你下一个要临什么字,程序自动给你安排好了。因为在这种做好的课程中,要临的字无非是两类,一类是已经临过的,一类是没临过的。通常SuperMemo的”陪练“流程是:先把前几天临的不好的字拿出来重临一遍,做完之后,再开始临那些还没临过的字。随着时间的推移,课程中所有的字都会变成“临过”的字,而那些你已经临得很好的字,SuperMemo会自动让它们逐渐“淡出你的视线”,换句话说,练到最后,要临的字越来越少,直到课程中的全部字你都临得形神皆备。

    再来看背帖和核帖。这两个环节可以在一个课程内完成,背帖时,程序先出这个页面:

    背帖

    这就是给出了要背的字,然后你去回忆这个字的结构,凭印象把它书写下来。写完后,点击SuperMemo的查看答案按钮,出现下面这个页面:

    核帖

    根据这个“答案”继续进行评估吧。评估的方法跟上面讲过的完全一样。采用这种方法进行背帖、核帖还有一个好处就是,写完之后,马上进行核对,可以让你的大脑对“下次如何把这个字写得更好”留下更深刻的印象。

    我们来总结一下用SuperMemo来辅助练习书法的整个操作,每练习一个字,你需要做的是:

    • 根据屏幕提示进行书写,你的SuperMemo设备(平板、PC、手机)相当于你的字帖,你不需要做额外的操作;
    • 点击一下查看答案按钮——这是比传统练习多出的操作,不过顶多花你几秒钟的时间;
    • 评估。这是比传统练习多出的第二项操作,但正是它的存在,才会让你节省更多的时间。因为评估可以让那些完全过关的字不需要再让你去反复练习,小小的一项操作,可以让你的技能学习之路大幅缩短。

    没错,就是这样,SuperMemo可以帮助你练出一手好字,可以让你用更少的时间,获得更好的练习效果。

     

    本文版权归舍得学苑所有,欢迎转载,转载请注明作者和出处。谢谢!
    作者:舍得
    首发:舍得新浪博客

    标签: