本文概述
- 安装要求
- 1.下载pySSTV
- 2.从图像创建SSTV音频文件
这种传输方式最著名的格式是马丁系统。马丁系统使我们能够以四种不同的模式/速度工作。最受欢迎的版本是Martin M1, 两分钟内每帧256行。马丁系统的其他模式具有最佳质量M1的一半或一半的水平分辨率。模式M4具有最低质量和128条线路。欧洲站之间经常使用马丁M1和M2模式:
模式名称 | 转移时间 | 解析度 | 颜色顺序 | Scan line (ms) | Speed (1pm) | |||
同步 | G | 乙 | [R | |||||
马丁M1 | 114秒 | 320 X 256 | G—B—R。 | 4.862 | 146.432 | 146.432 | 146.432 | 134.394753 |
马丁M2 | 58秒 | 160 X 256 | G—B—R | 4.862 | 73.216 | 73.216 | 73.216 | 264.552598 |
马丁M3 | 57秒 | 320 X 128 | G—B—R。 | 4.862 | 146.432 | 146.432 | 146.432 | 134.394753 |
马丁M4 | 29秒 | 160 X 128 | G—B—R。 | 4.862 | 73.216 | 73.216 | 73.216 | 264.552598 |
安装要求为了使用pySSTV库, 你将需要在系统上安装python-pil库。 Python Imaging Library(PIL)为你的Python解释器添加了图像处理功能。该库支持多种文件格式, 并提供强大的图像处理和图形功能。
你可以在终端中使用以下命令将其安装在系统上:
sudo apt-get install python-pil
你还将需要安装python的六个模块。六个提供了用于包装Python 2和Python 3之间差异的简单实用程序。它旨在支持无需修改即可在Python 2和3上运行的代码库。六个文件仅包含一个Python文件, 因此可以轻松复制到项目中。你可以使用PIP进行安装, 但是如果尚未安装pip, 请首先使用以下命令进行安装:
sudo apt-get install python-pip
并提供点子后, 安装:
pip install six
【如何在Ubuntu 18.04中使用Python创建慢速扫描电视传输(SSTV)音频文件】现在, 你已经拥有pySSTV所需的库, 你将能够下载它并在终端上使用它。
1.下载pySSTV使用以下命令下载带有Git的pySSTV项目(如果尚未安装git, 请使用sudo apt-get install git安装它):
git clone https://github.com/dnet/pySSTV.git
PySSTV从PIL可以打开的任何图像(PNG, JPEG, GIF等)生成SSTV调制的WAV文件。然后, 这些WAV文件可以由连接到短波收音机的任何音频播放器播放。开发人员的主要动机是要了解SSTV的内部原理是如何工作的, 因此该库的性能远非最佳, 但结果却非常实用。该代码易于阅读, 并且仅执行了不会使代码库复杂化的优化。
有关此库的更多信息, 请访问Github上的官方存储库。
2.从图像创建SSTV音频文件在克隆的存储库中, 你将找到pysstv.py文件, 该文件基本上是该工具的代码。你可以执行此工具以从图像生成SSTV音频文件, 然后可以使用支持此类数据的特殊工具对其进行解码。该脚本支持以下格式:
- 马丁M1
- 马丁M2
- 斯科蒂S1
- 斯科蒂S2
- 机械手36
- PasokonP3
- PasokonP5
- PasokonP7
- PD90
- PD120
- PD160
- PD180
- PD240
- 机械手8BW
- 机械手24BW
- – help:显示此帮助消息并退出
- -模式:{MartinM1, MartinM2, ScottieS1, ScottieS2, Robot36, PasokonP3, PasokonP5, PasokonP7, PD90, PD120D160, PD180, PD240, Robot8BW, Robot24BW}, 默认图像模式为Martin M1
- – rate:RATE采样率(默认值:48000)
- – bits:每个样本的BITS位(默认值:16)
- – vox:在开头添加VOX音调
- – fskid:FSKID在末尾添加FSKID
- – chan:CHAN通道数(默认值:单声道)
python -m pysstv --mode MartinM1 ./path-to/input-picture.jpg ./output-audio.wav
运行该命令后, 它将生成output-audio.wav文件, 其中包含具有指定格式频率的音频。 sstv模块中的SSTV类实现与SSTV相关的基本功能, 而其他模块的类(例如灰度和彩色)对此进行了扩展。大多数实例实现以下方法:
- __init__会获取一个PIL图像, 每秒的采样数以及每个采样的位数作为参数, 但是不执行任何硬计算
- gen_freq_bits生成描述正弦波段的元组, 频率为Hz, 持续时间为ms
- gen_values生成介于-1和+1之间的样本, 并根据构造期间给出的每秒样本数执行采样
- gen_samples生成离散样本, 并根据构造期间给出的每个样本值的位数执行量化
- write_wav将整个图像写入Microsoft WAV文件
如果阅读本教程, 你也可以在Ubuntu 18.04中学习如何再次将此音频文件解码为图像。
编码愉快!
推荐阅读
- 如何在GNU Nano中为INI文件启用语法突出显示
- 在Ubuntu 18.04中无法播放MP4文件(播放该文件需要H.264(主配置文件)解码器,但尚未安装)
- 如何在Ubuntu 19.04中使用现代OpenGL使用C实现自己的Minecraft游戏克隆
- 1万字说明白Receiver Operating curve(ROC) 受试者操作特征曲线
- 超级经典的SQL练习题(MySQL版本),你还怕SQL不过关吗()
- 对话系统简介与OPPO小布助手的工程实践
- 第2章 Hive安装
- gini基尼系数,累积准确度分布,AUC(风控模型核心指标)