This commit is contained in:
Kurt Moraw
2020-11-27 19:31:22 +01:00
parent 688b833188
commit 5e9b8d553b
153 changed files with 565 additions and 356 deletions
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
+29
View File
@@ -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
+22
View File
@@ -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
BIN
View File
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+2
View File
@@ -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.
View File
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
+11 -3
View File
@@ -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
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
+28
View File
@@ -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
+24
View File
@@ -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
BIN
View File
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+2
View File
@@ -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.
View File
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
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.
+22
View File
@@ -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])
+1 -3
View File
@@ -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"
+46
View File
@@ -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
+2 -2
View File
@@ -398,8 +398,8 @@ static int ccol_idx = 0;
if (++ev >= 10)
{
ev = 0;
uint32_t re = (uint32_t)(syms.real * 16777216.0);
uint32_t im = (uint32_t)(syms.imag * 16777216.0);
int32_t re = (int32_t)(syms.real * 16777216.0);
int32_t im = (int32_t)(syms.imag * 16777216.0);
uint8_t txpl[13];
int idx = 0;
txpl[idx++] = 5; // type 5: IQ data follows