update
This commit is contained in:
parent
688b833188
commit
5e9b8d553b
|
@ -29,6 +29,12 @@ this software uses these programs:
|
|||
* fftw3: http://www.fftw.org (GPL V.2 or later)
|
||||
* libcodec2 (Linux: standard lib, Windows: from freeDV)
|
||||
|
||||
# Download alternatives
|
||||
* download from github and build from source
|
||||
* download windows installer and download Odroid and Raspberry images:
|
||||
https://www.helitron.de/dj0abr/german/technik/sat/modem/images.htm
|
||||
|
||||
|
||||
# building the software
|
||||
* Linux
|
||||
1. go into the folder "hsmodem"
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,29 @@
|
|||
e:\funk\hsmodem\hsmodem\debug\vc140.pdb
|
||||
e:\funk\hsmodem\hsmodem\debug\vc140.idb
|
||||
e:\funk\hsmodem\hsmodem\debug\audio.obj
|
||||
e:\funk\hsmodem\hsmodem\debug\audio_voice.obj
|
||||
e:\funk\hsmodem\hsmodem\debug\audio_voice_wasapi.obj
|
||||
e:\funk\hsmodem\hsmodem\debug\audio_wasapi.obj
|
||||
e:\funk\hsmodem\hsmodem\debug\codec2.obj
|
||||
e:\funk\hsmodem\hsmodem\debug\constellation.obj
|
||||
e:\funk\hsmodem\hsmodem\debug\crc16.obj
|
||||
e:\funk\hsmodem\hsmodem\debug\fec.obj
|
||||
e:\funk\hsmodem\hsmodem\debug\fft.obj
|
||||
e:\funk\hsmodem\hsmodem\debug\frame_packer.obj
|
||||
e:\funk\hsmodem\hsmodem\debug\hsmodem.obj
|
||||
e:\funk\hsmodem\hsmodem\debug\liquid_if.obj
|
||||
e:\funk\hsmodem\hsmodem\debug\main_helper.obj
|
||||
e:\funk\hsmodem\hsmodem\debug\scrambler.obj
|
||||
e:\funk\hsmodem\hsmodem\debug\speed.obj
|
||||
e:\funk\hsmodem\hsmodem\debug\symboltracker.obj
|
||||
e:\funk\hsmodem\hsmodem\debug\udp.obj
|
||||
e:\funk\hsmodem\hsmodem\debug\voiceprocessor.obj
|
||||
e:\funk\hsmodem\debug\hsmodem.ilk
|
||||
e:\funk\hsmodem\debug\hsmodem.exe
|
||||
e:\funk\hsmodem\debug\hsmodem.pdb
|
||||
e:\funk\hsmodem\hsmodem\debug\hsmodem.tlog\cl.command.1.tlog
|
||||
e:\funk\hsmodem\hsmodem\debug\hsmodem.tlog\cl.read.1.tlog
|
||||
e:\funk\hsmodem\hsmodem\debug\hsmodem.tlog\cl.write.1.tlog
|
||||
e:\funk\hsmodem\hsmodem\debug\hsmodem.tlog\link.command.1.tlog
|
||||
e:\funk\hsmodem\hsmodem\debug\hsmodem.tlog\link.read.1.tlog
|
||||
e:\funk\hsmodem\hsmodem\debug\hsmodem.tlog\link.write.1.tlog
|
|
@ -0,0 +1,22 @@
|
|||
liquid_if.cpp
|
||||
hsmodem.cpp
|
||||
fft.cpp
|
||||
audio_wasapi.cpp
|
||||
audio.cpp
|
||||
Code wird generiert...
|
||||
Kompilieren...
|
||||
voiceprocessor.cpp
|
||||
udp.cpp
|
||||
symboltracker.cpp
|
||||
speed.cpp
|
||||
scrambler.cpp
|
||||
main_helper.cpp
|
||||
frame_packer.cpp
|
||||
fec.cpp
|
||||
crc16.cpp
|
||||
constellation.cpp
|
||||
codec2.cpp
|
||||
audio_voice_wasapi.cpp
|
||||
audio_voice.cpp
|
||||
Code wird generiert...
|
||||
hsmodem.vcxproj -> E:\funk\hsmodem\Debug\hsmodem.exe
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,2 @@
|
|||
#TargetFrameworkVersion=v4.0:PlatformToolSet=v140_xp:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=8.1
|
||||
Debug|Win32|E:\funk\hsmodem\|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,12 +1,20 @@
|
|||
# makefile for hsmodem
|
||||
# makefile for hsmodem on Linux (PC desktop and ARM)
|
||||
# usage:
|
||||
# make ... builds the program and copies all needed files to ../hsmodemLinux
|
||||
# the shared libs are also copied to this location
|
||||
# to distribute hsmodem you need the folder hsmodemLinux and its subfolders
|
||||
# installation: when these files are copied to the target system,
|
||||
# then (in the target system) run "sudo install".
|
||||
# This will copy the sharded libs to its final location.
|
||||
|
||||
CXXFLAGS = -Wall -O3 -std=c++0x -Wno-write-strings -Wno-narrowing
|
||||
LDFLAGS = -lpthread -lrt -lsndfile -lasound -lm -lopus -lbassopus -lbass -lbassenc_opus -lbassenc -lfftw3 -lfftw3_threads -lliquid -lcodec2
|
||||
OBJ = hsmodem.o constellation.o crc16.o frame_packer.o main_helper.o scrambler.o speed.o fec.o audio.o udp.o fft.o liquid_if.o symboltracker.o audio_voice.o voiceprocessor.o codec2.o
|
||||
|
||||
default: $(OBJ)
|
||||
g++ $(CXXFLAGS) -o ../LinuxRelease/hsmodem $(OBJ) $(LDFLAGS)
|
||||
mkdir -p ../hsmodemLinux
|
||||
g++ $(CXXFLAGS) -o ../hsmodemLinux/hsmodem $(OBJ) $(LDFLAGS)
|
||||
|
||||
clean:
|
||||
rm -f *.o
|
||||
|
||||
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,28 @@
|
|||
e:\funk\hsmodem\hsmodem\release\vc140.pdb
|
||||
e:\funk\hsmodem\hsmodem\release\voiceprocessor.obj
|
||||
e:\funk\hsmodem\hsmodem\release\udp.obj
|
||||
e:\funk\hsmodem\hsmodem\release\symboltracker.obj
|
||||
e:\funk\hsmodem\hsmodem\release\speed.obj
|
||||
e:\funk\hsmodem\hsmodem\release\scrambler.obj
|
||||
e:\funk\hsmodem\hsmodem\release\main_helper.obj
|
||||
e:\funk\hsmodem\hsmodem\release\liquid_if.obj
|
||||
e:\funk\hsmodem\hsmodem\release\hsmodem.obj
|
||||
e:\funk\hsmodem\hsmodem\release\frame_packer.obj
|
||||
e:\funk\hsmodem\hsmodem\release\fft.obj
|
||||
e:\funk\hsmodem\hsmodem\release\fec.obj
|
||||
e:\funk\hsmodem\hsmodem\release\crc16.obj
|
||||
e:\funk\hsmodem\hsmodem\release\constellation.obj
|
||||
e:\funk\hsmodem\hsmodem\release\codec2.obj
|
||||
e:\funk\hsmodem\hsmodem\release\audio_wasapi.obj
|
||||
e:\funk\hsmodem\hsmodem\release\audio_voice_wasapi.obj
|
||||
e:\funk\hsmodem\hsmodem\release\audio_voice.obj
|
||||
e:\funk\hsmodem\hsmodem\release\audio.obj
|
||||
e:\funk\hsmodem\winrelease\hsmodem.exe
|
||||
e:\funk\hsmodem\winrelease\hsmodem.pdb
|
||||
e:\funk\hsmodem\hsmodem\..\winrelease\hsmodem.exe
|
||||
e:\funk\hsmodem\hsmodem\release\hsmodem.tlog\cl.command.1.tlog
|
||||
e:\funk\hsmodem\hsmodem\release\hsmodem.tlog\cl.read.1.tlog
|
||||
e:\funk\hsmodem\hsmodem\release\hsmodem.tlog\cl.write.1.tlog
|
||||
e:\funk\hsmodem\hsmodem\release\hsmodem.tlog\link.command.1.tlog
|
||||
e:\funk\hsmodem\hsmodem\release\hsmodem.tlog\link.read.1.tlog
|
||||
e:\funk\hsmodem\hsmodem\release\hsmodem.tlog\link.write.1.tlog
|
|
@ -0,0 +1,24 @@
|
|||
audio.cpp
|
||||
audio_voice.cpp
|
||||
audio_voice_wasapi.cpp
|
||||
audio_wasapi.cpp
|
||||
codec2.cpp
|
||||
constellation.cpp
|
||||
crc16.cpp
|
||||
fec.cpp
|
||||
fft.cpp
|
||||
frame_packer.cpp
|
||||
hsmodem.cpp
|
||||
liquid_if.cpp
|
||||
main_helper.cpp
|
||||
scrambler.cpp
|
||||
speed.cpp
|
||||
symboltracker.cpp
|
||||
udp.cpp
|
||||
voiceprocessor.cpp
|
||||
Code wird generiert.
|
||||
0 of 574 functions ( 0.0%) were compiled, the rest were copied from previous compilation.
|
||||
0 functions were new in current compilation
|
||||
0 functions had inline decision re-evaluated but remain unchanged
|
||||
Codegenerierung ist abgeschlossen.
|
||||
hsmodem.vcxproj -> E:\funk\hsmodem\hsmodem\..\WinRelease\hsmodem.exe
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,2 @@
|
|||
#TargetFrameworkVersion=v4.0:PlatformToolSet=v140_xp:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=8.1
|
||||
Release|Win32|E:\funk\hsmodem\|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,22 @@
|
|||
from pydub import AudioSegment
|
||||
import os
|
||||
import sys
|
||||
|
||||
def wav2pcm(wav_dir,out_pcm_dir):
|
||||
|
||||
for path,pathname,filenames in os.walk(wav_dir):
|
||||
for filename in filenames:
|
||||
|
||||
sound = AudioSegment.from_file(os.path.join(path,filename))
|
||||
outfilename=os.path.join(out_pcm_dir,filename.split('.wav')[0]+'.pcm')
|
||||
sound.export(outfilename, format='s16le', bitrate='8k')
|
||||
|
||||
|
||||
|
||||
if __name__=="__main__":
|
||||
|
||||
if len(sys.argv) != 3:
|
||||
print("usage: python wav2pcm.py in_dir out_dir")
|
||||
else:
|
||||
wav2pcm(sys.argv[1],sys.argv[2])
|
||||
|
|
@ -30,7 +30,6 @@
|
|||
#include <Tlhelp32.h>
|
||||
#include <winbase.h>
|
||||
#include <Shlobj.h>
|
||||
#include "opus.h"
|
||||
#define _USE_MATH_DEFINES
|
||||
#include <math.h>
|
||||
|
||||
|
@ -55,12 +54,11 @@
|
|||
#include <arpa/inet.h>
|
||||
#include <pwd.h>
|
||||
#include <math.h>
|
||||
#include <opus/opus.h>
|
||||
#endif
|
||||
|
||||
#include "opus.h"
|
||||
#include "bass.h"
|
||||
#include "basswasapi.h"
|
||||
#include "bassflac.h"
|
||||
#include "liquid.h"
|
||||
#include "frameformat.h"
|
||||
#include "fec.h"
|
||||
|
|
|
@ -0,0 +1,46 @@
|
|||
#!/bin/bash
|
||||
echo
|
||||
echo
|
||||
echo
|
||||
echo
|
||||
echo "this script installs HSmodem on your Linux system"
|
||||
echo "================================================="
|
||||
echo
|
||||
echo "1. Downloads the sources from github"
|
||||
echo "2. compiles the sources for your local machine and architecture"
|
||||
echo "3. copy the shared libraries to it's final location"
|
||||
echo
|
||||
echo "Install required packages and libraries. Press ENTER ..."
|
||||
read
|
||||
sudo apt-get update
|
||||
sudo apt-get -y install libopus-dev libfftw3-dev libcodec2-dev libsndfile-dev libasound-dev mono-complete pavucontrol git g++ build-essential
|
||||
echo
|
||||
echo "Download hsmodem sources from github. Press ENTER ... "
|
||||
read
|
||||
git clone https://github.com/dj0abr/SSB_HighSpeed_Modem
|
||||
echo
|
||||
echo "Compile the sources and build the executable program. Press ENTER ..."
|
||||
read
|
||||
make -j 4
|
||||
echo
|
||||
echo "copy the shared libraries to it's final location. Press ENTER ..."
|
||||
read
|
||||
echo
|
||||
# now find the shared library directory
|
||||
# this is the directory where libopus.so is installed
|
||||
LIBNAME=$(find /usr -name libopus.so | head -1)
|
||||
LIBFOLDER=$(dirname $LIBNAME)
|
||||
ARCHITECTURE=$(uname -m)
|
||||
echo copy shared libraries for $ARCHITECTURE to $LIBFOLDER
|
||||
echo
|
||||
if [ ${ARCHITECTURE} == 'x86_64' ];
|
||||
then
|
||||
sudo cp ./SharedLibs/$ARCHITECTURE/*.so $LIBFOLDER
|
||||
elif [ ${ARCHITECTURE} == 'aarch64' ];
|
||||
then
|
||||
sudo cp ./SharedLibs/$ARCHITECTURE/*.so $LIBFOLDER
|
||||
else
|
||||
echo ================================================================
|
||||
echo error: no shared libs for $ARCHITECTURE . Install them manually.
|
||||
echo ================================================================
|
||||
fi
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue