萨拉瓦蒂 - 一个强大、多通道音频录制、传输和存储系统
项目描述
萨拉瓦蒂
关于
萨拉瓦蒂是一个强大、多通道音频录制、传输和存储系统。该系统旨在灵活记录环境监控系统中的音频信号。
萨拉瓦蒂由来自不同领域的独立科学社区共同开发。欢迎您加入我们的努力。
词源
萨拉瓦蒂是印度教知识、音乐、艺术、智慧和学习的女神。
技术
该软件基于GStreamer和GStreamer Python绑定,底层使用优秀的PyGObject。它旨在在单板计算机(SBC)系统以及更大型的机器上运行。
状态
该软件已在Python 3.7-3.9,GStreamer 1.10.4,1.14.4,1.16.2和1.18.4,Linux(Debian 10 buster,Debian 11 bullseye,Linux Mint 20.2)和macOS(Catalina 10.15.7)上成功测试。
设置
本部分文档涵盖了Saraswati的基本安装。使用任何软件包的第一步是正确安装它。请仔细阅读本节。
当希望在生产环境中自主运行Saraswati时,请考虑阅读有关在生产中运行Saraswati的文档。
安装必备条件
由于Saraswati基于GStreamer和可选的ALSA,让我们安装相关软件包。
基于Debian的系统
sudo apt-get update sudo apt-get install --yes libgstreamer1.0 gstreamer1.0-tools gstreamer1.0-alsa gstreamer1.0-plugins-base gstreamer1.0-plugins-good sudo apt-get install --yes python3 python3-pip python3-gst-1.0 python3-gi python3-tz sudo apt-get install --yes alsa-utils mkvtoolnix flac
macOS系统
brew install gstreamer gst-python gst-libav gst-plugins-base gst-plugins-good brew install mkvtoolnix flac
配置系统
使用NTP同步系统时间,这对于适当的时标很重要
sudo timedatectl set-ntp true
安装Saraswati
从PyPI安装saraswati软件包
pip install saraswati
为了快速验证安装,调用
saraswati record --channel="testdrive source=autoaudiosrc"
用法
本部分文档涵盖如何交互式运行Saraswati。请仔细阅读本节。
当希望在生产环境中自主运行Saraswati时,请考虑阅读有关在生产中运行Saraswati的文档。
录制音频
saraswati record是
从GStreamer音频源元素中获取音频的实现,
通过flacenc对音频进行编码,使用FLAC无损音频编码器,
最后使用splitmuxsink(一个将输入流多路复用到多个时间或大小限制的文件的GStreamer组件)存储
每个音频片段都将使用ISO8601-like格式的时间戳,使用+0000的合格UTC偏移量进行时间戳。
要了解命令行语法,请调用saraswati --help或saraswati record --help。
上传音频
当给出--upload=选项时,Saraswati将尝试将它的缓存目录上传到rsync目标。默认情况下,它每5分钟执行此操作。
请注意,将使用--remove-source-files选项调用rsync。因此,在成功上传后,本地机器上的缓存文件将被清除。
示例
调用
saraswati record --channel="testdrive source=autoaudiosrc"
这将产生每块5分钟的音频片段
recording_testdrive_20210621T155817+0000_0000.mka recording_testdrive_20210621T160317+0000_0001.mka recording_testdrive_20210621T160817+0000_0002.mka recording_testdrive_20210621T161317+0000_0003.mka recording_testdrive_20210621T161817+0000_0004.mka
显示嵌入到Matroska容器文件中的段元数据信息
mkvinfo recording_testdrive_20210620T122642+0000_0065.mka | grep -E 'Codec|Date|duration' | + Date: Sun Jun 20 12:26:42 2021 UTC | + Default duration: 00:00:00.104489796 (9.570 frames/fields per second for a video track) | + Codec ID: A_FLAC
提取音频轨道
mkvextract recording_testdrive_20210621T155817+0000_0000.mka tracks 0:audio_20210621T155817.flac flac --decode audio_20210621T155817.flac file recording_testdrive_20210621T155817+0000_0000.mka Matroska data file audio_20210621T155817.flac FLAC audio bitstream data, 16 bit, mono, 48 kHz, length unknown file audio_20210621T155817.wav RIFF (little-endian) data, WAVE audio, Microsoft PCM, 16 bit, mono 48000 Hz
项目信息
背景
此软件是为“蜂观察者”(BOB)项目开发的,该项目是由不伦瑞克大学的认知神经信息学小组和独立研发项目Hiveeyes的人共同发起的联合努力。另请参阅
详细信息
“Saraswati”项目采用GNU AGPL许可证发布。其源代码位于GitHub,Python包发布在PyPI上。您还可以查看文档。
如果您想贡献力量,我们非常欢迎!花些时间四处看看,找到一个错误、设计问题或拼写错误,然后向我们发送pull请求或创建一个issue。
感谢您的努力,我们非常感激任何帮助或反馈。
代码许可证
代码遵循GNU AGPL许可证。有关详细信息,请参阅LICENSE文件。
祝您玩得开心!
项目详情
saraswati-0.6.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2fc5be693894b320f06609ed48a49f3b560f8afcb2988cb3ede77a9452acff43 |
|
MD5 | 7d25f7ab8f0075b2a541b7beb484a2b9 |
|
BLAKE2b-256 | 627d1fd6de905a5a2780a538339ad7f9026a796986d4364e977f8ffdb7f9e8d1 |