天青色等烟雨,而我在等你。

用Python生成特定频率的波形文件

好久不写流水帐了,这一次的流水帐还是代码笔记。

最近买了个耳机,不算太好,不过算是比那种10块钱的好用些吧。网上相关文章看了一些,无意间看到一个小工具,可以发出特定频率的声音来测试耳机和人耳对频率的反应。不过遗憾的是没有for Linux版本的。干脆自己学写一个好了。

起初打算是把某个wav里面特定的频率过滤出来,好歹还学过一点傅里叶变换没有全忘记。要是用一个带通滤波器应该可以撸出来吧。没动手之前以为滤波器会很难写,然而不得不感叹Scipy的强大,什么FIR,IIR都只要直接设定参数便可以直接使用了!这个让我激动了一把,因为当时没有学原理,现在有了scipy.signal就不怕了!可是故事并没有因此而向好的方向发展,wav文件读进来的数据,不知道该怎么把设计好的滤波器应用上去,无论是python内置的wave还是scipy封装的scipy.io.wavefile都没法得到想要的结果,于是这个仅持续了两天的工程还是流产了。唉学艺不精啊!希望有相关经验的朋友能不吝指点一下。

退而求其次,就有了本文。

因为有了前面两天的基础,对wave文件有了一定了解,想实现题目讲的就不难了。加上搜资料一共用了10min就做好了。代码放在了gist。不过还有个问题就是产生的波形频率不是特别纯,在基波附近又很多的谐波,由于数学学得不好,也暂时不去考虑了,说不定哪一天可以忽然想清楚了呢。

哦对了,测试的时候不要把频率撸的太低或者太高!!!第一是会很难受!!!第二会不会很危险(看这里不知真假!!!!)!!!

顺便记录一点最近的烦心事吧。感冒!!!!!!每天咳的要死,躺在床上就咳,怕影响室友睡觉,就去外面抽烟,外面又好冷啊,回到床上接着咳,这样折腾一两次就2,3点多了,早晨根本没精力起床TT。。。更别说去图书馆吵其他人了。。。

看到知乎招聘,想试一试,随便写了50字简历过去没想到不到2个小时就有了回复,又激动了一把。是两道代码题目,一道是应该考状态机,一直没怎么了解过所以难度有点大;另一道是考web开发的,这一个还稍微了解一点。虽然不是专业班子,好赖不及两道题都写出了,还比deadline提前了3天发了回去。结果石沉大海去了。。。再TT。。。

考研应该考不上吧。。。实习又撸不到。。。第三次TT。。。

comments powered by Disqus