0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

RK3399 Ubuntu通过Python实现录音和播放功能

触觉智能 ? 2023-11-25 08:32 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本文基于IDO-SBC3968 Ubuntu 系统通过Python脚本实现录音和播放功能。

IDO-SBC3968采用RK3399国产六核64位CPU高性能处理器,支持4KHDMI2.0显示,接口丰富,拥有千兆以太网,全协议TypeC接口,USB3.0 ,eDP 和 双通道LVDS 屏幕接口,支持4G/5G模块和WIFI蓝牙,支持6轴G-Sensor,支持Linux/Android系统,适用于高端商显,银行自助终端,工业计算机,机器人等诸多行业。

产品规格书:IDO-SBC3968 产品手册

2943521e-8b2a-11ee-9788-92fbcf53809c.jpg

2963a41a-8b2a-11ee-9788-92fbcf53809c.jpg

安装依赖库

配置前需要安装好相应的依赖库。

#apt-getupdate
#apt-getinstall python3
#apt-getinstall portaudio19-dev python-all-dev python3-all-dev
#apt-getinstall libasound-dev libportaudio2 libportaudiocpp0
#apt-getinstall python3-pip
#pip3 install pyaudio

录音脚本

在编辑脚本前需要知道使用的是哪个声卡。

可以通过“aplay -l ”获取。

#aplay-l
**** ListofPLAYBACKHardwareDevices****
card0: rockchipes8316c[rockchip,es8316-codec], device0: ff880000.i2s-ES8316HiFiES8316HiFi-0[]
Subdevices: 1/1
Subdevice#0: subdevice#0
card1: Audio[USB Audio], device0: USBAudio[USB Audio]
Subdevices: 1/1
Subdevice#0: subdevice#0

由上面的打印可知USB声卡是Card1。

编辑python 录音脚本。

#vi record.py

import pyaudio
import wave
import os

CHUNK = 44100#采样频率
FORMAT = pyaudio.paInt16
CHANNELS = 1#声卡通道
RATE = 44100
RECORD_SECONDS = 5#时长
WAVE_OUTPUT_FILENAME = "output.wav"#导出的音频文件

audio = pyaudio.PyAudio()

# start Recording
stream = audio.open(format=FORMAT, channels=CHANNELS,
rate=RATE, input=True,
input_device_index = 1,
frames_per_buffer=CHUNK)
print("recording...")
frames = []

count=0
fori in range(0, int(RATE / CHUNK * RECORD_SECONDS)):
#for i in range(0, 5):
#while count< 5:
data = stream.read(CHUNK)
frames.append(data)
# count+= 1

print("finished recording")
# stopRecording
stream.stop_stream()
stream.close()
audio.terminate()
waveFile = wave.open(WAVE_OUTPUT_FILENAME, 'wb')
waveFile.setnchannels(CHANNELS)
waveFile.setsampwidth(audio.get_sample_size(FORMAT))
waveFile.setframerate(RATE)
waveFile.writeframes(b''.join(frames))
waveFile.close()

录音

#python3 ./record.py

录音结束后我们就可以得到 output.wav 录音文件了。

播放脚本

编辑python 播放脚本。

#vi play.py

importpyaudio
importwave


CHUNK = 44100
FILENAME = './output.wav'

defplay(filename = FILENAME):
wf = wave.open(filename, 'rb')
p = pyaudio.PyAudio()
stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),
channels=wf.getnchannels(),
rate=wf.getframerate(),
output_device_index=0,
output=True)
data = wf.readframes(CHUNK)
whiledata != b'':
stream.write(data)
data = wf.readframes(CHUNK)

stream.stop_stream()
stream.close()
p.terminate()

play()

播放

#python3 ./play.py

通过以上指令,就可以播放刚录的音频文件了。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    19953

    浏览量

    237436
  • python
    +关注

    关注

    56

    文章

    4832

    浏览量

    87769
  • RK3399
    +关注

    关注

    2

    文章

    213

    浏览量

    26031
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    迅为RK3562开发板 Ubuntu系统功能测试

    迅为RK3562开发板 Ubuntu系统功能测试
    的头像 发表于 07-10 13:46 ?627次阅读
    迅为<b class='flag-5'>RK</b>3562开发板 <b class='flag-5'>Ubuntu</b>系统<b class='flag-5'>功能</b>测试

    干货分享 | RK3588 Ubuntu系统Docker容器使用指南

    前言:在瑞芯微RK3588高性能AIoT平台上运行Ubuntu系统时,Docker容器技术能极大提升开发部署效率。通过轻量级虚拟化实现环境隔离与快速迁移,本文将从零开始详解
    的头像 发表于 06-27 12:01 ?1511次阅读
    干货分享 | <b class='flag-5'>RK</b>3588 <b class='flag-5'>Ubuntu</b>系统Docker容器使用指南

    技术分享|iTOP-RK3588开发板Ubuntu20系统旋转屏幕方案

    技术分享|iTOP-RK3588开发板Ubuntu20系统旋转屏幕方案
    的头像 发表于 04-18 15:19 ?618次阅读
    技术分享|iTOP-<b class='flag-5'>RK</b>3588开发板<b class='flag-5'>Ubuntu</b>20系统旋转屏幕方案

    HZ-EVM-RK3399-技术规格说明书

    电子发烧友网站提供《HZ-EVM-RK3399-技术规格说明书.pdf》资料免费下载
    发表于 04-17 17:04 ?0次下载

    RK3399处理器:高性能多核异构计算平台

    RK3399是一款高性能的多核异构计算平台,集成了强大的CPU、GPU以及丰富的多媒体和接口功能。其独特的双Cortex-A72+四Cortex-A53大小核CPU结构,使得RK3399在处理复杂
    的头像 发表于 02-08 18:04 ?1839次阅读

    RK3399Pro处理器:高性能与AI加速的完美结合

    RK3399Pro是一款高性能处理器,专为需要强大计算能力和人工智能加速的应用场景而设计。其主要特性如下: 高性能CPU核心:搭载双核Cortex-A72处理器,主频高达1.8GHz,以及四核
    的头像 发表于 02-07 18:11 ?1013次阅读

    高清电视盒子方案分享,红外遥控适配过程全解析

    应用背景 随着红外线设备的应用日益广泛,例如遥控器和红外传感器等。而RK3399作为一款高性能处理器,广泛应用于电视盒子等智能终端。通过将红外遥控功能RK3399 电视盒子结合,用
    的头像 发表于 12-17 10:46 ?1310次阅读
    高清电视盒子方案分享,红外遥控适配过程全解析

    RK3588核心板多媒体功能一览

    (正面)一、播放/录音测试1.1HDMI屏播放声音将HDMI屏与EVM-RK3588底板的HDMITX进行连接,使用如下指令播放音频:$gs
    的头像 发表于 12-12 08:31 ?2095次阅读
    <b class='flag-5'>RK</b>3588核心板多媒体<b class='flag-5'>功能</b>一览

    Banana Pi BPi-M5 pro 瑞芯微RK3576开发板评测

    Banana Pi BPi-M5 pro 是一款新型号,采用经过改进的传奇 RK3399(现称为 RK3576)。通过添加两个强大的核心,用新的 Bifrost 架构和最强大的 6 TOPS
    的头像 发表于 12-03 17:51 ?2182次阅读
    Banana Pi BPi-M5 pro 瑞芯微<b class='flag-5'>RK</b>3576开发板评测

    RK3576单板发布倒计时:RK3399RK3576对比

    好多人说RK3576是RK3399的升级版,某种程度上也可以这么说,RK3576在强大的多媒体功能的基础上,性能和接口都进行了升级 一、工艺 性能
    的头像 发表于 12-03 16:59 ?1451次阅读
    <b class='flag-5'>RK</b>3576单板发布倒计时:<b class='flag-5'>RK3399</b>与<b class='flag-5'>RK</b>3576对比

    Air201资产定位模组LuatOS:录音播放录音功能的操作方法

    一直有小伙伴们问,迷你小巧的合宙Air201虽然有很多优点,超低功耗、精准定位,那么它是否支持录音播放录音功能
    的头像 发表于 10-16 16:22 ?587次阅读
    Air201资产定位模组LuatOS:<b class='flag-5'>录音</b>和<b class='flag-5'>播放</b><b class='flag-5'>录音</b><b class='flag-5'>功能</b>的操作方法

    瑞芯微RK3399开发板Android7.1修改网络优先级方法,触觉智能SBC3968开发板演示

    本文介绍Android7.1修改网络优先级方法,基于触觉智能SBC3968主板,搭载瑞芯微RK3399芯片,底板具备千兆网口、USB、HDMI、TYPE-C、音频等接口。可适用于工业主机、物联网设备、医疗健康设备、广告机、互动自助终端、教学实验平台、显示控制、车载安防和人脸识别等多个领域。
    的头像 发表于 10-09 11:37 ?680次阅读
    瑞芯微<b class='flag-5'>RK3399</b>开发板Android7.1修改网络优先级方法,触觉智能SBC3968开发板演示

    ARK3399 USB2.0 PC摄像头控制器规格书

    电子发烧友网站提供《ARK3399 USB2.0 PC摄像头控制器规格书.pdf》资料免费下载
    发表于 09-30 14:43 ?4次下载

    你要的录音&amp;播放录音功能,直接用!Air201资产定位模组LuatOS快速入门

    ? 超低功耗、精准定位、快速量产——迷你小巧的合宙Air201,正给越来越多的行业客户带来高效开发体验。 此前有小伙伴问:是否支持录音播放录音功能? 高集成化设计的Air201自带了
    的头像 发表于 09-27 07:06 ?650次阅读
    你要的<b class='flag-5'>录音</b>&amp;<b class='flag-5'>播放</b><b class='flag-5'>录音</b><b class='flag-5'>功能</b>,直接用!Air201资产定位模组LuatOS快速入门

    NVF04M录音芯片在宠物喂食器的应用:录音播放功能,内置SPI闪存

    喂食器中的作用主要是提供语音提示和录音播放功能,以增强用户体验和宠物的幸福感。?NVF04M录音芯片是一款内置SPI闪存的芯片,无需外挂存储器,能够减少外围电路和
    的头像 发表于 08-30 12:05 ?797次阅读
    NVF04M<b class='flag-5'>录音</b>芯片在宠物喂食器的应用:<b class='flag-5'>录音</b><b class='flag-5'>播放</b><b class='flag-5'>功能</b>,内置SPI闪存