C++将PCM音频写入WAV文件的极简处理出于项目需要,要记录音频流到文件。音频流的获取是Windows音频会话API(Windows Audio Session API,WASAPI)的标准写法,最开始实验的时候是将PCM直接二进制写入文件,再用Python引SciPy库转为WAV,但这显然在大批量样本下显得很笨拙,所以就研究了一下WAV的文件格式,琢磨出来以下极简写法: 12345678910111213141516171819202 2024-06-05 Blog #C++ #音频
ORCID Record Action UsageORCID Record ActionI developed a GitHub action to automatically fetch record, including personal information, publications, authors, etc. The action page is available at GitHub Action Marketplace, and 2024-06-03 Blog #CI #Frontend
使用GitHub Action自动抓取ORCID记录ORCID Record GitHub Action我做了一个GitHub Action,利用ORCID的公共API自动抓取研究人员的记录,包括其发表、作者、期刊和时间等等。因为原始API这些信息是位于不同URI下的,因此我进行了整合以写入到一个单独的JSON文件中。这个Action目前可以在GitHub Action市场中安装,用法如下。 ORCID API配置1. 注册你的个人公共API客户端 2024-06-03 Blog #持续集成 #前端
OpenWRT使用mwan3实现单线多拨并整合WLAN转有线书接上文,本文介绍一下新版OpenWRT上的单线多拨。其中,“单线(多个虚拟网卡)”用macvlan实现,“多拨”则用mwan3实现。此外因为我的网络的特殊情况(有线网稳定但很慢,无线网比较快但容易掉线),因此我还附加了将无线网转到有线网的操作,即WLAN的客户端模式。整个网络的拓扑图大致如下: graph TD A[Wire WAN] -->|macvlan| B(Virtual 2022-10-02 Blog #网络 #OpenWRT
OpenWRT使用nftables实现IPv6 NAT手贱给路由器升级到了OpenWRT 22.03,结果防火墙规则文件/etc/firewall.user直接没了,好家伙。一查才发现新版OpenWRT用上了Firewall 4,规则管理工具从iptables升级到了nftables,貌似天然对IPv6支持,不再需要手动安装ip6tables,嗯是个好东西,用起来。 背景校园网总是能给你整点儿意想不到的烂活出来,比如给你分配一个/128的I 2022-09-26 Blog #网络 #OpenWRT
拥抱Hexo我总是说话的巨人,行动的矮子。从八年前大二第一次接触前端开始,就一直想做一个自己的博客网站,幻想着做成拥有注册、登录、评论……等等诸多功能齐全的一个大项目,方案也从一开始的裸PHP,一直追新到Laravel、Ruby on Rails、Spring、Springboot + Angular……结果我拿这些工具接了不少活,自己的站却一直处于新建文件夹状态,属实讽刺。 之前想着要不就CSDN算了,反正 2022-09-25 Diary