Timeside:用Python編寫的可擴展音頻處理框架和服務器
Timeside是一個Python框架,可實現低水平和高級音頻分析,成像,轉碼,流和標記。它的高級API旨在在具有插件架構和可靠的可擴展後端的任何音頻或視頻資產的非常大的數據集上進行複雜的處理。
介紹
隨著在線音頻應用程序和數據集的數量的增加,對於研究人員和工程師來說,能夠在各種平台和計算音樂學和流媒體服務等各種平台和用戶酶上盡快進行原型和測試自己的算法至關重要。另一方面,內容提供商和生產商需要根據文化歷史以及音頻功能分析來增強其平台上的用戶體驗。與互聯網上發布的音樂同步種植這些元數據意味著可以輕鬆更新,縮放和部署分析和存儲系統。
從這種意義上開發了Timeside,以提出在線音頻處理服務。它提供:
- Python可以從外殼或任何其他基於Python的程序工作的核心模塊
- Web的Web服務器,其構建在核心模塊頂部的Web服務器,以便Web開發人員可以輕鬆地將遠程處理服務嵌入到自己的應用程序中。
- 用於JavaScript的SDK ,並基於OpenAPI,可以輕鬆開發消耗服務器API的第三方應用程序。
用例
- 異步音頻處理(過濾,功能分析,機器學習等)
- 縮放和安全的數據提供,處理和訪問
- 音頻插件原型製作
- 音頻可視化
- 按需通過網絡轉編碼和流式傳輸
- 增強的共享音頻播放器
- 自動分割和手動標記與音頻事件同步
特徵
- 使用Python進行異步和快速的音頻處理,
- 將音頻幀從任何音頻或視頻媒體格式解碼為numpy陣列,
- 用某些最先進的音頻提取庫分析音頻內容,例如Aubio,Yaafe和Vamp以及一些純Python處理器
- 用各種花式波形,頻譜圖和其他涼爽的圖表來可視化聲音,
- 以各種媒體格式轉碼音頻數據,並通過Web應用程序流式傳輸它們,
- 通過各種便攜式格式序列化特徵分析數據,
- 從YouTube或Deezer等Plate Form提供音頻源
- 通過REST API在網絡上對所提供或上傳的軌道進行分析和轉碼
- 通過智能高級HTML5可擴展播放器播放和互動需求,
- 帶有語義元數據的索引,標籤和註釋音頻檔案(請參閱嵌入時間嵌入的telemeta)。
- 通過任何基礎架構部署和擴展自己的音頻處理引擎
資金和支持
為了資助該項目並繼續我們的快速開發過程,我們需要您的明確支持。因此,如果您在生產中甚至在開發或實驗設置中使用時代,請告訴我們:
感謝您的幫助和支持!
消息
1.1
- 核:
- 默認情況下,請使用基於Libav的Aubio解碼器(地球上的Numpy數組轉換器的最快音頻!)
- 添加基於鞋面的分析儀和一些插件,例如吸血鬼,吸血鬼,vamptempo,vamptuning,vampspectralcentroid,vampspectralkurtosis和vampspectralslope
- 伺服器:
- 解決了許多異步處理問題:現在通過工作人員進行所有預處理,處理和後處理任務,包括從YouTube獲取源流
- 基於WebSocket添加過程監視器
- 波形自動在item.Save()上自動處理
- 使uuid真正獨特
- 重新排序模型
- 改善單位測試
1.0
- 服務器重構:
- 音頻過程在項目上運行(REST API TRACK的模型)
- 幾種工具,視圖,模型和串行化器
- REST API在OpenAPI 3規格上和自動重做的架構
- 將核心和服務器從Python 2.7移至3.7
- 將django升級為2.2,Django休息框架為3.11,芹菜至4.4
- 添加基於Aubio的解碼器
- 添加核心和服務器處理器的“版本控制和服務器進程”運行時間
- 重組所有對PIP要求的依賴性刪除CONDA使用
- 將提供商類添加為核心API組件和REST API模型
- 添加提供商插件Deezer-Preiview,Deezer-Complete和YouTube
- 改進服務器單元測試
- 在REST API上添加JWT身份驗證
- 各種錯誤修復
- 添加核心,服務器和工人記錄
0.9
- 升級所有python依賴性
- 添加鞋面,Essentia,Yaafe,天秤座,Pytorch,Tensorflow Libs和包裝器
- 添加一些分析插件(Essentia不和諧,Vamp Constant Q,Vamp Tempo,Vamp General Wrapper,Yaafe General Wrapper)
- 添加處理器參數管理
- 添加處理器繼承
- 通過巧妙的數據流改進HTML5播放器
- 改善REST API和各種連續劇
- 改善單元測試
- 各種錯誤修復
0.8
- 為即時安裝添加Docker支持。這允許現在在任何操作系統平台上時台式運行!
- 添加jupyter筆記本電腦支持,以便簡單的原型製作,實驗和共享(請參閱文檔中的示例)。
- 根據Django Rest框架,Redis和芹菜添加實驗性Web服務器和REST API。現在,由於Docker(聚類)和芹菜(多處理),這提供了具有高尺度功能的真實Web音頻處理服務器。
- 得益於Angular和wavesjs,啟動新玩家界面的開發。
- 大量清理JS文件。現在,請使用Bower獲取所有JS依賴項,如設置中列出。
- 將元數據導出到Elan註釋文件中。
- 修復並改善分析儀結果容器中的一些數據結構。
- 許多不同的錯誤。
0.7.1
- 將Django版本修復到1.6.10(與Telemeta 1.5同步)
0.7
- 代碼重構:
- 創建一個新的模塊timeside.plugins並在其中移動處理器:timeside.plugins.decoder,Analyzer,timeside.plugins.encoder,timeside.plugins.fx
- 警告:要正確管理命名空間軟件包的結構,泰晤士語主模塊現在為timeside.Core和代碼現在使用ImportimeDIDE.CORE.CORE.CORE.CORE。
- timeside.plugins現在是一個命名空間軟件包,可以自動插入泰式插件(例如,請參見timeside-diadems)。現在,這使Timeside成為真正的插件主機,是的!
- 很快就會提供一個虛擬的Timeside插件,以便於開發。
- 將DIADEMS項目合作夥伴開發的所有分析儀移動到一個新的存儲庫:Timeside-Diadems
- 許多修復了Travis-Ci的更好處理
- 添加一個DOX文件以在各種分佈中持續測試Docker建築物
有關舊新聞,請訪問:https://github.com/ircam-wam/timeside/blob/master/news.rst
文件
- 完整文檔:https://timeside.ircam.fr/docs/
- 服務器REST API:https://timeside.ircam.fr/api/docs/
- 幻燈片:https://ircam-wam.github.io/timeside-slides/#1
- 核心教程:https://timeside.ircam.fr/docs/tutorials/
- 一些筆記本:https://github.com/ircam-wam/timeside/tree/master/master/docs/ipynb
- 一些較舊的筆記本:http://mybinder.org/repo/thomasfillon/timeside-demos
- 出版品:
- https://github.com/parisson/telemeta-doc
- https://github.com/ircam-wam/timeside-papers
- 播放器UI V2:https://github.com/ircam-wam/timeside-player
- Player UI V1指南:https://github.com/ircam-wam/timeside/wiki/ui-guide
- 播放器UI V1示例:http://archives.crem-cnrs.fr/archives/items/cnrsmh_e_2004_017_001_01/
安裝
多虧了Docker,Timeside現在可以作為Docker組成的準備就緒。基於Docker的組合捆綁了一些強大的應用程序和現代框架,例如:Python,Numpy,Jupyter,Gstreamer,django,django,celery,Postgresql,Redis,rewsgi,uwsgi,uwsgi,nginx等。
首先,安裝Docker和Docker組成
然後克隆時代並開始它:
git克隆 - 恢復https://github.com/ircam-wam/timeside.git
CD時間
Docker組成-D
就是這樣!現在,請轉到:ref:`用戶界面'部分以查看如何使用它。
筆記
要獲得技術支持,請聯繫開發團隊。如果您需要在Docker映像之外使用時端,請參考基於Debian穩定係統的Dockerfile規則。我們不會在原始Docker容器之外的此典型用戶酶中提供任何形式的免費支持。
贊助商和合作夥伴
- IRCAM(法國巴黎)
- 帕里森(法國巴黎)
- CNRS:國家科學研究中心(法國)
- Huma-num:數字人文學科的大數據設備(法國CNRS)
- CREM:法國國家倫理學研究中心(法國)
- Pierre et Marie Curie大學(法國UPMC)
- ANR:Agence Nationale de la Recherche(法國)
- MNHN:博物館國家D'Histoire Naturelle(法國巴黎)
- C4DM:數字音樂中心,皇后瑪麗大學(英國倫敦)
- NYU Steinhardt:紐約大學音樂與表演藝術專業(美國紐約)
相關項目
- Telemeta:打開網絡音頻平台
- CNRS,CREM和“MuséeDeL'Homme”的聲音檔案館在法國巴黎
- ANR贊助的王冠。
- 達卡里(Dacaryh),《歷史研究》的數據科學
- 大型歷史檔案館的kamoulox在線脈
- NYU+CREM+PARISSON:完整CREM數據庫的阿拉伯音樂分析
- Wasabi:由ANR贊助的瀏覽器中的Web音頻語義匯總用於索引
- 時代玩家V2
- Timeside-SDK-JS
參考
- Aline Menin,Michel Buffa,Maroua Tikat,Benjamin Molinet,Guillaume Pellerin,Laurent Pottier,Franck Michel和Marco Winckler。 (2022年6月28日)。唱片的增量和多模式可視化:探索芥末音樂知識庫。 2022年網絡音頻會議(WAC 2022),法國戛納。 https://doi.org/10.5281/Zenodo.6767530
- Guillaume Pellerin和Paul Brossier。 (2022)。 Timeside API作為音頻處理Web服務[數據集]。 2022年網絡音頻會議(WAC 2022),法國戛納。 Zenodo。 https://doi.org/10.5281/Zenodo.6769477
- Fillon和G. Pellerin。聲音檔案管理和分析的協作網絡平台。倫敦第43網絡音頻會議論文集,第43頁。倫敦皇后大學,2017年8月。
版權
- 版權(C)2019,2023 IRCAM
- 版權(C)2006,2023 Guillaume Pellerin
- 版權(C)2022,2023 Guillaume Piccarreta
- 版權(C)2010,2022 Paul Brossier
- 版權(C)2020,2021 Romain Herbelleau
- 版權(C)2019,2020 Antoine Grandry
- 版權(C)2006,2019 Parisson SARL
- 版權(C)2013,2017 Thomas Fillon
- 版權(C)2013,2014 Maxime Lecoz
- 版權(C)2013,2014 David Doukhan
- 版權(C)2006,2010 Olivier Guilyardi
執照
TimesIDE是免費軟件:您可以根據自由軟件基金會發布的GNU Affero通用公共許可證的條款進行重新分配和/或修改它,或者(或(在您的選項上)任何以後的版本。
泰西德(Timeside)的分發是希望它將有用的,但沒有任何保證;即使沒有對特定目的的適銷性或適合性的隱含保證。有關更多詳細信息,請參見GNU Affero通用公共許可證。
閱讀許可證文件文件以獲取更多詳細信息。