題:
適用於Android的專用錄音機
RockPaperLz- Mask it or Casket
2015-08-23 23:40:29 UTC
view on stackexchange narkive permalink

我需要記錄機械設備發出的聲音。這些聲音每隔幾個小時隨機出現一次,僅持續約1-3秒。

要完成此任務,我需要一個錄音機,該錄音機不斷運行,但僅在有聲音時才錄音。有很多錄音機是“語音激活的”,但是我還沒有找到任何可以使用的錄音機,因為當它們激活時,我要捕獲的聲音已經結束了。

為此,我需要一個可以連續錄製但只保留“聲音激活減去x秒”中的音頻的應用。 x>

要求

  1. 與Android KitKat兼容
  2. 可以在以下位置運行:至少4小時無人值守
  3. ol>

    首選項(不需要)

    1. 免費(免費)
    2. 操作期間電池電量低
    3. 可以無人照管至少運行12個小時(或更長時間)
    4. ol>

      更新:恭喜!我已將賞金授予@ 4mohit他/她的答案。我仍在進行測試以查看它是否可以可靠地用於我的任務。也要感謝Steve Barnes的創造性答案。

      由於我仍處於測試階段,因此我願意接受更多答案。隨著測試的進行,我將發布更多更新。

三 答案:
Mohit Garg
2015-10-02 02:35:11 UTC
view on stackexchange narkive permalink

如果您正在尋找一種可以連續錄製音頻並跳過靜音並且可以在無人看管的情況下運行4個小時的錄音機,那麼我認為您應該考慮使用 智能錄音機 一個>。它滿足您的要求,

  • 免費提供
  • 可以運行12小時
  • 即使關閉顯示,也可以在後台進行錄製(使確定您的設備上有足夠的磁盤空間)
  • 可以從8kHz(電話質量)到44.1kHz(CD質量)進行錄音

摘自Google Play的說明存儲:

智能語音記錄器

Screenshot of Smart Voice Recorder, currently recording

智能語音記錄器旨在提供高質量的長時間聲音實時跳過相對安靜的狀態進行錄製。例如,您可以將其用於記錄夜間睡眠談話(或打nor :)),商務會議,保姆的日常活動,唱歌或彈吉他的方式等等。這是夢幻般的!您可以將其用作具有簡單而美觀的用戶界面的常規語音記錄器。試試看! :)

注意:此應用不是通話記錄器。在某些手機上可能無法正常工作。用戶界面尚未針對平板電腦進行優化。無法通過text / sms / mms發送這種格式的記錄。

功能:

  • 跳過靜音模式(測試版)的自動和手動靈敏度控制
  • 實時音頻頻譜分析儀
  • 具有可調整採樣率(8-44 kHz)的wave / pcm編碼
  • 在後台錄製(即使顯示關閉)
  • 麥克風增益校準工具
  • 保存/暫停/恢復/取消錄音過程控制
  • 存儲和目錄更改(默認值:sdcard / SmartVoiceRecorder)
  • 剩餘錄音時間顯示在主屏幕上,僅受存儲空間的限制(並且技術限制為每個文件2GB)
  • 易於使用的錄音列表
  • 通過電子郵件,whatsapp發送/共享錄音,保管箱等。
  • 一鍵將錄音設置為鈴聲,警報或通知

此應用所需的權限為:

  • 互聯網訪問權限(用於顯示廣告)和一些統計信息收集)
  • 寫入外部存儲(以存儲記錄)
  • 記錄音頻
  • 喚醒鎖(以防止設備進入睡眠狀態)
  • 寫入設置(用於設置默認系統鈴聲/通知/警報的功能)
  • 計費(用於應用內選項以關閉廣告)
謝謝你的建議。不幸的是,幾乎所有這些錄音機都會錯過錄音的前250ms至1s,因此不適用於該應用程序。這是因為直到*之後*他們檢測到足夠的音頻量之後才真正開始錄製。您知道這個特定的應用程序是否可以用於指定目的?
是的,它肯定可以正常工作,而且沒有語音激活,因此可以長時間錄製聲音
它可以消除錄音中的所有空白區域。此外,它還具有現場音頻頻譜分析儀
恭喜!我已將這個獎勵授予@4mohit。
Steve Barnes
2015-10-02 11:50:49 UTC
view on stackexchange narkive permalink

如果您可以使用筆記本電腦而不是手機,則可以使用 python + pyaudio進行操作。記錄示例如下:

 “”“ PyAudio示例:記錄幾秒鐘的音頻並保存到WAVE文件。”“” import pyaudioimport waveCHUNK = 1024FORMAT = pyaudio.paInt16CHANNELS = 2RATE = 44100RECORD_SECONDS = 5WAVE_OUTPUT_FILENAME =“ output.wav” p = pyaudio.PyAudio()stream = p.open(格式= FORMAT,通道= CHANNELS,速率= RATE,輸入= True,frames_per_buffer = CHUNK)print(“ *錄製”)幀= []對於範圍內的i(0,int(RATE / CHUNK * RECORD_SECONDS)):data = stream.read(CHUNK)幀。append(data)print(“ *完成錄製”)stream.stop_stream()stream.close ()p.terminate()wf = wave.open(WAVE_OUTPUT_FILENAME,'wb')wf.setnchannels(CHANNELS)wf.setsampwidth(p.get_sample_size(FORMAT))wf.setframerate(RATE)wf.writeframes(b''。 join(frames))wf.close() 

但是您可以很容易地對其進行修改,以檢查聲音水平是否超過了給定的閾值,以及是否超過了該閾值來記錄當前的聲音幀到以時間&日期命名的文件。

確定聲音水平是否超過給定閾值應該很簡單:

 大聲= max([[max(chunk)對於幀中的塊]]) >閾值:#保存您的框架 

,但是我會考慮使用 dqueue 來存儲您的框架,一旦達到框架的長度,請從一端,然後推到另一端,如果要錄製,請保存該塊,否則彈出並丟棄。然後,您可以在獲取每個塊時僅檢查該塊的最大值,如果超過閾值,則將計數器設置為幀大小加上所需的溢出量,如果當前沒有打開的wave文件,請使用基於名稱的文件打開一個在時間上,如果沒有減1的計數器(如果計數器超過0並寫入文件),則在計數器達到0時關閉文件。

  • 免費
  • Android 我認為pyaudio尚未移植到android,所以沒有
  • 幀的大小將決定錄製聲音之前的時間。您還可以按選定的時間將聲音的末尾溢出。
  • 文件名中的時間戳可以讓您查看聲音的出現時間。

Python也可以像此博客中一樣用於繪製和分析結果文件。

非常好。這是一個隨時可用的腳本,還是您自己編寫了此腳本?
該示例腳本隨時可用-您需要進行一些微調以獲取所需的內容,但是您應該能夠很容易地做到這一點。
您可能還會對http://zulko.github.io/blog/2014/07/04/automatic-soccer-highlights-compilations-with-python/感興趣,該網站使用類似的機制來識別足球比賽視頻的重要部分。
感謝史蒂夫的創意!
user18449
2015-10-03 13:26:01 UTC
view on stackexchange narkive permalink

只需使用自動錄音機,它就可以滿足您的所有需求,包括有噪音時的自動錄音。

pic

該應用沒有更新超過2.5年。它仍然可以在Kitkat上可靠地工作(尤其是考慮到SD卡的東西)嗎?它是否符合所有其他要求,例如電池電量低(根據您的經驗/信息有多低)?是什麼使它值得推薦(最好是個人經驗)?請[閱讀有關高質量答案的討論](http://meta.softwarerecs.stackexchange.com/q/356/185),看看是否可以改善您的帖子。謝謝!


該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...