本文概述
在以前的教程中, 我们写过关于如何从图像创建SSTV音频文件的信息, 因此你可以轻松地在音频频率内传输图像, 这是非常有趣的事情。但是, 找到一种解码此类音频并将其重新转换为图像并使用某些程序的方法相当复杂。尽管此过程可能并非易事, 但可以使用QSSTV应用程序在Linux平台中完成。
在本文中, 我们将向你展示如何在Ubuntu Desktop 18.04中使用QSSTV从多种格式解码SSTV音频文件。
1.安装QMake
QSSTV已在Qt 5下进行开发和测试。在较旧的Qt版本中不再维护它。 Qt是用于台式机, 嵌入式和移动设备的跨平台应用程序开发框架。支持的平台包括Linux, OS X, Windows, VxWorks, QNX, Android, iOS, BlackBerry, Sailfish OS等。
为了从源代码构建QSSTV, 你将需要安装所有必需的库以防止任何构建失败, 可以使用以下命令安装Ubuntu中的所有软件包:
# A. Install all packages in a single command
sudo apt-get install qt5-default libopenjp2-7-dev libpulse-dev libv4l-dev libasound2-dev libgtk-3-dev libfftw3-dev
或者, 如果你希望按软件包安装软件包:
# B. Or install one package at time
sudo apt-get install qt5-default
sudo apt-get install libopenjp2-7-dev
sudo apt-get install libpulse-dev
sudo apt-get install libv4l-dev
sudo apt-get install libasound2-dev
sudo apt-get install libgtk-3-dev
sudo apt-get install libfftw3-dev
安装这些软件包之后, 你可以继续安装其他组件。
2.安装Hamlib
你将需要在系统上安装Hamlib才能正常运行QSSTV, 该项目的目的是提供稳定, 灵活的共享库, 以加快业余无线电设备控制应用程序的开发。
许多业余无线电收发器都带有允许软件控制无线电的串行接口。该项目将努力提供共享库, 以大大简化应用程序程序员与无线电设备和其他可控设备(例如旋转器, 开关等)的交互。要在系统上安装hamlib, 只需在终端上运行以下命令:
sudo apt-get install hamlib-dev
有关Hamlib的更多信息, 请访问Github上的官方存储库。
3.安装pavucontrol
为了管理音频输出源, 你需要在系统中使用Pavucontrol。 PulseAudio是用于POSIX OS的声音系统, 这意味着它是你的声音应用程序的代理。它允许你在声音数据在应用程序和硬件之间传递时对其进行高级操作。 PulseAudio提供了图形界面来处理音频设备, 即pavucontrol。你可以使用以下命令安装此工具:
sudo apt-get install pavucontrol
安装后, 你将可以从命令行键入pavucontrol打开此程序。
3.下载QSSTV
QSSTV是用于接收和发送SSTV和HAMDRM(有时称为DSSTV)的程序。它与大多数MMSSTV和EasyPal兼容。幸运的是, 我们不需要从源代码构建此程序包, 因为在Ubuntu的默认存储库中有一个可接受的程序版本。继续使用以下步骤安装该工具:
sudo apt-get install qsstv
这将安装一个程序, 你可以从终端中的命令行输入启动:
qsstv
该窗口将类似于:
在配置QSSTV从何处接收输出之后, 稍后将使用此应用程序将音频文件解码为图像。有关QSSTV的更多信息, 请访问此处的官方网页。
4.配置QSSTV
首先, 你需要加载一个名为” module-null-sink”的PulseAudio模块。要在需要时手动加载它, 请在Shell屏幕上运行以下命令, 我们将其命名为virtual-cable:
pactl load-module module-null-sink sink_name=virtual-cable
如果成功创建, 此命令将在终端中打印其pactl模块ID。如果没有报告错误, 则可以忽略pactl打印的数字。尽管可以从命令行对Pulseaudio进行最好的调整, 但我发现pavucontrol GUI非常方便并且可以实时保存。运行为:
pavucontrol
启动应用程序后, 转到”输出设备”选项卡, 以验证你是否具有空输出设备(运行pactl命令后可用):
验证系统中是否存在空输出后, 启动QSSTV(在上一步中构建), 然后依次转到”选项”, “配置”并打开”声音”选项卡。在此窗口中, 你需要确保已选择PulseAudio接口, 而不是其他任何接口:
保存更改后, 再次返回到pavucontrol窗口。如你所知, 在配置完本教程之后, QSSTV需要记录系统中播放的某些文件中的音频, 因此你需要指定QSSTV应该从Null输出中捕获音频:
保存此配置后, 我们将能够从命令行播放带有SSTV数据的音频文件, 该文件将由QSSTV程序轻松解码。
5.解码和音频文件
你可以使用paplay在命令行中使用SSTV数据播放音频文件(默认情况下在Ubuntu中可用), 因此你只需在终端中运行以下命令即可播放音频(将音频文件路径替换为你的音频文件路径):
请记住, 如果你遵循本教程, 则可以学习如何将图像转换为Martin1表示形式的音频文件, 本文中可以对提到的教程的输出文件进行解码:
paplay -d virtual-cable youraudiofile.wav
现在, 如果你切换到QSSTV窗口, 你将看到它将开始逐步解码音频:
等等:
在音频结束之前, 你将获得整个图像的输出:
图像通常存储在/ home / {youruser} / qsstv / rx_sstv /目录中。就是这样, 这就是在Ubuntu 18.04桌面中将Martin1格式的SSTV音频文件解码为图像的最简单方法。
6.恢复系统中的音频
现在, 请注意, 如果你尝试像往常一样播放一些音频, 打开youtube或其他内容, 你将听不到任何声音, 因为系统上已安装了虚拟电缆, 因此输出将重定向到该电缆。要恢复系统的默认音频输出, 只需首先列出所有带有以下内容的音频设备:
pactl list short modules
这将生成类似于以下内容的输出:
如你所见, 在步骤4中创建的设备具有标识符27。你需要使用以下命令卸载此模块:
# In our case, the module is the #27
pactl unload-module 27
# pactl unload-module {number}
卸载模块后, 系统的音频将恢复为默认值。
本教程是对多种来源的重新整理, 如果你尝试其他格式的话, 也可能对你有用:
- http://users.telenet.be/on4qz/qsstv/manual/installation.html
- https://www.chonky.net/hamradio/decoding-sstv-from-a-file-on-a-linux-system
编码愉快!
评论前必须登录!
注册