diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..83ab55a --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +build/ +.vs/ +models*/ +lib/ +test/ diff --git a/CMakeLists.txt b/CMakeLists.txt index bab400a..b6cbcca 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,13 +3,9 @@ project(KaldiAligner) set(CMAKE_CXX_STANDARD 11) -set(KALDI_ROOT /opt/kaldi) +include_directories(phonetisaurus include include/kaldi) +link_directories(lib) -include_directories(include ${KALDI_ROOT}/tools/phonetisaurus-g2p/src/ ${KALDI_ROOT}/tools/phonetisaurus-g2p/src/3rdparty/utfcpp ${KALDI_ROOT}/tools/openfst/include ${KALDI_ROOT}/src /usr/local/cuda/include) -link_directories(${KALDI_ROOT}/tools/openfst/lib ${KALDI_ROOT}/src/lib) - -SET(PHONETISAURUS_OBJ ${KALDI_ROOT}/tools/phonetisaurus-g2p/src/lib/phonetisaurus_g2pfst-util.o) - -add_compile_definitions(HAVE_CUDA) -add_executable(KaldiAligner src/main.cpp src/g2p.cpp src/lex.cpp src/kaldi.cpp src/signaling.cpp ${PHONETISAURUS_OBJ}) -target_link_libraries(KaldiAligner fst kaldi-feat kaldi-base kaldi-util kaldi-matrix kaldi-transform kaldi-ivector kaldi-online2 kaldi-decoder kaldi-hmm kaldi-tree kaldi-nnet3 kaldi-cudamatrix kaldi-lat) +add_compile_definitions(HAVE_MKL) +add_executable(KaldiAligner src/main.cpp src/g2p.cpp src/lex.cpp src/kaldi.cpp src/signaling.cpp phonetisaurus/util.cc) +target_link_libraries(KaldiAligner fst kaldi-feat kaldi-base kaldi-util kaldi-matrix kaldi-transform kaldi-ivector kaldi-online2 kaldi-decoder kaldi-hmm kaldi-gmm kaldi-fstext kaldi-tree kaldi-nnet3 kaldi-cudamatrix kaldi-lat mkl_rt mkl_intel_thread mkl_core mkl_intel_lp64) \ No newline at end of file diff --git a/CMakeSettings.json b/CMakeSettings.json new file mode 100644 index 0000000..9204f06 --- /dev/null +++ b/CMakeSettings.json @@ -0,0 +1,15 @@ +{ + "configurations": [ + { + "name": "x64-Debug", + "generator": "Ninja", + "configurationType": "Debug", + "inheritEnvironments": [ "msvc_x64_x64" ], + "buildRoot": "${projectDir}\\out\\build\\${name}", + "installRoot": "${projectDir}\\out\\install\\${name}", + "cmakeCommandArgs": "", + "buildCommandArgs": "", + "ctestCommandArgs": "" + } + ] +} \ No newline at end of file diff --git a/KaldiAligner.exe b/KaldiAligner.exe new file mode 100644 index 0000000..c8c4f93 Binary files /dev/null and b/KaldiAligner.exe differ diff --git a/src/signaling.cpp b/src/signaling.cpp index 15511df..be1528e 100644 --- a/src/signaling.cpp +++ b/src/signaling.cpp @@ -1,5 +1,36 @@ #include #include + +#if defined(_WIN32) +#include + +void init_wait() { + +} + +void wait_for_signal() { + HANDLE hMutex; + + while (true) { + hMutex = OpenMutex(MUTEX_ALL_ACCESS, FALSE, TEXT("Global\\KALDI_ALIGNER")); + if (hMutex) { + break; + } + Sleep(500); + } + CloseHandle(hMutex); +} + + +void do_signal() { + HANDLE hMutex; + hMutex=CreateMutex(NULL,FALSE,TEXT("Global\\KALDI_ALIGNER")); + if (hMutex) { + Sleep(750); + CloseHandle(hMutex); + } +} +#else #include #include @@ -33,4 +64,5 @@ void do_signal() { pidf >> pid; pidf.close(); kill(pid, SIGUSR1); -} \ No newline at end of file +} +#endif \ No newline at end of file diff --git a/windows/CMakeLists.txt b/windows/CMakeLists.txt index 0c3f929..dc8bcf1 100644 --- a/windows/CMakeLists.txt +++ b/windows/CMakeLists.txt @@ -7,5 +7,5 @@ include_directories(../phonetisaurus ../include ../include/kaldi) link_directories(../lib) add_compile_definitions(HAVE_MKL) -add_executable(KaldiAligner ../src/main.cpp ../src/g2p.cpp ../src/lex.cpp ../src/kaldi.cpp ../phonetisaurus/util.cc) +add_executable(KaldiAligner ../src/main.cpp ../src/g2p.cpp ../src/lex.cpp ../src/kaldi.cpp ../src/signaling.cpp ../phonetisaurus/util.cc) target_link_libraries(KaldiAligner fst kaldi-feat kaldi-base kaldi-util kaldi-matrix kaldi-transform kaldi-ivector kaldi-online2 kaldi-decoder kaldi-hmm kaldi-gmm kaldi-fstext kaldi-tree kaldi-nnet3 kaldi-cudamatrix kaldi-lat mkl_rt mkl_intel_thread mkl_core mkl_intel_lp64) \ No newline at end of file