0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

RK3399 Ubuntu通過Python實(shí)現(xiàn)錄音和播放功能

觸覺智能 ? 2023-11-25 08:32 ? 次閱讀

本文基于IDO-SBC3968 Ubuntu 系統(tǒng)通過Python腳本實(shí)現(xiàn)錄音和播放功能。

IDO-SBC3968采用RK3399國產(chǎn)六核64位CPU高性能處理器,支持4KHDMI2.0顯示,接口豐富,擁有千兆以太網(wǎng),全協(xié)議TypeC接口,USB3.0 ,eDP 和 雙通道LVDS 屏幕接口,支持4G/5G模塊和WIFI藍(lán)牙,支持6軸G-Sensor,支持Linux/Android系統(tǒng),適用于高端商顯,銀行自助終端,工業(yè)計(jì)算機(jī),機(jī)器人等諸多行業(yè)。

產(chǎn)品規(guī)格書:IDO-SBC3968 產(chǎn)品手冊

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

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

安裝依賴庫

配置前需要安裝好相應(yīng)的依賴庫。

#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

錄音腳本

在編輯腳本前需要知道使用的是哪個(gè)聲卡。

可以通過“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#時(shí)長
WAVE_OUTPUT_FILENAME = "output.wav"#導(dǎo)出的音頻文件

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

錄音結(jié)束后我們就可以得到 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

通過以上指令,就可以播放剛錄的音頻文件了。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    19100

    瀏覽量

    228814
  • python
    +關(guān)注

    關(guān)注

    55

    文章

    4767

    瀏覽量

    84375
  • RK3399
    +關(guān)注

    關(guān)注

    2

    文章

    211

    瀏覽量

    24734
收藏 人收藏

    評論

    相關(guān)推薦

    Air201資產(chǎn)定位模組LuatOS:錄音播放錄音功能的操作方法

    一直有小伙伴們問,迷你小巧的合宙Air201雖然有很多優(yōu)點(diǎn),超低功耗、精準(zhǔn)定位,那么它是否支持錄音、播放錄音功能?
    的頭像 發(fā)表于 10-16 16:22 ?118次閱讀
    Air201資產(chǎn)定位模組LuatOS:<b class='flag-5'>錄音</b>和<b class='flag-5'>播放</b><b class='flag-5'>錄音</b><b class='flag-5'>功能</b>的操作方法

    瑞芯微RK3399開發(fā)板Android7.1修改網(wǎng)絡(luò)優(yōu)先級(jí)方法,觸覺智能SBC3968開發(fā)板演示

    本文介紹Android7.1修改網(wǎng)絡(luò)優(yōu)先級(jí)方法,基于觸覺智能SBC3968主板,搭載瑞芯微RK3399芯片,底板具備千兆網(wǎng)口、USB、HDMI、TYPE-C、音頻等接口??蛇m用于工業(yè)主機(jī)、物聯(lián)網(wǎng)設(shè)備、醫(yī)療健康設(shè)備、廣告機(jī)、互動(dòng)自助終端、教學(xué)實(shí)驗(yàn)平臺(tái)、顯示控制、車載安防和人臉識(shí)別等多個(gè)領(lǐng)域。
    的頭像 發(fā)表于 10-09 11:37 ?164次閱讀
    瑞芯微<b class='flag-5'>RK3399</b>開發(fā)板Android7.1修改網(wǎng)絡(luò)優(yōu)先級(jí)方法,觸覺智能SBC3968開發(fā)板演示

    你要的錄音&amp;播放錄音功能,直接用!Air201資產(chǎn)定位模組LuatOS快速入門

    ? 超低功耗、精準(zhǔn)定位、快速量產(chǎn)——迷你小巧的合宙Air201,正給越來越多的行業(yè)客戶帶來高效開發(fā)體驗(yàn)。 此前有小伙伴問:是否支持錄音、播放錄音功能? 高集成化設(shè)計(jì)的Air201自帶了
    的頭像 發(fā)表于 09-27 07:06 ?210次閱讀
    你要的<b class='flag-5'>錄音</b>&amp;<b class='flag-5'>播放</b><b class='flag-5'>錄音</b><b class='flag-5'>功能</b>,直接用!Air201資產(chǎn)定位模組LuatOS快速入門

    NVF04M錄音芯片在寵物喂食器的應(yīng)用:錄音播放功能,內(nèi)置SPI閃存

    喂食器中的作用主要是提供語音提示和錄音播放功能,以增強(qiáng)用戶體驗(yàn)和寵物的幸福感。?NVF04M錄音芯片是一款內(nèi)置SPI閃存的芯片,無需外掛存儲(chǔ)器,能夠減少外圍電路和
    的頭像 發(fā)表于 08-30 12:05 ?286次閱讀
    NVF04M<b class='flag-5'>錄音</b>芯片在寵物喂食器的應(yīng)用:<b class='flag-5'>錄音</b><b class='flag-5'>播放</b><b class='flag-5'>功能</b>,內(nèi)置SPI閃存

    Firefly-RK3399產(chǎn)品規(guī)格書

    Firefly-RK3399產(chǎn)品規(guī)格書
    發(fā)表于 07-16 10:50 ?3次下載

    AIoT設(shè)備新一代高性能處理器瑞芯微RK3576,東勝物聯(lián)RK3588等核心板定制開發(fā)

    作為瑞芯微的合作伙伴,AIoT設(shè)備供應(yīng)商?hào)|勝物聯(lián)可向廣大客戶提供基于RK3588/RK3588M/RK3568/RK3568J/RK3399
    的頭像 發(fā)表于 06-17 14:20 ?1312次閱讀
    AIoT設(shè)備新一代高性能處理器瑞芯微<b class='flag-5'>RK</b>3576,東勝物聯(lián)<b class='flag-5'>RK</b>3588等核心板定制開發(fā)

    ARM架構(gòu):鴻道Intewell操作系統(tǒng)芯生態(tài)之·瑞芯微RK3399

    通過瑞芯微RK3399芯片與鴻道Intewell操作系統(tǒng)的結(jié)合,可以構(gòu)建出高性能、靈活多樣的嵌入式系統(tǒng)解決方案,滿足各類復(fù)雜應(yīng)用的需求。
    的頭像 發(fā)表于 06-03 17:58 ?594次閱讀

    慧視Viztra-ME025圖像處理板 中端性能的RK3399Pro板卡

    的Viztra-ME025圖像處理板就十分合適。Viztra-ME025圖像處理板采用國內(nèi)智能AI芯片RK3399pro,植入公司自主研發(fā)的智能圖像算法,基于輸入的可見光
    的頭像 發(fā)表于 06-01 08:29 ?365次閱讀
    慧視Viztra-ME025圖像處理板  中端性能的<b class='flag-5'>RK3399</b>Pro板卡

    HarmonyOS實(shí)戰(zhàn)開發(fā)-如何實(shí)現(xiàn)音頻低時(shí)延錄制和播放,AudioVivid音樂播放的相關(guān)功能

    介紹 本示例主要展示了音頻低時(shí)延錄制和播放,AudioVivid音樂播放的相關(guān)功能: 低時(shí)延錄制。 低時(shí)延播放。 AudioVivid播放.
    發(fā)表于 05-11 20:26

    【OpenHarmony鴻蒙實(shí)戰(zhàn)】在RK3399開發(fā)板實(shí)現(xiàn)智能門禁人臉識(shí)別

    基于RK3399開發(fā)板,使用OpenHarmony3.0-LTS開發(fā)的應(yīng)用。通過定時(shí)獲取攝像頭數(shù)據(jù),實(shí)現(xiàn)人臉識(shí)別比對等功能。
    的頭像 發(fā)表于 03-20 17:38 ?1131次閱讀
    【OpenHarmony鴻蒙實(shí)戰(zhàn)】在<b class='flag-5'>RK3399</b>開發(fā)板<b class='flag-5'>實(shí)現(xiàn)</b>智能門禁人臉識(shí)別

    rk3288移植ubuntu

    rk3288是一款由瑞芯微推出的高性能ARM處理器,被廣泛應(yīng)用于嵌入式設(shè)備和單板計(jì)算機(jī)中。本文將介紹如何將Ubuntu操作系統(tǒng)移植到rk3288平臺(tái)上。 移植Ubuntu操作系統(tǒng)到
    的頭像 發(fā)表于 01-09 10:59 ?1741次閱讀

    rk3399移植Linux內(nèi)核

    RK3399是一款由中國廠商瑞芯微推出的高性能處理器芯片,被廣泛用于嵌入式系統(tǒng)開發(fā)。在進(jìn)行應(yīng)用程序開發(fā)之前,我們需要將Linux內(nèi)核移植到RK3399上,以支持硬件的驅(qū)動(dòng)和功能。本文將詳細(xì)介紹如何將
    的頭像 發(fā)表于 01-08 09:56 ?1005次閱讀

    RK3399開發(fā)版正常刷機(jī)成功后 通電開機(jī)黑屏 HDMI無圖像輸出

    我有個(gè)RK3399的開發(fā)版正常刷入安卓系統(tǒng)后通電開機(jī)黑屏 屏幕沒圖像不知道系統(tǒng)是否正常啟動(dòng)插網(wǎng)線指示燈亮開機(jī)電視HDMI也能識(shí)別但就是黑屏請問各大佬是怎么回事???麻煩指點(diǎn)下謝謝
    發(fā)表于 01-04 08:01

    RK3399硬件設(shè)計(jì)指南

    RK3399是一款基于ARM架構(gòu)的高性能處理器,常用于嵌入式系統(tǒng)和單板計(jì)算機(jī)。在進(jìn)行RK3399硬件設(shè)計(jì)時(shí),需要考慮多個(gè)方面,包括電源、封裝、信號(hào)傳輸、外設(shè)接口等。本文將詳細(xì)介紹RK3399硬件
    的頭像 發(fā)表于 12-28 10:59 ?1424次閱讀

    RK3399芯片在消費(fèi)產(chǎn)品中的應(yīng)用及PCB設(shè)計(jì)關(guān)鍵注意事項(xiàng)

    RK3399芯片在消費(fèi)產(chǎn)品中的應(yīng)用逐漸成為一種趨勢。作為一款強(qiáng)大的嵌入式處理器,RK3399廣泛用于智能電視、智能音響、智能攝像頭等消費(fèi)電子產(chǎn)品。在將RK3399芯片應(yīng)用于這些產(chǎn)品時(shí),PCB設(shè)計(jì)顯得
    的頭像 發(fā)表于 11-17 07:40 ?820次閱讀
    <b class='flag-5'>RK3399</b>芯片在消費(fèi)產(chǎn)品中的應(yīng)用及PCB設(shè)計(jì)關(guān)鍵注意事項(xiàng)