标签:

octave

dsp

在Octave

3.6以上的版本中使用fir1设计低通/高通/带通/带阻滤波器时,往往发现通带增益不正常,严重影响滤波器性能。例如以下代码设计一个20阶的低通滤波器并绘制出它的频率响应:

freqz(fir1(20,

0.5))

然而Octave绘制出的图像如下:

可以看到在远离截止频率0.5pi的地方,增益已经出现了严重的偏移。使用加窗法设计的20阶FIR滤波器的性能应该比这好很多,所以能够断定这是Octave的bug导致的。

尽管目前在savannah上的代码仓库中,这个bug已被修复,然而到写这篇博客时还没有正式的发布版包含修复后的代码。你若嫌麻烦,可以直接在octave-signal安装所在目录的fir2.m文件中函数开头处,加入一段:

f += linspace(0, eps *

length(f), length(f));

标签:

matlab

gammatone

dsp

本文是一篇对Gammatone滤波器组(Gammatone Filter

Bank)的介绍,总结了此主题下的几篇重要论文(Darling-1991, Slaney-1993, Ellis-2009,

见末尾的引用部分)。

因为在这里排版不便,我把这篇文章写在Github上,请参阅:

---

第一次尝试Markdown + LaTeX,结果相当漂亮呢。

(2015-01-11 12:57)

标签:

praat

octave

matlab

Octave是一个很好用的数值计算软件,Matlab的绝佳替代;Praat是一个很棒的语音分析软件。在语音科学实验中我们常需要提取语音特征,并进行数值处理,然而Praat本身(Praat脚本)的数值计算不太方便,若能将两者结合会带来许多便利。这个简短的例子介绍如何从Octave调用Praat,对音频文件进行分析,并将结果返回到Octave。

假设的应用场景:我们要打开特定的语音文件,分析Pulses(PointProcess),存到vector里。

基本思想是,用system()带上参数启动Praat,执行一段事先写好的Praat脚本,分析结果输出到stdout,被Octave以字符串形式读取,再把字符串转换成向量类型。

先写出一个从打开文件到转换成PointProcess的Praat脚本:

min_freq = 75

max_freq =

600

sound =

do('Read from

file...', file_name$)

(2014-11-12 14:29)

标签:

utau

utau社区

praat

歌声合成

分类:

反思

(这篇文章完全基于我的个人观点,不代表Rocaloid开发组的立场。)

UTAU是一个在歌声合成领域很有建设性的软件,它的开放架构促进了一个活跃的用户社区的形成,并鼓励用户进行相关的探索和尝试,这无疑是值得肯定的。但是,请允许我指出UTAU社区一直存在的一些问题,这也是同类软件(包括Rocaloid)的用户群体的问题。

我观察到UTAU社区提出过许多歌声合成相关的概念(例如“连续音”、“syo/B-HM/芳梅式”、“多音高”),然而这些概念早在十几年前就有人提出过。

这个请求看上去是很滑稽的。作为歌声合成软件的开发者,我的义务是提供给用户最好最易用的软件(“客户是上帝”),而不是去给用户挑错。但是上述问题的确造成了用户的大量重复劳动。鉴于此类软件的发展现状,我们很难将理论基础和操作方式分离(这也是我们的目标)。因此为了UTAU社区在未来的良好发展,我有必要明确指出这个问题,并提供可能的解决方案。

好在UTAU社区的用户构成比较清晰。除了负责调教的最终用户外,还有音库制作者,录音表设计者,以及合成引擎(resampler,

wavtool)和工具的开发者,有时一人身兼多职。如果能让最终用户

(2014-10-18 06:42)

标签:

rocaloid

重写

这篇文章作为昨天一些讨论的总结,希望能产生出一些有用的东西,方便日后查阅。

Rocaloid这整个项目,从开始到现在已经重写过四五次了,平均半年重写一次。造成这个现象的一个原因是项目使用的算法在不断更新换代,而且这个问题无法避免。而另一方面,freenode/#c_lang_cn的羊驼说得很有道理:这一定还和我本人的某些想法有关,更具体是在重写初期,我不知道自己需要什么。

从Rocaloid1.6开始我注意到在引入对象体系后,一些信号处理相关的代码能被更好地组织起来。例如“波形”对象、“正弦信号”对象等等。然而Rocaloid3开始,编程语言改为C,本身并没提供相关的功能。于是我写了RUtil,一个数据聚合式的C的对象模型。后来Rocaloid3因为算法问题又被废弃了。在Rocaloid3.5阶段的开发初期,我试图增强RUtil的功能,产生了RUtil2。当初并没有预料到未来会用什么功能,所以干脆用一大堆宏能凑出什么凑什么,然而半年后现在看来,有些功能是不需要的,还有些需要的功能没有。

但这些功能的缺失不是主要问题。羊驼认为数据聚合式的对象模型很难看,我自己倒觉得没什么(当然这会带给其他开发者一些上手困难)。更关键的是,现在

(2014-10-10 17:47)

分类:

反思

因为那次CSDN事件,我就没再更新过博客。直到最近发现只是当时忘记密码,我竟找回了这个号。

我已经三年没写过博客了。看了看以前我还在玩Flash那会儿写的东西,真得很幼稚。现在也很幼稚——以后我也许仍会这么觉得。

说透了那只是想着也许有人会看这个博客,就在这装装逼,又能摊上个技术交流的名义,多好。

我不知道我是否还会写下去(以及是否还有时间写下去)。但如果在写这篇流水帐的同时,我自己能知道下一步究竟要干什么,那真是太好了:

将博客打回最原始的形式无非是一个可以随时间推移增加信息的网页而已,甚至评论都不是必要的功能。那它和一个文件的根本区别就是可以分享。

所以为了有效利用博客,就应该往上放值得分享的东西。

如果你的观点别人早就有过,那么你所做的只是把它的时间戳更新了一下,没什么价值。所以我假定分享的内容要具有新的观点。

是的,新的观点,一切有分享价值的新的观点。写博的最高境界或许是“即使没人看,自己也能写下去”,但初衷应该建立在分享观点的基础上。

但愿今后有时间能继续写下去吧。

标签:

杂谈

博客木人气,很不蛋定地先转到了百度贴吧继续奋斗

在贴吧里遇到了不少高手 意识到自己实力还不够 闭门修炼了半年,终于有了不少长进 主要习得了不少系统底层的知识

嗯 果然正如某高手说的 等学会了汇编就发现神马都是浮云了 flash还是C++终归是编译成了汇编(虽然as

是解释型语言 但到了内存里运行的时候还不都变成一条条汇编了)

此外对Yamaha出的Vocaloid语音合成软件起了很大兴趣 决定研究研究语音合成

这半年间还学会了手工数据恢复 就是那种靠直接读取硬盘扇区恢复数据的方法

此外还尝试着修改掉了一个山寨ipod的固件 这下好歹俺也算个高手了(好吧我开玩笑的)

以上,完毕.

(2011-01-12 15:05)

标签:

下载整个网站

下载网站

it

我们经常需要查阅网络资料(这是废话),但很多时候无法上网,带来一大堆麻烦。尤其是用本本的用户,无法一直上网是最头疼的问题。这时,你一定会想:要是能把整个网站下载到硬盘就好了!本文教你把指定网站下载到硬盘的方法。

【不罗嗦了,正文开始】

Windows自带的IE从很早的版本起就支持下载网页了。具体方法是文件->另存为(ie8是页面->另存为)。但是请你注意——这样只能存储你当前的页面,而不能存储由N千个页面组成的整个网站。理论上说,只要你不怕累,一个一个页面地下载是完全可行,但是这样的工作量相当惊人(经计算,下载一个10000个页面的小网站需要1.73天的时间,而且不睡觉、吃饭、休息、工作)。我们需要的是便捷、高速、自动化的方法。

你可能知道有一种软件,用于模拟用户的鼠标操作,把录制好的机械性操作快放N倍完成。但是下载网站是一个十分灵活的工作,机器不能自动分辨什么是正文,什么是广告。而且还不能保证每次都点到正确的位置上。所以说,要下载整个网站必须用分析文件内容的高级方法。

于是,出现了令

(2010-11-14 16:33)

标签:

杀戮区

murderdistrict

游戏

游戏设计

flash

(转载请注明出处,谢谢合作)

经过大半年后,杀戮区(MurderDistrict)1.0终于制作完成了,似乎是比计划的晚了点儿(好吧,不是一点

)。主要是因为这段时间一直是笔者一人制作,事情有比较多。总之是达到了预计效果。什么都不说了,先发图:

这是主界面

(2010-07-27 11:22)

标签:

murderdistrict

程序设计

break

循环

it

谁都有犯此类错的时候——漏写了“Break ;”、“Continue

;”、“Stop();”此类小语句的时候,笔者也不例外。前几天在对MurderDistrict怪物喷血的性能优化时,发现了一个奇怪的现象:在秒杀了大批由制造机(游戏引擎Demo

0.7版本的新种类怪物,可以制造蜘蛛)量产的怪物后,从制造机内突然在一瞬间跑出了几十个怪,密密麻麻的,导致CPU使用率垂直上升,帧率垂直下降!!

(为了给下文做铺垫),先说明一下游戏的框架设计:为了使玩家的内存不至于崩溃,笔者对怪物的产生采用了“生死轮回”制:

可见,False后“跳出循环”需要有一个Break,结果笔者漏写“Break”,导致所有怪物起死回生(诈尸?!)Break的威力实在了得!

gammatone滤波器 matlab,Sleepwalking_新浪博客相关推荐

  1. Action Golf 四个魔法球实战训练系列_huatuo_新浪博客

    Action & Golf 四个魔法球实战训练系列_huatuo_新浪博客

  2. 普度网络营销策划_普度网络营销策划-齐宁_新浪博客

    标签: 杂谈 自媒体的盛行,让我们知道了文案的重要性.一条好的文案,可以让你的广告如虎添翼.一篇好的内容可以瞬间刷爆朋友圈.今天我要总结的就是如何做一个打动人内心心智的好文案. 文案最主要的目的是让消 ...

  3. 黄聪:wordpress文章同步发布到网易、天涯、新浪博客、百度空间插件

    新浪博客,网易博客,百度空间,天涯博客都是权重很高的第三方博客平台.如果能保持更新,有助于提升主站权重.有了博客同步插件,直接在wordpress 后台设置一下,wordpress 自动把更新的日志同 ...

  4. [转载]Word直接发布新浪博客(以Word 2013为例)

    2019独角兽企业重金招聘Python工程师标准>>> 原文地址:Word直接发布新浪博客(以Word 2013为例) 作者:paulke2011 注意:这篇博客直接由Word 20 ...

  5. 新浪博客“网络繁忙请稍后再试”

    发博文提示网络繁忙请稍后再试 August 17 摘要:经常用新浪博客发博文的人应该会遇到一个问题,那就是有时会提示网络繁忙请稍后再试,同时连保存草稿也不行,这时候该怎么办呢? 方法/步骤 我们假定真 ...

  6. 邓文迪撑杆跳,甩开老公要独立?_富杂志_新浪博客

    邓文迪撑杆跳,甩开老公要独立?_富杂志_新浪博客 邓文迪撑杆跳,甩开老公要独立? (2010-01-11 10:55:22) 转载▼

  7. cadence spb 16.5 破解过程实例和使用感受_赤松子耶_新浪博客

    cadence spb 16.5 破解过程实例和使用感受_赤松子耶_新浪博客 Cadence Allegro16.5详细安装具体的步骤 1.下载SPB16.5下来后,点setup.exe,先安装第一项 ...

  8. 关于幂律分布的一个笔记_哈克_新浪博客

    关于幂律分布的一个笔记_哈克_新浪博客 关于幂律分布的一个笔记     (2011-03-02 18:12:27)     转载▼     标签:     幂律     二八法则     杂谈     ...

  9. html代码 通用代码,新浪博客通用html代码及其使用方法

    经常上新浪博客又偶尔看到有些NX的博客总会把自己的领地打扮得漂漂亮亮的,总给人一种神圣敢,让人羡慕不已.其实方法很简单,你也可以轻松打造! 首先,你登陆你的博客 > 控制面板 > 首页内容 ...

最新文章

  1. 开源 免费 java CMS - FreeCMS-标签 channelList .
  2. DPDK vhost-user研究(十二)
  3. 遍历页面上所有的textBox
  4. 【Python-ML】聚类的性能评价指标
  5. git分支操作、分支合并冲突解决
  6. H3C PPP基本概念
  7. P2617-Dynamic Rankings【树套树】
  8. 循环序列模型 —— 1.9 GRU单元(门控循环单元)
  9. Major GC 是清理老年代。 Full GC 是清理整个堆空间—包括年轻代和老年代。
  10. The Stanford Geostatistical Modeling Software(地质统计软件)
  11. plsql导出表结构到excel_PLSQL怎样导出oracle表结构
  12. 使用S32DS集成MCAL
  13. VMware安装和卸载时出现无法访问你试图使用的功能所在的网络位置该怎么办(Windows Installer CleanUp)
  14. 撤回/修改已经发送的Outlook邮件
  15. android7.1修改默认休眠时间为1分钟
  16. GTK使用cairo绘图教程
  17. pow函数在php,pow函数怎么用
  18. 分享:淘宝客完全开源程序。
  19. UE4 设置Play下的默认相机FOV(Field Of View)视角
  20. git diff的简单使用

热门文章

  1. CSS定位(position))之sticky 定位
  2. spark源码分析之ShuffleExternalSorter
  3. JAVA Json-Schema接口校验利器
  4. Pytorch Note5 动态图和静态图 dynamic-graph
  5. MATLAB中interp2参数使用指南
  6. IDEA常用快捷键,提升开发效率
  7. zabbix自定义报警——(邮箱,微信)
  8. limma差异分析谁比谁不重要
  9. 用计算机计算找到的规律奇妙的数字教学设计,四年级上册数学《探索与发现(一)有趣的算式》教案及教学反思...
  10. Mysql 表名统一改为大写或者小写