簡體   English   中英

在我的gstreamer管道中使用閥門進行記錄

[英]Recording with valve in my gstreamer pipeline

我的管道中的閥門有問題:

self.pipeline = gst.parse_launch(' ! '.join(['autoaudiosrc',
                                              'queue silent=false leaky=2 max-size-buffers=0 max-size-time=0 max-size-bytes=0',
                                              'audioconvert',
                                              'audioresample',
                                              'audio/x-raw-int, rate=16000, width=16, depth=16, channels=1',
                                              'tee name=t',
                                              'queue',
                                              'audioresample',
                                              'audio/x-raw-int, rate=8000',
                                              'vader name=vader auto-threshold=true',
                                              'pocketsphinx lm=%s dict=%s name=listener' % (dir_path + '/pocketsphinx/lisa.lm',dir_path + '/pocketsphinx/lisa.dic'),
                                              'fakesink dump=1 t.',
                                              'valve name=valve drop=0',
                                              'queue',
                                              'flacenc',
                                              'filesink async=0 location=' + self.recording]))

我知道這不是創建管道的最佳pythonic方式,但它是最易讀的。

將其設置為0會在我的文件中記錄麥克風流,一切正常。 但是我想默認將其刪除,並根據事件動態打開閥門(用pocketsphinx監聽關鍵字),然后再次關閉該閥門。 但這似乎不起作用:我的文件仍為0字節。

一旦Pocketsphinx收聽了關鍵字,我就可以通過以下方式啟用閥門:

self.recording_valve.set_property('drop',False)

我試圖舉一個非常簡短的例子來說明這個問題。 也許它不在這部分中,但這是我的調試引導我的地方。

要查看整個項目: https : //github.com/Seraf/LISA-CLIENT-Linux/blob/pocketsphinx/lisa.tac

調用此類: https : //github.com/Seraf/LISA-CLIENT-Linux/blob/pocketsphinx/lib/listener.py

調用此類:github /Seraf/LISA-CLIENT-Linux/blob/pocketsphinx/lib/recorder.py

謝謝你的幫助 !

看起來有點愚蠢,但是我很快就重寫了我的filesink文件,因此即使有1秒的時間循環,“ watch”命令也看不到文件中的更改。

刪除有罪的行會告訴我該文件已正確填充。

對不起,噪音。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM