每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,欢迎关注开源日报。交流QQ群:202790710;电报群 https://t.me/OpeningSourceOrg


今日推荐开源项目:《Winamp——重生的多媒体播放器

Winamp 是一个重生的多媒体播放器,它有着现在主流播放器中的所有功能,同时,还有着它们所没有的功能。

 

简介

Winamp 的前身是由 Nullsoft 公司开发,是数字媒体播放的先驱,那时的 Winamp 是作为一个 MP3 播放器,那时的 Winamp 以更好的音质与功能迅速流传开来,但是后来,多媒体技术发展的速度非常快,随着视频、音频的迅猛发展,计算机处理速度大大增强,乃至大容量硬盘、DVD的普及,Winamp 逐渐失去了竞争力,再后来,官方宣布关闭了这个项目。现在,这个项目被重新搬了出来,而且也成功地进行发展,Winamp 也获得了重生。

再来,关于 Winamp 的多功能,将 Winamp 与现在主流的播放器相比,比如网易云音乐等等,Winamp 还能播放视频,在播放时还附带炫丽的可视化效果,它还拥有一个难以想到的浏览器功能。

这就是 Winamp,一个重生的多媒体播放器。

开源项目精选: Winamp——重生的多媒体播放器

Winamp 与其他播放器的区别:

我们就以QQ音乐作为例子

Winamp 与QQ音乐一样,作为一个多媒体音乐播放器,它们都拥有作为一个音乐播放器的基本功能,本地播放,在线播放都能做到。但它们所不同的是QQ音乐就只是一个音乐播放器,而 Winamp 就不仅仅是这样。Winamp 有着QQ音乐许多所没有的功能。比如说可视化,视频播放器等,想不到的是,Winamp 还有浏览器的功能,可以直接在 Winamp 中上网。可以说是功能很全面了。

再者,Winamp 所支持的格式要多于 QQ 音乐所支持的格式。比起其它的现在主流的音乐播放器,Winamp 所支持的格式也更多。

关于 Winamp 功能

音频:该软件支持 MP3、MP2、MOD、S3M、MTM、ULT、XM、IT、669、CD-Audio、Line-In、WAV、VOC等多种音频格式。可以说是涵盖了绝大部分音乐都可以通过其播放。

视频:该播放器本身并不支持播放 mp4 这类视频(装上插件之后可以),但是可以播放 mp4 里面的音频。

可视化效果:播放音乐的时候也可以上手视觉盛宴:

开源项目精选: Winamp——重生的多媒体播放器

 

皮肤:该播放器可以定制界面,也就是类似于酷狗音乐的皮肤功能。除了可以自定义面板格式,你还可以定制面板颜色:

开源项目精选: Winamp——重生的多媒体播放器

 

在线播放:一开始觉得这软件只能播放本地音乐,结果发现它是支持在线播放的。它的在线服务把音乐进行了分类,不同的分类下面又有细分。可以说是比较符合需求,想听啥听啥,在我的印象中,网易云音乐播放器的分类就没有这么细。

设备管理:这款软件是有手机版的,并且支持无限桌面同步,USB 挂载同步。

 

开源项目精选: Winamp——重生的多媒体播放器

插件:Winamp 里面很多很炫的功能都是通过插件来实现的。(支持的插件有60多个)比如 DFX(一种音效处理插件),通过 DFX 默认设置就可以让 Winamp 在音质还原上提升一个档次,不仅如此还可以调节高保真度、环境音效、3D 环绕、动态推进、超重低音等等。即使使用主板集成文件次的声卡仍然可以播放出专业般的音质效果,令人欣喜的是使用DFX 不会占用太大的系统资源。

Winamp 的均衡器

Winamp 内置了一个均衡器,通过均衡器,你可以自己调节不同频率段的音调,也可以参考它已经内置好的频率组合。同时这个均衡器可以调节左右声道,同时也能实现前置放大器的功能。在网页版的 Winamp 中同样有均衡器的功能。

前置放大器

如果把前置放大器调到最大,最显著的感觉就是音量似乎变大了;实际上前置放大器的作用就是放大收到的信号,从而减小外界的干扰。如果把它调到最大之后,一些听不太清楚的声音会变的清楚,但是同时也会有放大噪音的副作用,一般来说默认即可。

均衡器

Winamp 中内置的均衡器可以调节 70Hz, 180Hz ,320Hz, 600Hz, 1kHz ,3kHz ,6kHz ,12kHz, 14kHz,16kHz 频率的声音。

70Hz 属于低音,是声音的基础部分,如果这部分过低会导致声音单薄,如果过高则会让声音听起来发闷,戴耳机时则会感觉到不明来由的震动。

180Hz 和 320Hz 属于中低音,如果调到最高,则会使低音过分突出,调低则会突出人声。

600Hz 和 1kHz 属于中音,调到最高会让声音听起来像电话中传来一般,让人觉得有一层薄膜;调低则会让人声减弱。

3kHz 属于中高音,调高会让人声尖锐,调低则会让人声的音调变化不明显。

6kHz 属于高音,调到最低会让人感觉到声音明显的低沉,调高则会让人感觉到声音变得清亮。

12kHz,14kHz,16kHz 属于极高音,调到最高时声音容易让人发昏,调低时则会让声音压抑


今日推荐英文原文:《Don’t be a Junior Developer》作者:Andrei Neagoie

Don’t be a Junior Developer

Seriously, don’t be a junior developer. A junior developer puts this title in their resume, emails, and LinkedIn… They pronounce it to the world. Don’t.

When you do that, this is what recruiters and companies see: “Hi, I’m desperately looking to get hired as a developer. I’m still new at this, but can you please please please place a bet on me and hope that I turn out to be an asset and not a liability for your company. Oh, and I’m also going to need a lot of help from your staff for the first 6 months!”

But, I AM a junior developer!… you say. If that is the case, then you will have better long term success if you focus on improving your skills to become an intermediate developer. Only then, you should start applying to jobs. Dedicate yourself full time on learning proper skills. This way, you don’t pigeonhole yourself to the “junior” developer role that you brand yourself as. Remember, first impressions are important. By getting hired as a junior developer, you will have to spend a longer time getting out of that role than if you would have, if you spent a little more time getting comfortable calling yourself an intermediate developer and getting hired into that role right away.

But when would I know when I’m not a junior developer?…you say. You won’t. You will always feel like you don’t know enough. You will always feel like others are smarter than you. This is called imposter’s syndrome. It’s normal and every developer feels it. But here is a simple test for web developers: Can you explain to your family members how the internet works? How a computer works? How websites work? Do you have a basic understanding of HTML, CSS and Javascript so you can build your own websites? Do you know a little bit of React? Have you built a few projects on your own on Github and you are comfortable putting up websites and apps online? Good, then you are not a junior developer.

But I need a job right now!..you say. Stop that short term thinking. Unless your job involves you working with really smart people that you can learn from every day, on technologies that are relevant and current (few junior developer roles offer you this), your time would be better invested learning skills to get out of the junior mindset. Long term, you will earn more money, be with better developer teams, and you will be more likely to work for a company that teaches and let’s you work with up to date technologies every day. Don’t work on updating a WordPress plugin as the resident junior developer of a law firm. That won’t help you long term.

If you apply for junior developer roles, the best case scenario: You become a junior developer.

If you apply for intermediate developer roles, the best case scenario: You become an intermediate developer.

Don’t sell yourself short.

Ok, great pep talk Andrei, but I still have no idea what I’m doing. I’m definitely still a junior developer!…you say. Fair point. I’m currently working on the ultimate resource to get people out of the “junior mindset”. The best way to do that is to understand the whole developer eco system on the web and even the selective knowledge known by only senior developers. This course will include things that nobody teaches you in one go or you can only find fragmented, vague and outdated tutorials online on. Here are the topics I will be teaching:

  • SSH
  • Linux Servers
  • Performance (from minimizing DOM updates to Load Balancing)
  • Security
  • State Management
  • AWS lambda and other server-less architectures
  • Typescript
  • Server Side vs Single Page Applications
  • Testing
  • Docker
  • Sessions with JWT
  • Redis
  • Progressive Web Apps
  • Continuous Integration/ Continuous Delivery
  • (…maaaaybe GraphQL)

These are the topics that will make sure you are not a junior developer. The course will be focused on connecting the dots on all of these so that next time you are in an interview, you can speak intelligently about current tactics for building projects, architecture, and setting up developer environments. It is the successor to my learn to code in 2018 course.

Stay tuned for Part 2 of this article where I will go through each one of the above topics in simple terms.

If you take away one thing from this article…

Stop calling yourself a junior developer. Have a junior developer mindset where you are constantly looking to learn from others, but never settle for a junior developer role. Apply for roles for which you are under qualified not overqualified. Remember that if you never ask the answer will always be no.

Don’t overestimate the world and underestimate yourself. You are better than you think.


每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,欢迎关注开源日报。交流QQ群:202790710;电报群 https://t.me/OpeningSourceOrg