
####################################################
#  HADES-SA CODEC2 Audio Creator(SAAC) ver.1.0
#  Windows Console Program written in Python3
#  Released on April 12, 2026
#  (c) 2026- JA3TDW/Fumio Asai All Rights Reserved
####################################################

1.What is HADES-SA CODEC2 Audio Creator (SAAC)?
 SAAC is a program for generating audio files(WAV)
from HADES-SA CODEC2 audio frame data (CSV) stored
in the open satellite database SatNOGS DB.
 The standard method for generating WAV is to use
the following softwares downloaded from the AMSAT-SA
website:
1)UZ7HO Soundmodem(Windows) for HADES-SA-SpinnyONE
2)AMSAT-EA HADES-SA SpinnyONE CODEC2 utilities
SAAC generates binary files (BINs) from CSV files,
which are produced by Soundmodem(and KISSGENESIS).
SAAC calls "utilities", generates WAV and deletes
intermediate files including BIN.

2.Oprating environment
1)SAAC works on the Japanese version of Windows 11 Home 64bit.
 It should work on other language versions ​​too.
 Python3 executable environment is not required.
 
3.Install
1)AAC requires the following external programs.
 Download from the following website and extract it to
 the same folder(for example, c:\sa_codec2):
*AMSAT-EA HADES-SA SpinnyONE CODEC2 utilities
 https://www.amsat-ea.org/proyectos/
*HADES-SA_SpinnyONE/byte_version/
 unified-bytes-decoder-hades-sa-windows-x86.exe
 https://github.com/AMSAT-EA/HADES-SA_SpinnyONE
3)Copy the SAAC(saac.exe) to the folder mentioned above.

4.How to use
1)Download the HADES-SA CSV from SatNOGS. The Last Week
 edition is recommended due to the following reason. 
2)Run SAAC and enter CSV. Then, two files, sa_output.csv
 and hades_sa.wav will be generated. saac_output.csv is
 the CODEC2 frame data file extracted from CSV.
 hades_sa.wav is the CODEC2 audio file. All intermediate
 files created to generate WAV from CSV will be deleted.
*If frame data uploaded by multiple stations or uploaded
 at multiple dates or times are included in CSV,a proper
 WAV will not be generated. Therefore, I recommend editing
 CSV so that it contains frame data uploaded by a specific
 station at a specific date or time, like satnogs_input.csv.
*If there are no frame data with duplicate packet numbers,
 as in sample saac_output.csv, the generated WAV is normal.
 However, if there are duplicates, it is abnormal.
*I suspect this problem occurs because the CODEC2 frame data
 do not contain data for error detection or error correction,
 and do not contain data for distinguishing between different
 audio messages(SSDV frame data contain image number).

*Release Notes
1)April 4,2026:ver.1.0 released








1.What is HADES-SA SSDV Image Creator(SAIC)?
 SAIC is a software for creating images from HADES-SA
 SSDV frame data stored in the open satellite database
 SatNOGS. Although it's originally a Python3 script, its
 executable program(saic.exe) is created using Nuitka.

2.Oprating environment
1)It works on the Japanese version of Windows 11 Home 64bit.
 It should work on other language versions ​​too.
 Python3 executable environment is not required.
2)SAIC calls the SSDV image data encoding/decoding software
 to create the image. Make the executable program(ssdv.exe)
 from the source files on the following website and place it
 in the same folder as SAIC.
 https://github.com/fsphil/ssdv
*ssdv.exe can be downloaded from the following website:
 https://github.com/NothingCooker/ssdv-minimodem-windows-builds

3.How to use
1)Download a HADES-SA csv file from SatNOGS.
2)Execute saic.exe. Enter csv file name and image ID.
  Then, csv file(xx_output.csv), bin file(xx_output.bin)
   and jpg file(xx_output.jpg) are created respectively. 
   xx indicates image ID.
*The extracted SSDV frame data are deduplicated, sorted in
 order of packet ID and saved in the csv file.  
*The bin file is the binary file for ssdv.exe.

--------- Sample of SAIC screenshot --------
HADES-SA SSDV Image Creator(SAIC) ver.1.1

Input csv file:input.csv
Press Enter key if csv file name is OK
Enter input csv file name:
Enter image ID:E0

Set input csv file:c:\Vpy/input.csv
Set image ID:E0=>224
Found last packet
Created SSDV frame file :E0_output.csv
Created SSDV binary file:E0_output.bin

Creating SSDV Image using ssdv.exe...
Callsign: 2-R3-R
Image ID: E0
Resolution: 320x240
MCU blocks: 300
Sampling factor: 2x2
Quality level: 7
Read 40 packets
done
SAIC is going to close in 10 seconds...
------------------------------------------------------ 

*Release notes
1)April 6,2026:Released ver.1.1
  Added some information messages displayed on the screen.
2)April 2,2026:Released ver.1.0.
