【技术分享】RK3399Ubuntu通过Python实现录音和播放功能
- 其他
- 2025-08-11 20:36:01

本文基于IDO-SBC3968 Ubuntu 系统通过Python脚本实现录音和播放功能。
IDO-SBC3968采用RK3399国产六核64位CPU高性能处理器,支持4K HDMI2.0显示,接口丰富,拥有千兆以太网,全协议TypeC接口,USB3.0 ,eDP 和 双通道LVDS 屏幕接口,支持4G/5G模块和WIFI蓝牙,支持6轴G-Sensor,支持Linux/Android系统,适用于高端商显,银行自助终端,工业计算机,机器人等诸多行业。
产品规格书可查看深圳触觉智能官网产品中心
安装依赖库
配置前需要安装好相应的依赖库。
#apt-get update #apt-get install python3 #apt-get install portaudio19-dev python-all-dev python3-all-dev #apt-get install libasound-dev libportaudio2 libportaudiocpp0 #apt-get install python3-pip #pip3 install pyaudio录音脚本
在编辑脚本前需要知道使用的是哪个声卡。
可以通过“aplay -l ”获取。
#aplay -l **** List of PLAYBACK Hardware Devices **** card 0: rockchipes8316c [rockchip,es8316-codec], device 0: ff880000.i2s-ES8316 HiFi ES8316 HiFi-0 [] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: Audio [USB Audio], device 0: USB Audio [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 for i 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") # stop Recording 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 import pyaudio import wave CHUNK = 44100 FILENAME = './output.wav' def play(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) while data != b'': stream.write(data) data = wf.readframes(CHUNK) stream.stop_stream() stream.close() p.terminate() play()播放
#python3 ./play.py通过以上指令,就可以播放刚录的音频文件了。
【技术分享】RK3399Ubuntu通过Python实现录音和播放功能由讯客互联其他栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“【技术分享】RK3399Ubuntu通过Python实现录音和播放功能”