測試pyaudio抓取音頻,
import pyaudio
import wave
FORMAT = pyaudio.paInt16
CHANNELS = 6
RATE = 8000 #44100
RECORD_SECONDS = 1.8
WAVE_OUTPUT_FILENAME = “file.wav”
chunk = 3600
audio = pyaudio.PyAudio()
stream = audio.open(format = FORMAT,
channels = CHANNELS,
rate = RATE,
input = True,
#input_device_index = SEL_INPUT_DEVICE,
frames_per_buffer = chunk)
結果出現
[92845.081231] clk_pdm_frac parent_rate(589823999) is low than rate(40960000)*20, fractional div is not allowed
請問:
- 怎麼解決?
- 如何讀寫寄存器?
飞神 发表于 2019-3-26 14:42
试一下其他采样率
你要读写什么寄存器
我想要調整pdm clk相關寄存器去解決這個問題.
- 參考Rockchip Audio开发指南: cat /sys/kernel/debug/clk/clk_summary只能看到clk相關寄存器值, 但要如何寫值到寄存器卻沒說.
- RK3308_VAD_寄存器配置_v1.1.pdf有說明如何讀寫VAD寄存器值, 但clk目錄卻沒有reg子目錄, 因此無法使用類似方法寫入clk相關寄存器的值.
請協助
飞神 发表于 2019-3-28 09:30
其他频率也没问题啊,频率大于16000时,录音需要加上这些参数。http://wiki.t-firefly.com/ROC-RK3308-CC/f …
那是用arecord可以, 用pyaudio就有問題, 但是arecord沒法放在python裡面, 所以才想調適寄存器看看
我觉得既然arecord可以,那么肯定不是底层问题,是否排查下pyaudio。
飞神 发表于 2019-3-28 16:18
我觉得既然arecord可以,那么肯定不是底层问题,是否排查下pyaudio。
pyaudio抓6麥, 存檔播放是沒問題.
只是聲音有點頓挫, 因此想解決[92845.081231] clk_pdm_frac parent_rate(589823999) is low than rate(40960000)*20, fractional div is not allowed這個問題, 看看會不會改善.
我也会遇到过这个时钟打印问题,不过暂时还没有找到问题点,日后我解决了该问题再分享出来。
我也遇到pyaudio存檔聲音有點頓挫, [92845.081231] clk_pdm_frac parent_rate(589823999) is low than rate(40960000)*20, fractional div is not allowed 的問題 , 請問有解了嗎?