写在技术博客开通一周年之际:这一年在技术上我做了什么

2023-10-25 03:59

本文主要是介绍写在技术博客开通一周年之际:这一年在技术上我做了什么,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

去年的这个时候我在博客园开通了技术博客。一晃一年过去了,这一年中我写了二十几篇原创,全是对音频开发中的知识和经验的总结。不高产,差不多一个月两篇的节奏。平时工作比较忙,基本都是利用周末时间写出来的。中途有一段时间特别忙,差点想放弃,庆幸还是坚持下来了。我想后面还会坚持下去,内容还是对我工作中知识和经验的总结。人们通常喜欢在一周年之际做一些总结,我也不例外,今天我来总结一下过去的一年在技术上我做了什么。总结下来主要做了三件事:音频开发、人工智能(AI) 学习、写技术博客。

 

1,音频开发

音频软件开发是我的本职工作,这一年中的绝大多数时间肯定是献给她了,毕竟她是我的衣食父母,我养家糊口得靠她呀。本职工作不仅要花绝大多数时间做,而且还要做好。去年这个时候我从APP语音开发切到Android手机平台上的音频软件开发,主要是在音频DSP上开发音频软件。那时我对手机平台不熟,对Android系统不熟,对DSP不熟,有很多新东西要学,也曾怀疑过自己选择做Android手机平台上音频软件的正确性。现在一年过去了,我觉得选择是正确的。虽然还是做音频开发,但是现在是在更主流更大众的Android手机平台上开发,扩展了知识面,而且主要是在底层的DSP上开发(DSP不像ARM那样频率高内存大,而是频率低内存小,这就要求在写代码时有更多的技巧,同样的事情在DSP上开发可能要比在ARM上多花不少时间,这对能力的要求更高),能力也提高了。这一年下来做了不少事情,我自己觉得主要有以下收获:

 

1)虽然还是做音频软件开发,但是已经切到在更主流的安卓手机平台上做音频。经过一年的实践,对安卓手机上音频相关的软硬件有了更深的理解。音频子系统可以说是安卓多媒体系统中最复杂的子系统了。外设多,有听筒(earpiece)、扬声器(speaker)、有线耳机、蓝牙耳机等。使用场景多,听音乐、录音、打电话等,其中打电话又分为传统语音通信和APP语音通信(如微信语音),传统语音通信又分为2/3G语音通信和4G VoLTE语音通信。要把这些都做好是非常不容易的。

2)丰富了我做语音通信解决方案的种类,使我对语音通信方案的掌控更加游刃有余。我以前做过有线语音通信方案,也做过APP语音通信方案,现在又做了安卓手机上的传统语音通信方案,知道了APP语音通信方案的底层是如何实现的。可以说是目前主要的语音通信方案都做过了。

3)做了语音和音乐融合的方案。以前做的音频方案要么是语音的,要么是音乐的,功能单一。现在在Android手机平台上做音频,语音和音乐都有,是一个融合方案,复杂度会比单一方案高些。

4)掌握了在DSP上做音频软件开发。DSP上软件开发和ARM上软件开发是有一些差异的,在DSP上编程要求比在ARM上高。从刚开始做时的不熟悉不习惯到现在的熟悉习惯,虽然还谈不上精通,毕竟才做了一年。

 

2,AI学习

如今技术更新快,做技术的人就得不停的学新东西。如果学习停止了,一不留神发现自己out了,更惨的是自己竞争力下降出局了。2016年alpha狗战胜围棋世界冠军极大的推动了机器学习/深度学习的普及,让更多人知道了这个领域以及它的巨大威力。语音识别/智能语音作为深度学习技术最早落地的方向之一,也获得了快速的发展,从传统的“GMM(高斯混合模型) + HMM(隐马尔科夫模型)”到GMM用DNN(深度神经网络)替代,再到HMM摒弃不用而用端到端的CTC和RNN(循环神经网络)/ CNN(卷积神经网络)只用了四五年的时间,而且现在还在快速的发展着。我做传统音频/语音开发这么多年,智能语音可是说是语音开发的一个新的方向,我有必要去学习掌握它,作为自己现有技能的一个扩展,不管未来有没有机会去做它,再说机会总是给有准备的人的,哈哈。

 

学习新技术是需要时间的。我平时工作比较忙,经常加班,工作时间是不可能学习工作内容以外的知识的。周末要带小孩参加英文等的学习,也有一些私事要处理,也没多少时间用来学习,只能利用上下班做地铁的时间学习了。主要是上班途中学习,一是早上头脑比较清醒,二是下班时忙了一天已经很累了,学习新知识效果不好,还要花点时间刷刷当天发生的新闻,包括科技的财经的等。人既要埋头工作,也要看外面的世界。我上下班单程要一个多小时,这点时间在地铁里戴上耳机听着音乐,同时打开iPad学着新知识。先从传统的利用“GMM+HMM”语音识别学起。GMM/HMM主要是概率统计方面的知识,刚开始看时有点晕,毕竟多年不看忘得差不多了。又把当年学时用的书翻了翻,恢复了大部分,再去看GMM/HMM好多了。经过了一段时间的学习,大体上搞明白了用“GMM+HMM”做语音识别的思想。

 

GMM/HMM学完后就准备学深度学习。深度学习说的通俗一点又不十分准确就是深层神经网络。我在十多年前读研时就简单学过神经网络,那时就知道经典的BP算法了。神经网络是导师的研究方向之一,我不是这个方向的就简单学了下。当时看着博士师兄们经常在实验室电脑上用matlab做训练,心想神经网络也就只能在高校里做研究出出论文用,想不到多年后大放光彩,这得感谢Hinton教授呀。这也从另一个方面说明目前只在高校里研究的一些东西随着研究的深入以及硬件能力的提高说不定日后就能成为工业界的热门技术呢。我又把神经网络认真学了一遍,同时又把高数里的一些知识点捡了起来,尤其是梯度。这些都掌握的差不多后就看起了被大家奉为圣经的书《深度学习》中文电子版。这本书前面有需要用到的数学基础知识的介绍,也有机器学习基础知识的介绍,但介绍的不是很详细,毕竟这些不是该书的重点,只是告诉读者要看该书需要这些基础知识。我之前没学过机器学习,《深度学习》里只是简单介绍了下机器学习的基础知识,我想还是先学习一下机器学习吧。找来了机器学习领域的大牛南京大学周志华教授的书《机器学习》(俗称西瓜书),把一些相关的知识强化了一下。再去看《深度学习》,好一些了,还是有些吃力,公式太多。网上看了一下大家对它的评价,偏学术。就把这本书大概看了一下,没有深究。后来在网上找到了针对深度学习入门的系列文章(见后面学习材料清单,作者根据这些写了一本书,叫《深度学习之美》,本月上市),讲的通俗易懂,我看了三四遍,基本上搞懂了。在这里推荐给想入门深度学习的朋友。经过这么长时间的学习,我的感觉是基本上扫盲半入门了,但是缺少实际项目的操练。现在智能语音主要在云端做,有在终端(尤其手机)做的趋势。我是在手机上做音频的,希望有机会在手机上做智能语音。下面列出我主要看过的书或者文档清单,如果有朋友想学这些,可以作为参考。

《HMM学习最佳范例》

《机器学习》 (南大周志华)

《深度学习》

  一入侯门深似海,深度学习深几许(https://m.aliyun.com/yunqi/articles/86580)

 

3,写技术博客

为什么要写技术博客呢?主要是受一本书的启发,这本书叫《软技能--代码之外的生存指南》,会写乐于分享就是其中的一项软技能。写技术博客是对自己已有知识和经验的总结和归纳,便于日后温故而知新(一些知识点一段时间不用就忘记了,把它记下来后面再用到时看一下就恢复起来了),也把自己的知识和经验分享出来给有需要的朋友。现在做技术的提倡开源分享,现在你跟别人分享了,哪天你在其他方面有困难时别人也会跟你分享的。比如现在我在学智能语音相关的知识,看了很多博客,也是在分享别人的知识和经验。同时把知识和经验写出来,让同行看到你在这个领域的能力水平,说不定什么时候机会就出现呢。做技术也跟好酒一样,也怕巷子深呀。

 

在写技术博客前好久不写正规文章了。以前在外企会经常写技术文档,那都是英文的,而且有模板,写的大家(尤其外国同事)能看懂就行了。写技术博客是用中文写,讲清楚技术和经验是最基本的,最好图文并茂。由于好久不写文章,刚开始写时总感觉写不出来,随着写的文章越来越多,现在好多了。文章发表后就会伴随着喜悦或者失落。喜悦是文章得到了大家的认可和推荐,记得发表文章《谈谈我开发过的几套语音通信解决方案》后不仅获得大家的认可,而且得到了博客园编辑的推荐,在主页上推荐了两天,两天内总共有近3000次的阅读量,也获得了17次的推荐,很是开心。失落是文章选题不好或者大家不熟悉,没什么阅读量,有时甚至在博客园主页没多久就被编辑撤下了。做事情总是希望被认可的。

 

我的博客主题是音频开发,不像其他技术领域那样,从业人员不多,我希望看我博客的人都能有收获,也希望跟更多的同行交流。不管阅读量的大小,我后面还会继续写下去,依旧是工作中音频相关知识和经验的总结和归纳。加油!努力!争取出更多高质量的文章!

转载于:https://www.cnblogs.com/talkaudiodev/p/9123495.html

这篇关于写在技术博客开通一周年之际:这一年在技术上我做了什么的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/279878

相关文章

【专题】2024飞行汽车技术全景报告合集PDF分享(附原数据表)

原文链接: https://tecdat.cn/?p=37628 6月16日,小鹏汇天旅航者X2在北京大兴国际机场临空经济区完成首飞,这也是小鹏汇天的产品在京津冀地区进行的首次飞行。小鹏汇天方面还表示,公司准备量产,并计划今年四季度开启预售小鹏汇天分体式飞行汽车,探索分体式飞行汽车城际通勤。阅读原文,获取专题报告合集全文,解锁文末271份飞行汽车相关行业研究报告。 据悉,业内人士对飞行汽车行业

金融业开源技术 术语

金融业开源技术  术语 1  范围 本文件界定了金融业开源技术的常用术语。 本文件适用于金融业中涉及开源技术的相关标准及规范性文件制定和信息沟通等活动。

AI(文生语音)-TTS 技术线路探索学习:从拼接式参数化方法到Tacotron端到端输出

AI(文生语音)-TTS 技术线路探索学习:从拼接式参数化方法到Tacotron端到端输出 在数字化时代,文本到语音(Text-to-Speech, TTS)技术已成为人机交互的关键桥梁,无论是为视障人士提供辅助阅读,还是为智能助手注入声音的灵魂,TTS 技术都扮演着至关重要的角色。从最初的拼接式方法到参数化技术,再到现今的深度学习解决方案,TTS 技术经历了一段长足的进步。这篇文章将带您穿越时

系统架构设计师: 信息安全技术

简简单单 Online zuozuo: 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo :本心、输入输出、结果 简简单单 Online zuozuo : 文章目录 系统架构设计师: 信息安全技术前言信息安全的基本要素:信息安全的范围:安全措施的目标:访问控制技术要素:访问控制包括:等保

前端技术(七)——less 教程

一、less简介 1. less是什么? less是一种动态样式语言,属于css预处理器的范畴,它扩展了CSS语言,增加了变量、Mixin、函数等特性,使CSS 更易维护和扩展LESS 既可以在 客户端 上运行 ,也可以借助Node.js在服务端运行。 less的中文官网:https://lesscss.cn/ 2. less编译工具 koala 官网 http://koala-app.

Spring的设计⽬标——《Spring技术内幕》

读《Spring技术内幕》第二版,计文柯著。 如果我们要简要地描述Spring的设计⽬标,可以这么说,Spring为开发者提供的是⼀个⼀站式的轻量级应⽤开发框架(平台)。 作为平台,Spring抽象了我们在 许多应⽤开发中遇到的共性问题;同时,作为⼀个轻量级的应⽤开发框架,Spring和传统的J2EE开发相⽐,有其⾃⾝的特点。 通过这些⾃⾝的特点,Spring充分体现了它的设计理念:在

java线程深度解析(六)——线程池技术

http://blog.csdn.net/Daybreak1209/article/details/51382604 一种最为简单的线程创建和回收的方法: [html]  view plain copy new Thread(new Runnable(){                @Override               public voi

java线程深度解析(二)——线程互斥技术与线程间通信

http://blog.csdn.net/daybreak1209/article/details/51307679      在java多线程——线程同步问题中,对于多线程下程序启动时出现的线程安全问题的背景和初步解决方案已经有了详细的介绍。本文将再度深入解析对线程代码块和方法的同步控制和多线程间通信的实例。 一、再现多线程下安全问题 先看开启两条线程,分别按序打印字符串的

SSM项目使用AOP技术进行日志记录

本步骤只记录完成切面所需的必要代码 本人开发中遇到的问题: 切面一直切不进去,最后发现需要在springMVC的核心配置文件中中开启注解驱动才可以,只在spring的核心配置文件中开启是不会在web项目中生效的。 之后按照下面的代码进行配置,然后前端在访问controller层中的路径时即可观察到日志已经被正常记录到数据库,代码中有部分注释,看不懂的可以参照注释。接下来进入正题 1、导入m

嵌入式技术的核心技术有哪些?请详细列举并解释每项技术的主要功能和应用场景。

嵌入式技术的核心技术包括处理器技术、IC技术和设计/验证技术。 1. 处理器技术    通用处理器:这类处理器适用于不同类型的应用,其主要特征是存储程序和通用的数据路径,使其能够处理各种计算任务。例如,在智能家居中,通用处理器可以用于控制和管理家庭设备,如灯光、空调和安全系统。    单用途处理器:这些处理器执行特定程序,如JPEG编解码器,专门用于视频信息的压缩或解压。在数字相机中,单用途