借助包括 jetson nano、xavier nx 和 agx xavier 在内的模型,nvidia 生产了一系列紧凑型计算机,能够在各种环境中高效地部署 ai 解决方案,以满足不同的需求和期望。
jetson nano 开发者套件是一款小巧而强大的计算机,它允许用户同时运行多个神经网络,用于图像分类、对象检测、分割和语音处理等应用——所有这些都在一个功耗低至 5 瓦的紧凑型设备中。jetson nano 开发套件配备了各种外围设备,包括 usb、以太网和 hdmi 连接。一种缺少但常见的外围设备是某种形式的音频输入或输出。如今,许多设备都配备了音频插孔,有些甚至带有板载麦克风。
有很多方法可以为 jetson 设备添加音频功能。usb 扬声器和usb 麦克风是一种简单的解决方案,但它们确实占用了宝贵的 usb 插槽,这些插槽可能更适合用于键盘、蓝牙功能、internet keys 和其他配件。
在 jetson 设备上,nvidia 通过 40 针 gpio 扩展接头提供对 i2c、spi 和 i2s 等一系列外围设备的访问。为了处理音频,我们最感兴趣的是 i2s 外设,它是一种用于连接数字音频设备的电气串行总线接口。我们不需要从头开始创建 i2s 功能,但了解常见通信协议的来龙去脉总是有用的,因此有关 i2s 的更多信息,请查看这篇精彩的文章。
jetson 的 40 针扩展接头使我们能够轻松访问 i2s 外围设备,并且通过适当的附加电子设备,我们可以快速利用 i2s 功能。
来自协议开发商飞利浦半导体的 i2s 时序图。(照片:smartcow)
我们选择的硬件
adafruit i2s mems 麦克风分线板 (sph0645lm4h)是一款紧凑型音频录制解决方案,输入频率范围为 50 hz 至 15 khz。该板没有模拟输出,而是纯数字输出。
许多微控制器通常配备模拟输入,因此添加模拟音频信号是一项简单的任务。对于更大更复杂的微控制器和微计算机,不能保证模拟输入。更复杂的是,众所周知,模拟麦克风系统会渗入噪音。通常可以找到 i2s 外设来代替模拟输入。
麦克风是一个单声道元素——您可以选择使用左声道或右声道。对于那些更喜欢/需要立体声的人来说,使用两个麦克风的简单配置可以很容易地实现,一个麦克风设置在左声道,第二个麦克风设置在右声道。值得一提的是,该设备是从设备,必须使用外部逻辑完全驱动。
adafruit max98357 i2s d 类单声道放大器适用于具有数字音频功能的微控制器和微型计算机。它可以接收标准的 i2s 数字音频输入,并将其解码为模拟信号,然后直接放大到扬声器中。这款紧凑型分线板解决了数字音频输出的两个常见任务:i2s 数字音频转换 (dac) 和放大。放大增益也可以通过添加精心挑选的电阻器或可变电阻器来修改。
输出是一个大约 300khz 的方波 pwm,由扬声器线圈平均 - 听不到高频。事实上,它无需任何中间步骤即可直接驱动通用扬声器。
这款小型单声道放大器的重量超过了它的重量 - 能够为 4 欧姆阻抗扬声器提供高达 3.2 瓦的功率(5v 功率 @ 10% thd)。鉴于其 d 类架构,该放大器非常高效,可轻松在 2.7v 至 5.5v 直流电源下运行 - 非常适合便携式和电池供电项目。
设置 jetson nano
jetson nano 是这个项目的核心。设置 jetson nano 是一个有据可查的过程。您可以找到有关如何完成此任务的各种资源。
对于我们的任务,jetson nano 需要一根用于供电和编程的 usb 到 uart 电缆、一个键盘、鼠标和 hdmi 显示器。此外,我们需要将分线板连接到 jetson nano:
确保还将您的 max98357a 输出连接到扬声器。我们使用了 8 欧姆、15 瓦的扬声器和 jetson nano 提供的 3.3v 电源。
配置 i2s
jetson nano 与 sph0645 和 max98375a + 扬声器(照片:smartcow)
启动 jetson nano 后,在 jetson 40 引脚 gpio 扩展接头中配置 i2s 引脚是一个非常简单的过程:
1. 在开发者工具包上,打开命令行终端并运行以下命令:
2. jetson 将启动并显示其主显示屏。在我们的例子中,我们想要手动配置 jetson 40pin 接头和配置接头引脚。
3. 在“选择所需功能(针对引脚):”页面上,选择 i2s4 选项。
4. 之后,您将被带回主页并要求重新启动并保存您所做的重新配置,因此请继续并重新启动。
配置 jetson 40pin 接头(照片:smartcow)
手动配置头针(照片:smartcow)
选择 i2s4 外设(照片:smartcow)
保存引脚更改(照片:smartcow)
保存并重启!(照片:smartcow)
如果您需要有关配置 jetson 引脚的进一步指导,请查看此链接。
重新启动并重新登录 jetson nano 后,您需要安装以安装任何更新,并下载几个库。
让我们初始化我们的麦克风设置:我们所要做的就是重置我们的声卡,设置我们的音量,并指定我们希望我们的音频信号使用的路径。
在设置采样率(48khz)并指定所需的录音长度(本例中为 30 秒)后,我们终于可以开始录音了!
录制后你会注意到我们现在有一个名为“test.wav”的文件,这是录制的音频。我们还没有完成,我们还可以播放录制的音频。让我们重置声卡并设置音量。
现在剩下要做的就是输入命令来播放生成的音频文件。
一定要花点时间坐下来享受聆听演讲的乐趣。请随时查看我们的迷你演示。我们通过 sph0645 麦克风录制了一首歌曲,并使用 max98357 播放。
结论
任务完成!我们已经成功地为 jetson nano 开发套件构建了一个端到端音频系统,该系统仅由一根 usb 电缆供电。接下来,您可能会包含一个机器学习模型并播放经过更改的录音版本。考虑从一种语言翻译成另一种语言,添加过滤和压缩等音频效果,或创建语音映射(谁不想听起来像达斯维德或摩根弗里曼?)
无线网卡的安装与无线网络的设置步骤讲解
LG U+计划在未来5年内将5G用户规模扩大3倍
安捷伦发布全系列微波/射频/无线与雷达测试方案
GTC 2023:英伟达的三大云计划
高频雷达抑制冲击干扰的研究与实验
适用于所有音频应用的Jetson设备
全球首秀博世概念车展现全新出行模式
区块链网络消除信任需求的4种不同的共识机制介绍
2000年~2012年中国IC产业主要发展历程
Linux中常用的压缩和解压缩命令介绍
浅谈3D打印技术在疫情防控中的作用
Aptina推出新型MT9P006高清5MP图像传感器
西门子博途SCL:REGION:构建程序代码的步骤
高效低功耗PFM DC-DC 同步升压芯片 AP8106
接触器如何选型_接触器选型原则_接触器选型电流原则
比特币投资成黑洞,第三次“硬分叉”命运悬而未决
华为Atlas人工智能计算平台正式开启其商用和规模销售的进程
清理华为审稿人事件之后,华为又有人入选IEEE Fellow
还说iOS11没有夜间模式的 那是因为你没有操作这一步
基于CoolSiC™的高速高性能燃料电池空压机设计