YodaOS: 一个属于 Node.js 社区的操作系统

by admin on 2020年3月5日

大家好,很开心在这里宣布 YodaOS开源了。他将承载 Rokid
4年以来对于人工智能和语音交互领域的沉淀,并选择 Node.js
作为操作系统的一等开发公民,全部开放给社区。

图片 1

图片 2

1月28日,AI 独角兽公司 Rokid 发布其人工智能操作系统 YodaOS。据悉,YodaOS
专门为下一代人机交互设备开发,可用于智能音箱、智能家居、智能穿戴和车载等多种设备和场景。在安卓出现之前,有
Linux、塞班、Windows Mobile
等诸多手机操作系统,他们都有自己的开发标准和应用分发平台。虽然手机形态较固定,诸如触屏、摄像头和传感器这些东西。

YodaOS(YODAOS)的架构跟 Android 类似,从下至上,由 Linux
Kernel、系统服务和应用框架组成。不过 YodaOS 有以下不同:

AI 时代交互方式发生改变,现有 OS 无法满足

  • 开发者可以直接使用 JavaScript / Node.js 来开发本地应用(技能);

  • 封装了 AI 抽象层,可以通过 JavaScript
    直接调用到诸如语音激活、语音识别、人脸识别等接口;

近年来,AI
技术的应用与落地,让智能硬件具备语音交互和视觉交互的基础能力,人机交互方式从
GUI
及触屏逐渐演变成基于多模态的交互方式。而要实现这种交互,离不开底层操作系统的发展。手机时代的操作系统主要为以多点触控交互方式的设备做适配和优化。而在
AI 时代,交互方式发生改变,终端硬件也呈现极度分散化。

除了支持默认的 Node.js API 外,YodaOS 还提供:

以语音交互领域为例,在智能音箱场景下,新的人机交互方式及设备成本都对市面上的操作系统提出了不同程度的挑战。AI
时代需要一款专为下一代人机交互设备开发的操作系统,以降低智能终端产品化的开发成本,而
YodaOS 的目标就是成为 AI 时代的安卓。

  • 内置的语音激活和语音识别
    API,真正做到了开箱即用(开发)的语音交互系统;

  • 对音量控制、电源管理、蓝牙、多媒体播放、LED 灯效和 OTA
    等都进行了接口封装;

  • 对物联网开发者来说,内置了标准化的 WebSocket、MQTT
    等物联网协议的客户端实现;

全栈开源操作系统,提供产品级解决方案

YodaOS 也支持 npm 仓库,开发者可以根据自己的需要在 OS
中运行所需的模块,不过并不推荐使用一些实现起来很重的模块,因为 YodaOS
需要支持中低端设备,所以有时候也需要考虑到性能方面的因素。

YodaOS 基于 Linux 内核,在其上构建硬件抽象层、AI 抽象层和 JavaScript
框架,是第一款全栈开源的 AI 操作系统。

如果遇到一些 npm 仓库确实实现很重,但又不得不用的时候,在 YodaOS
上,我们一般的做法是使用 N-API 桥接 C/C++ 模块,然后保证 JavaScript API
与对应的 npm 包一致。

YodoOS 集成了 Rokid 最新研发成果——云端语音算法
FCTC,并成功将其应用到终端设备上,保证在同等算力下,终端和云端的语音交互体验不相上下。此举将智能语音产品的激活成功率在强噪音下提升了
20% 以上,唤醒速度实现 300ms
以内,达到行业领先水平。基于开放的核心理念,YodaOS 将算法封装在 AI
抽象层,方便用户在上面开发 AI 应用,并支持替换成第三方的 AI
算法,比如将语音唤醒替换为 Amazon Voice Service。

同时借助于 N-API,开发者可以将任何 Linux 的库移植到 YodaOS上,并通过
N-API 以 JavaScript API 方式使用,可以这么理解,N-API 之于 YodaOS,就像
JNI 之于 Android。

累积 4 年产品打磨经验, YodaOS 集成 Rokid 头部内容、服务和 IoT
应用,并以自有 SoC 芯片 KAMINO18
产品级别方案输出,大大节省软硬件打磨时间,快速实现产品化。此外,YodaOS
支持适配到市场上主流的芯片和硬件,包括高通、晶晨、三星、联发科和博通等,大大降低了要实现智能硬件产品化的门槛,让普通厂家能够参与
AI 产品创新和差异化。

图片 3

拥抱 Node.js 社区,释放开发者的想象力

为什么是 Node.js

前面提到了 YodaOS 选择拥抱 Node.js和 Node.js
开发者,最大的一个原因就是在过去将近10年的时间,从最开始 Ryan
Dahl 定义的,一个轻量级的 Web 服务器框架,到如今的
Express、Loopback、Koajs、Midway 和 Egg Framework,在 Web
服务器框架领域已经渐渐成熟。

依托于 Node.js 提供的运行时,从 Grunt、Gulp 到现在的 Webpack和
Parcel,在构建工具领域,社区也不断涌现出非常卓越的开源项目来。Node.js
正在发挥每位开发者的想象力,社区中几乎有你需要的一切,甚至于在社区中,有一句流传已久的名言:

any application that can be written in JavaScript,**will eventually
be written in JavaScript**”   —— Atwood’s Law

意思就是说,只要能被 JavaScript 来编写的程序,终将使用 JavaScript
实现。那为什么不用 JavaScript 来写一个操作系统呢?

当然上面的只是一个有趣的引子,Rokid 真正想做的是让 Node.js
开发者能够以更低的门槛进入语音交互和嵌入式领域。

Rokid 一直坚信社区的力量,YodaOS 使用 JavaScript
作为应用开发语言,并自研在终端上的 Node.js。希望为 Node.js
社区一起打造在终端设备的生态,让大量开发者可以轻松进入语音交互以及人工智能行业,大大降低其准入门槛。

Node.js 与 ShadowNode

YodaOS 虽然跟 Android
的架构相似,不过解决的问题,及目标设备并不尽然相同,对于现在越来越便宜的手机,Android
开发者几乎不用担心系统性能的问题。然而对于像智能音响、IoT
终端以及其他嵌入式设备,通常硬件资源都是非常紧缺的,在这种情况下,OS
就要解决开发者“既要节省资源、又要便于开发”的问题。

于是针对中低端硬件产品(内存介于 128MB 到 256MB 之间),我们创造了
ShadowNode来解决这个问题,它是 Rokid 基于三星 IoT.js 二次开发的一款
Node.js 运行时,它具备更快的启动速度和更低的资源占用,相比 IoT.js,它:

  • 提供了更好的错误栈信息和性能调试工具;

  • 支持了基于 N-API 的跨运行时模块执行;

  • 针对特定芯片的性能优化,比如 AmLogic A113和 Kamino18;

借助于 N-API的 ABI 兼容特性,我们实现了 OS
上层框架和应用的运行时兼容性。比如开发者完全可以选择在更高级的设备上运行
YodaOS,此时内存和 Flash 不再是瓶颈,开发者只需要更换系统中的 Node.js
运行时,即可获得更快的执行速度,不需要修改一行上层代码。

YodoOS
集成了语音唤醒、语音识别、语义理解以及语音合成等SDK,在应用开发框架中,包含了多媒体播放、音量、蓝牙、网络以及按键等系统接口,具有针对语音场景下的高集成度。开发者可以通过简单的配置,定制自己的语音助手。与此同时,YodaOS
将整个系统架构模块化,鼓励开发者进行二次开发或替换源代码。

最后

我们希望借助 YodaOS,为 Node.js
社区补全终端开发这一版图,让我们用这门亲切的语言,再次回到我们熟悉的“端”的开发。

如果想一起加入 YodaOS,可以在 GitHub
上关注我们,项目地址:。

(文/开源中国)    

自 Rokid
成立四年以来,就做一件事情,从软件到算法到硬件到产品,整个端对端的细节打磨。在这个过程中,沉淀出了一个全栈的技术能力,希望通过
YodaOS 分享给整个产业。

YodaOS 的架构跟 Android 类似,从下至上,由 Linux 内核、硬件抽象层、AI
抽象层和 JavaScript
框架组成,专为下一代人机交互设备开发,可用于智能音箱、智能家居、智能穿戴和车载等多种设备和场景。

我们将 Rokid 核心算法封装在 AI
抽象层,方便开发者直接调用诸如语音唤醒、语音识别、人脸识别等接口。同时,YodaOS
支持替换第三方的 AI 算法,比如将语音唤醒替换为 Amazon Voice Service。

Rokid 一直坚信社区的力量,YodaOS 使用 JavaScript
作为应用开发语言,并自研在终端上的 Node.js,开发者可以直接使用
JavaScript / Node.js 来开发本地应用。

2019 年正好是 Node.js 10 岁生日,YodaOS 希望为 Node.js
社区一起打造在终端设备的生态,让大量开发者可以轻松进入语音交互以及人工智能行业,降低其准入门槛。

在硬件极度碎片化的 AI 时代,品牌方、硬件厂商和开发者面临着生态封闭、缺乏
AI 核心技术和硬件产品生产成本高周期长等问题。

YodoOS 集成了 Rokid 最新研发成果——云端语音算法
FCTC,并成功将其应用到终端设备上,保证在同等算力下,终端和云端的语音交互体验不相上下。此举将智能语音产品的激活成功率在强噪音下提升了
20% 以上,唤醒速度实现 300ms 以内,达到了行业领先水平。累积 4
年的产品打磨经验, YodaOS 集成了 Rokid 头部内容、服务和 IoT
应用,并以自有 SoC 芯片 KAMINO18
产品级方案输出,节省软硬件打磨时间,快速实现产品化。

基于开放的理念,YodaOS
支持适配到市场上主流的芯片和硬件,包括高通、晶晨、三星、联发科和博通等,降低了要实现智能硬件产品化的门槛,让普通厂家能够参与
AI 产品创新和差异化。很多人问道,为什么要叫 YodaOS?

YodaOS 的命名源自星球大战里面的 Yoda
大师,他极具智慧,同一般的武士不同,Yoda
相信,只有结合其他人的力量才能更加强大。YodaOS
愿结合开发者的力量,在伟大的人工智能时代为大家创造价值。

Rokid 基础平台研发中心负责人周军博士表示,YodaOS
的命名源自星球大战里面的 Yoda 大师,他极具智慧。同一般的武士不同,Yoda
相信,只有结合其他人的力量才能更加强大。Rokid 希望通过 YodaOS 赋予开发者
AI 软硬件的开发能力,释放想象力,创造价值。今天,Rokid
已经在全球最大的代码托管平台 GitHub 上开源其代码,希望大家一起玩
YodaOS。

文章来源:数智网

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图