From 546c71bbea22ff3f3301812cc7f48eae4e6551a5 Mon Sep 17 00:00:00 2001 From: Pierre Guillot Date: Tue, 27 Aug 2024 09:21:41 +0200 Subject: [PATCH 01/17] Format CMakeLists.txt --- CMakeLists.txt | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index efe67fa..2d4d8c8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -121,21 +121,22 @@ vpp_add_plugin(wvp) find_program(PARTIELS_EXE "Partiels" HINTS ${PARTIELS_EXE_HINT_PATH} NO_CACHE) if(PARTIELS_EXE) if(NOT IS_DIRECTORY ${PARTIELS_EXE}) - cmake_path(GET PARTIELS_EXE PARENT_PATH PARTIELS_EXE_PARENT) - cmake_path(SET PARTIELS_EXE NORMALIZE "${PARTIELS_EXE_PARENT}/../../") + cmake_path(GET PARTIELS_EXE PARENT_PATH PARTIELS_EXE_PARENT) + cmake_path(SET PARTIELS_EXE NORMALIZE "${PARTIELS_EXE_PARENT}/../../") endif() message(STATUS "Debugging: " ${PARTIELS_EXE}) set_target_properties(wvp PROPERTIES XCODE_SCHEME_EXECUTABLE ${PARTIELS_EXE}) + set_target_properties(wvp PROPERTIES XCODE_SCHEME_ARGUMENTS "${CMAKE_CURRENT_SOURCE_DIR}/test/whisper.ptldoc") set_target_properties(wvp PROPERTIES XCODE_SCHEME_ENVIRONMENT "VAMP_PATH=${CMAKE_CURRENT_BINARY_DIR}/Debug;WHISPERMODELPATH=/Users/guillot/Gitlab/IVP/whisper-vamp-plugin/whisper.cpp/models/ggml-base.bin") endif() ### Format ### find_program(CLANG_FORMAT_EXE "clang-format" HINTS "C:/Program Files/LLVM/bin") if(CLANG_FORMAT_EXE) - add_custom_target(wvp_check_format ${CLANG_FORMAT_EXE} --Werror --dry-run --verbose -style=file ${WVP_SOURCES}) - add_custom_target(wvp_apply_format ${CLANG_FORMAT_EXE} -i -style=file ${WVP_SOURCES}) + add_custom_target(wvp_check_format ${CLANG_FORMAT_EXE} --Werror --dry-run --verbose -style=file ${WVP_SOURCES}) + add_custom_target(wvp_apply_format ${CLANG_FORMAT_EXE} -i -style=file ${WVP_SOURCES}) else() - message(STATUS "Clang Format targets cannot be generated because clang-format is not found") + message(STATUS "Clang Format targets cannot be generated because clang-format is not found") endif() ### Manual ### From 2018f6fd8cda5e40743a46632d8a706cdd0e95d5 Mon Sep 17 00:00:00 2001 From: Pierre Guillot Date: Tue, 27 Aug 2024 09:21:54 +0200 Subject: [PATCH 02/17] =?UTF-8?q?Rename=20test/m10=5Frow=5Fspoken.ptldoc?= =?UTF-8?q?=20=E2=86=92=20test/whisper.ptldoc?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- test/{m10_row_spoken.ptldoc => whisper.ptldoc} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename test/{m10_row_spoken.ptldoc => whisper.ptldoc} (100%) diff --git a/test/m10_row_spoken.ptldoc b/test/whisper.ptldoc similarity index 100% rename from test/m10_row_spoken.ptldoc rename to test/whisper.ptldoc From 6372fe15204df08df34b882deec895c4a6756f53 Mon Sep 17 00:00:00 2001 From: Pierre Guillot Date: Tue, 27 Aug 2024 09:31:56 +0200 Subject: [PATCH 03/17] Rename library ircamwhisper instead of whisper --- CMakeLists.txt | 10 +++++----- resource/ircamwhisper.cat | 1 + resource/whisper.cat | 1 - source/wvp.cpp | 2 +- test/whisper.ptldoc | 16 ++++++++-------- 5 files changed, 15 insertions(+), 15 deletions(-) create mode 100644 resource/ircamwhisper.cat delete mode 100644 resource/whisper.cat diff --git a/CMakeLists.txt b/CMakeLists.txt index 2d4d8c8..77b3bbf 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -114,8 +114,8 @@ ive_prepare_plugin_target(wvp) target_link_libraries(wvp PRIVATE whisper) target_compile_definitions(wvp PRIVATE WVP_PLUGIN_VERSION=${PROJECT_VERSION_MAJOR}) -add_custom_command(TARGET wvp POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/resource/whisper.cat "$,${CMAKE_CURRENT_BINARY_DIR}/Debug/whisper.cat,${CMAKE_CURRENT_BINARY_DIR}/Release/whisper.cat>") -set_target_properties(wvp PROPERTIES LIBRARY_OUTPUT_NAME whisper) +add_custom_command(TARGET wvp POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/resource/ircamwhisper.cat "$,${CMAKE_CURRENT_BINARY_DIR}/Debug/ircamwhisper.cat,${CMAKE_CURRENT_BINARY_DIR}/Release/ircamwhisper.cat>") +set_target_properties(wvp PROPERTIES LIBRARY_OUTPUT_NAME ircamwhisper) vpp_add_plugin(wvp) find_program(PARTIELS_EXE "Partiels" HINTS ${PARTIELS_EXE_HINT_PATH} NO_CACHE) @@ -160,13 +160,13 @@ endif() ### Install ### if(APPLE) install(TARGETS wvp RUNTIME LIBRARY DESTINATION "~/Library/Audio/Plug-Ins/Vamp/") - install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/resource/whisper.cat DESTINATION "~/Library/Audio/Plug-Ins/Vamp/") + install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/resource/ircamwhisper.cat DESTINATION "~/Library/Audio/Plug-Ins/Vamp/") elseif(UNIX) install(TARGETS wvp RUNTIME LIBRARY DESTINATION "~/vamp/") - install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/resource/whisper.cat DESTINATION "~/vamp/") + install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/resource/ircamwhisper.cat DESTINATION "~/vamp/") elseif(WIN32) install(TARGETS wvp RUNTIME DESTINATION "$ENV{PROGRAMFILES}/Vamp Plugins/" PERMISSIONS OWNER_WRITE) - install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/resource/whisper.cat DESTINATION "$ENV{PROGRAMFILES}/Vamp Plugins/") + install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/resource/ircamwhisper.cat DESTINATION "$ENV{PROGRAMFILES}/Vamp Plugins/") endif() ### Testing ### diff --git a/resource/ircamwhisper.cat b/resource/ircamwhisper.cat new file mode 100644 index 0000000..3264d58 --- /dev/null +++ b/resource/ircamwhisper.cat @@ -0,0 +1 @@ +vamp:ircamwhisper:whisper::Speech To Text diff --git a/resource/whisper.cat b/resource/whisper.cat deleted file mode 100644 index 548bcd2..0000000 --- a/resource/whisper.cat +++ /dev/null @@ -1 +0,0 @@ -vamp:whisper:ircamwhisper::Speech To Text diff --git a/source/wvp.cpp b/source/wvp.cpp index acc7f23..545554c 100644 --- a/source/wvp.cpp +++ b/source/wvp.cpp @@ -213,7 +213,7 @@ bool Wvp::Plugin::initialise(size_t channels, size_t stepSize, size_t blockSize) std::string Wvp::Plugin::getIdentifier() const { - return "ircamwhisper"; + return "whisper"; } std::string Wvp::Plugin::getName() const diff --git a/test/whisper.ptldoc b/test/whisper.ptldoc index 7057a1b..b2d541c 100644 --- a/test/whisper.ptldoc +++ b/test/whisper.ptldoc @@ -1,6 +1,6 @@ - - + name="Group 1" height="595" colour="0" expanded="1" referenceid=""> + name="Group 2" height="170" colour="ff3c0066" expanded="0" referenceid=""> @@ -37,12 +37,12 @@ - @@ -73,7 +73,7 @@ minValue="0.0" maxValue="0.0" isQuantized="0" quantizeStep="0.0" sampleType="2" sampleRate="0.0" hasDuration="0"/> - + @@ -93,7 +93,7 @@ From f1602251cabc740aeea48d362edd9160b5661e0b Mon Sep 17 00:00:00 2001 From: Pierre Guillot Date: Tue, 27 Aug 2024 14:28:11 +0200 Subject: [PATCH 04/17] Add release assets to release notes on Github --- .github/workflows/ci.yml | 14 ++++++++++---- CMakeLists.txt | 8 ++++++++ 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 77a9284..a59eefc 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -7,6 +7,8 @@ env: build_type: ${{ contains(github.event.head_commit.message, '[debug]') && 'Debug' || 'Release' }} # Checks whether the event corresponds to a tag to activate the automatic creation of a release. is_tagged: ${{ startsWith(github.ref, 'refs/tags/') }} + # The name of the version + tag_name: ${{ startsWith(github.ref, 'refs/tags/') && github.ref_name || ''}} jobs: # Checks source code formatting with clang before compiling. @@ -52,7 +54,7 @@ jobs: enableCrossOsArchive: true - uses: seanmiddleditch/gha-setup-ninja@master - name: Configure - run: cmake -B ${{ github.workspace }}/build -G Ninja -DCMAKE_BUILD_TYPE=${{ env.build_type }} + run: cmake -B ${{ github.workspace }}/build -G Ninja -DCMAKE_BUILD_TYPE=${{ env.build_type }} -DBPVP_BUILD_TAG=${{ env.tag_name }} - name: Build run: cmake --build ${{ github.workspace }}/build - name: Test @@ -70,6 +72,7 @@ jobs: prerelease: true fail_on_unmatched_files: true generate_release_notes: true + body_path: ${{ github.workspace }}/build/whisper-release.md files: ${{ github.workspace }}/package/Whisper-Linux.tar.gz # Compiles, tests and packages the plugin for Windows. Windows: @@ -88,7 +91,7 @@ jobs: - name: Prepare run: powershell -Command "& {[System.IO.File]::WriteAllBytes('${{ github.workspace }}\cert.p12', [System.Convert]::FromBase64String('${{ secrets.SECTIGO_CERT_P12}}'))}" - name: Configure - run: cmake -B ${{ github.workspace }}/build -G "Visual Studio 17 2022" -A x64 -DVPP_NOTARIZE=ON -DVPP_CODESIGN_WINDOWS_KEYFILE=${{ github.workspace }}\cert.p12 -DVPP_CODESIGN_WINDOWS_KEYPASSWORD=${{ secrets.DEV_ID_PASSWORD }} + run: cmake -B ${{ github.workspace }}/build -G "Visual Studio 17 2022" -A x64 -DVPP_NOTARIZE=ON -DVPP_CODESIGN_WINDOWS_KEYFILE=${{ github.workspace }}\cert.p12 -DVPP_CODESIGN_WINDOWS_KEYPASSWORD=${{ secrets.DEV_ID_PASSWORD }} -DBPVP_BUILD_TAG="${{ env.tag_name }}" - name: Build run: cmake --build ${{ github.workspace }}/build --config ${{ env.build_type }} - name: Test @@ -106,6 +109,7 @@ jobs: prerelease: true fail_on_unmatched_files: true generate_release_notes: true + body_path: ${{ github.workspace }}/build/whisper-release.md files: ${{ github.workspace }}/package/Whisper-Windows.exe # Compiles, tests and packages the plugin for MacOS. MacOS: @@ -136,7 +140,7 @@ jobs: security set-key-partition-list -S "apple-tool:,apple:,codesign:" -s -k ${{ secrets.DEV_ID_PASSWORD }} buildagent >/dev/null xcrun notarytool store-credentials "notary-installer" --apple-id ${{ secrets.DEV_USER_APPLE_ID }} --team-id ${{ secrets.DEV_TEAM_APPLE_ID }} --password ${{ secrets.DEV_SPEC_APP_PASSWORD }} >/dev/null - name: Configure - run: cmake -B ${{ github.workspace }}/build -G "Xcode" -DVPP_CODESIGN_APPLE_KEYCHAIN_PROFILE_INSTALLER="notary-installer" -DVPP_NOTARIZE=ON + run: cmake -B ${{ github.workspace }}/build -G "Xcode" -DVPP_CODESIGN_APPLE_KEYCHAIN_PROFILE_INSTALLER="notary-installer" -DVPP_NOTARIZE=ON -DBPVP_BUILD_TAG=${{ env.tag_name }} - name: Build run: | security unlock-keychain -p ${{ secrets.DEV_ID_PASSWORD }} buildagent @@ -157,6 +161,7 @@ jobs: prerelease: true fail_on_unmatched_files: true generate_release_notes: true + body_path: ${{ github.workspace }}/build/whisper-release.md files: ${{ github.workspace }}/package/Whisper-MacOS.pkg # Generates the documentation. Doc: @@ -177,7 +182,7 @@ jobs: key: wvp-model-tiny enableCrossOsArchive: true - name: Configure - run: cmake -B ${{ github.workspace }}/build -DCMAKE_BUILD_TYPE=${{ env.build_type }} + run: cmake -B ${{ github.workspace }}/build -DCMAKE_BUILD_TYPE=${{ env.build_type }} -DBPVP_BUILD_TAG=${{ env.tag_name }} - name: Build run: | cmake --build build --target wvp_manual @@ -195,4 +200,5 @@ jobs: prerelease: true fail_on_unmatched_files: true generate_release_notes: true + body_path: ${{ github.workspace }}/build/whisper-release.md files: ${{ github.workspace }}/Whisper-Manual.zip diff --git a/CMakeLists.txt b/CMakeLists.txt index 77b3bbf..2899ce7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -157,6 +157,14 @@ else() message(STATUS "Manual target cannot be generated because mdpdf is not found") endif() +### Publishing ### +set(PROJECT_URL "https://github.com/Ircam-Partiels/whisper-vamp-plugin") +file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/whisper-release.md "## Downloads\n") +file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/whisper-release.md "- [Whisper-Linux.tar.gz](${PROJECT_URL}/releases/download/${WVP_BUILD_TAG}/Whisper-Linux.tar.gz)\n") +file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/whisper-release.md "- [Whisper-MacOS.pkg](${PROJECT_URL}/releases/download/${WVP_BUILD_TAG}/Whisper-MacOS.pkg)\n") +file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/whisper-release.md "- [Whisper-Windows.exe](${PROJECT_URL}/releases/download/${WVP_BUILD_TAG}/Whisper-Windows.exe)\n") +file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/whisper-release.md "- [Whisper-Manual.zip](${PROJECT_URL}/releases/download/${WVP_BUILD_TAG}/Whisper-Manual.zip)\n") + ### Install ### if(APPLE) install(TARGETS wvp RUNTIME LIBRARY DESTINATION "~/Library/Audio/Plug-Ins/Vamp/") From e6b03d08095ce396bc4cfc7ae25b7dd0c38673eb Mon Sep 17 00:00:00 2001 From: Pierre Guillot Date: Tue, 27 Aug 2024 14:28:27 +0200 Subject: [PATCH 05/17] Add duration to the results --- source/wvp.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/source/wvp.cpp b/source/wvp.cpp index 545554c..1a356f5 100644 --- a/source/wvp.cpp +++ b/source/wvp.cpp @@ -445,6 +445,7 @@ Wvp::Plugin::FeatureList Wvp::Plugin::getCurrentFeatures(size_t timeOffset) feature.hasTimestamp = true; auto const time = Vamp::RealTime::fromSeconds(static_cast(data.t0) / 100.0); feature.timestamp = time + offset; + feature.hasDuration = true; feature.duration = Vamp::RealTime::fromSeconds(static_cast(data.t1) / 100.0) - time; feature.label = whisper_full_get_token_text(mHandle.get(), i, j); feature.values.push_back(data.p); From f4b89035382a107117a2e96af245387b4f9087f7 Mon Sep 17 00:00:00 2001 From: Pierre Guillot Date: Tue, 27 Aug 2024 15:51:19 +0200 Subject: [PATCH 06/17] Add row.wav --- test/row.wav | Bin 0 -> 276122 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 test/row.wav diff --git a/test/row.wav b/test/row.wav new file mode 100644 index 0000000000000000000000000000000000000000..e46ef8ffb0de012176b9b31f20c4d33857f1905c GIT binary patch literal 276122 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⩔l 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%0A8afi>yx@oi{8NT#wHa+_*FD)lkq_OI7{xQ;}@S9 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%0Ay-O*oh10e^~}Toldbst9*cP$3T{Ar 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 Date: Tue, 27 Aug 2024 15:09:38 +0200 Subject: [PATCH 07/17] Add splitmode and suppressnonspeechtokens parameters --- source/wvp.cpp | 100 +++++++++++++++++++++++++++++++++++--------- source/wvp.h | 2 + test/whisper.ptldoc | 36 ++++++++++++---- 3 files changed, 112 insertions(+), 26 deletions(-) diff --git a/source/wvp.cpp b/source/wvp.cpp index 1a356f5..946d18b 100644 --- a/source/wvp.cpp +++ b/source/wvp.cpp @@ -310,15 +310,16 @@ void Wvp::Plugin::reset() { auto const createContext = [this]() -> struct whisper_context* { + auto params = whisper_context_default_params(); if(mModelIndex == 0) { - return whisper_init_from_buffer_with_params(const_cast(Wvp::model), Wvp::model_size, whisper_context_default_params()); + return whisper_init_from_buffer_with_params(const_cast(Wvp::model), Wvp::model_size, params); } auto const models = getModelPaths(); if(mModelIndex <= models.size()) { auto const path = models.at(mModelIndex - 1).string(); - return whisper_init_from_file_with_params(path.c_str(), whisper_context_default_params()); + return whisper_init_from_file_with_params(path.c_str(), params); } return nullptr; }; @@ -359,6 +360,33 @@ Wvp::Plugin::ParameterList Wvp::Plugin::getParameterDescriptors() const param.quantizeStep = 1.0f; list.push_back(std::move(param)); } + { + ParameterDescriptor param; + param.identifier = "splitmode"; + param.name = "Split Mode"; + param.description = "The model splits the text on sentences, words or tokens"; + param.unit = ""; + param.valueNames = {"Sentences", "Words", "Tokens"}; + param.minValue = 0.0f; + param.maxValue = 2.0f; + param.defaultValue = 2.0f; + param.isQuantized = true; + param.quantizeStep = 1.0f; + list.push_back(std::move(param)); + } + { + ParameterDescriptor param; + param.identifier = "suppressnonspeechtokens"; + param.name = "Suppress Non-Speech Tokens"; + param.description = "The model suppresses non-speech tokens"; + param.unit = ""; + param.minValue = 0.0f; + param.maxValue = 1.0f; + param.defaultValue = 1.0f; + param.isQuantized = true; + param.quantizeStep = 1.0f; + list.push_back(std::move(param)); + } return list; } @@ -369,6 +397,14 @@ void Wvp::Plugin::setParameter(std::string paramid, float newval) auto const max = static_cast(getModelPaths().size()); mModelIndex = static_cast(std::floor(std::clamp(newval, 0.0f, max))); } + else if(paramid == "splitmode") + { + mSplitMode = static_cast(std::floor(std::clamp(newval, 0.0f, 2.0f))); + } + else if(paramid == "suppressnonspeechtokens") + { + mSuppressNonSpeechTokens = newval > 0.5f; + } else { std::cerr << "Invalid parameter : " << paramid << "\n"; @@ -381,6 +417,14 @@ float Wvp::Plugin::getParameter(std::string paramid) const { return static_cast(mModelIndex); } + if(paramid == "splitmode") + { + return static_cast(mSplitMode); + } + if(paramid == "suppressnonspeechtokens") + { + return mSuppressNonSpeechTokens ? 1.0f : 0.0f; + } std::cerr << "Invalid parameter : " << paramid << "\n"; return 0.0f; } @@ -408,15 +452,16 @@ Wvp::Plugin::OutputExtraList Wvp::Plugin::getOutputExtraDescriptors(size_t outpu Wvp::Plugin::FeatureList Wvp::Plugin::getCurrentFeatures(size_t timeOffset) { auto params = whisper_full_default_params(whisper_sampling_strategy::WHISPER_SAMPLING_GREEDY); - params.token_timestamps = true; params.no_context = true; params.print_progress = false; params.print_timestamps = false; params.print_special = false; params.translate = false; - params.suppress_non_speech_tokens = true; + params.suppress_non_speech_tokens = mSuppressNonSpeechTokens; params.language = nullptr; - params.split_on_word = false; + params.token_timestamps = mSplitMode >= 1; + params.max_len = mSplitMode == 1; + params.split_on_word = mSplitMode == 1; static auto const minSize = gModelSampleRate + gModelSampleRate / 10; if(mBufferPosition < minSize) { @@ -434,22 +479,39 @@ Wvp::Plugin::FeatureList Wvp::Plugin::getCurrentFeatures(size_t timeOffset) auto const nsegments = whisper_full_n_segments(mHandle.get()); for(int i = 0; i < nsegments; ++i) { - auto const* text = whisper_full_get_segment_text(mHandle.get(), i); - auto const ntokens = whisper_full_n_tokens(mHandle.get(), i); - for(int j = 0; j < ntokens; ++j) + if(mSplitMode < 2) { - auto const data = whisper_full_get_token_data(mHandle.get(), i, j); - if(data.id < whisper_token_eot(mHandle.get())) + auto const* text = whisper_full_get_segment_text(mHandle.get(), i); + auto const t0 = whisper_full_get_segment_t0(mHandle.get(), i); + auto const t1 = whisper_full_get_segment_t1(mHandle.get(), i); + Feature feature; + feature.hasTimestamp = true; + auto const time = Vamp::RealTime::fromSeconds(static_cast(t0) / 100.0); + feature.timestamp = time + offset; + feature.hasDuration = true; + feature.duration = Vamp::RealTime::fromSeconds(static_cast(t1) / 100.0) - time; + feature.label = text; + feature.values.push_back(1.0); + fl.push_back(std::move(feature)); + } + else + { + auto const ntokens = whisper_full_n_tokens(mHandle.get(), i); + for(int j = 0; j < ntokens; ++j) { - Feature feature; - feature.hasTimestamp = true; - auto const time = Vamp::RealTime::fromSeconds(static_cast(data.t0) / 100.0); - feature.timestamp = time + offset; - feature.hasDuration = true; - feature.duration = Vamp::RealTime::fromSeconds(static_cast(data.t1) / 100.0) - time; - feature.label = whisper_full_get_token_text(mHandle.get(), i, j); - feature.values.push_back(data.p); - fl.push_back(std::move(feature)); + auto const data = whisper_full_get_token_data(mHandle.get(), i, j); + if(!mSuppressNonSpeechTokens || data.id < whisper_token_eot(mHandle.get())) + { + Feature feature; + feature.hasTimestamp = true; + auto const time = Vamp::RealTime::fromSeconds(static_cast(data.t0) / 100.0); + feature.timestamp = time + offset; + feature.hasDuration = true; + feature.duration = Vamp::RealTime::fromSeconds(static_cast(data.t1) / 100.0) - time; + feature.label = whisper_full_get_token_text(mHandle.get(), i, j); + feature.values.push_back(data.p); + fl.push_back(std::move(feature)); + } } } } diff --git a/source/wvp.h b/source/wvp.h index 6082564..8ae4aec 100644 --- a/source/wvp.h +++ b/source/wvp.h @@ -80,6 +80,8 @@ namespace Wvp size_t mAdvancement{0}; size_t mBlockSize{0}; size_t mModelIndex{0}; + size_t mSplitMode{2}; + bool mSuppressNonSpeechTokens{true}; std::set mRanges; }; } // namespace Wvp diff --git a/test/whisper.ptldoc b/test/whisper.ptldoc index b2d541c..d4baaf2 100644 --- a/test/whisper.ptldoc +++ b/test/whisper.ptldoc @@ -9,12 +9,12 @@ + minimumLength="0.01160997732426304" visibleRange_start="0.0" + visibleRange_end="8.607256235827665"> - + name="Group 2" height="86" colour="ff3c0066" expanded="0" referenceid=""> @@ -37,7 +37,7 @@ @@ -46,6 +46,8 @@ details="Automatic speech recognition using OpenAI's Whisper model. Whisper models by OpenAI. Whisper.cpp by Georgi Gerganov. Whisper Vamp Plugin by Pierre Guillot. Copyright 2024 Ircam. All rights reserved."> + + + + + + + + + + + + - + + + + + + @@ -93,7 +115,7 @@ From 69f3bbaff3f08f20573fb5b36ebfdf9f490a2ce4 Mon Sep 17 00:00:00 2001 From: Pierre Guillot Date: Tue, 27 Aug 2024 16:08:37 +0200 Subject: [PATCH 08/17] Update docs/whisper-manual.md --- docs/whisper-manual.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/whisper-manual.md b/docs/whisper-manual.md index 5707127..13fe10f 100644 --- a/docs/whisper-manual.md +++ b/docs/whisper-manual.md @@ -21,7 +21,11 @@ ## Introduction -The Whisper plugin is an implementation of the [Whisper](https://github.com/openai/whisper) speech recognition model developed by [OpenAI](https://openai.com/) as a [Vamp plugin](https://www.vamp-plugins.org/). The Whisper plugin analyses the text in the audio stream and generates markers corresponding to the tokens (words and/or syllables) found. The lightweight ggml-tiny model is embedded in the plugin (so you don’t have to download anything to start experimenting), but it is possible to download and use other models that may be more appropriate to your needs. +The Whisper plugin is an implementation of the [Whisper](https://github.com/openai/whisper) speech recognition model developed by [OpenAI](https://openai.com/) as a [Vamp plugin](https://www.vamp-plugins.org/). + +The Whisper plugin analyses the text in the audio stream and generates markers corresponding to phrases, words or tokens (depending on the *Split Mode* parameter). The *Suppress Non-Speech Tokens* parameter controls whether non-speech tokens are generated (only usable with *Split Mode* on *Tokens*). + +The lightweight ggml-tiny model is embedded in the plugin (so you don’t have to download anything to start experimenting), but it is possible to download and use other models that may be more appropriate to your needs. The Whisper Vamp Plugin has been designed for use in the free audio analysis application [Partiels](https://forum.ircam.fr/projects/detail/partiels/). From 7565fc60ad994e90ac7cd9b89756ae0dea2ebdba Mon Sep 17 00:00:00 2001 From: Pierre Guillot Date: Wed, 28 Aug 2024 10:53:29 +0200 Subject: [PATCH 09/17] Use clang instead of gcc on GitHub Actions for Linux --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a59eefc..b68eb64 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -54,7 +54,7 @@ jobs: enableCrossOsArchive: true - uses: seanmiddleditch/gha-setup-ninja@master - name: Configure - run: cmake -B ${{ github.workspace }}/build -G Ninja -DCMAKE_BUILD_TYPE=${{ env.build_type }} -DBPVP_BUILD_TAG=${{ env.tag_name }} + run: cmake -B ${{ github.workspace }}/build -G Ninja -DCMAKE_BUILD_TYPE=${{ env.build_type }} -DCMAKE_C_COMPILER="/usr/bin/clang" -DCMAKE_CXX_COMPILER="/usr/bin/clang++" -DBPVP_BUILD_TAG=${{ env.tag_name }} - name: Build run: cmake --build ${{ github.workspace }}/build - name: Test From 6fd578880901b6689094f23acdcf75c4d8c41da7 Mon Sep 17 00:00:00 2001 From: Pierre Guillot Date: Wed, 28 Aug 2024 11:06:32 +0200 Subject: [PATCH 10/17] Fix include in source/wvp.cpp --- source/wvp.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/source/wvp.cpp b/source/wvp.cpp index 946d18b..720a248 100644 --- a/source/wvp.cpp +++ b/source/wvp.cpp @@ -1,5 +1,6 @@ #include "wvp.h" #include "wvp_model.h" +#include #include #include #include From 6cf0ed06605d607b35ad037705a6df5be466283e Mon Sep 17 00:00:00 2001 From: Pierre Guillot Date: Wed, 28 Aug 2024 16:37:46 +0200 Subject: [PATCH 11/17] Update vamp-plugin-packager --- vamp-plugin-packager | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vamp-plugin-packager b/vamp-plugin-packager index 5be6c20..e2b4869 160000 --- a/vamp-plugin-packager +++ b/vamp-plugin-packager @@ -1 +1 @@ -Subproject commit 5be6c2029e7ecdd99e9d9141cd3aee6f40e8e186 +Subproject commit e2b4869538469d8fe1f61ce8033d10ac6620d92e From 41d2b12779b77c31031fcc396f15dd409d7a9edd Mon Sep 17 00:00:00 2001 From: Pierre Guillot Date: Tue, 27 Aug 2024 17:52:40 +0200 Subject: [PATCH 12/17] Update test/whisper.ptldoc --- test/whisper.ptldoc | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/test/whisper.ptldoc b/test/whisper.ptldoc index d4baaf2..b44ef51 100644 --- a/test/whisper.ptldoc +++ b/test/whisper.ptldoc @@ -14,7 +14,7 @@ - @@ -53,21 +53,21 @@ - - + + - - + + - - + @@ -92,12 +92,12 @@ - + - + - + From 62fbcd74a1c91fa58867a43aba3bc50d4d956a15 Mon Sep 17 00:00:00 2001 From: Pierre Guillot Date: Tue, 27 Aug 2024 17:47:00 +0200 Subject: [PATCH 13/17] Use base-q5_1 as embedded model and add other q5 models to packaging --- CMakeLists.txt | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2899ce7..0d5d926 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -71,15 +71,37 @@ set(VPP_DIR ${CMAKE_CURRENT_SOURCE_DIR}/package CACHE PATH "The directory of the include(vamp-plugin-packager/vamp-plugin-packager.cmake) ### Source ### +file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/models") +foreach(WVP_MODEL_CAPACITY IN ITEMS "tiny-q5_1" "small-q5_1" "medium-q5_0" "large-v2-q5_0") + set(WVP_MODEL_PATH "${CMAKE_CURRENT_BINARY_DIR}/models/ggml-${WVP_MODEL_CAPACITY}.bin") + if(NOT EXISTS ${WVP_MODEL_PATH}) + message(STATUS "Downloading model ggml-${WVP_MODEL_CAPACITY}.bin") + if(WIN32) + execute_process(COMMAND ${whisper_cpp_SOURCE_DIR}/models/download-ggml-model.cmd ${WVP_MODEL_CAPACITY}) + else() + execute_process(COMMAND ${whisper_cpp_SOURCE_DIR}/models/download-ggml-model.sh ${WVP_MODEL_CAPACITY}) + endif() + file(COPY_FILE "${whisper_cpp_SOURCE_DIR}/models/ggml-${WVP_MODEL_CAPACITY}.bin" ${WVP_MODEL_PATH}) + file(REMOVE "${whisper_cpp_SOURCE_DIR}/models/ggml-${WVP_MODEL_CAPACITY}.bin") + endif() + if(APPLE) + vpp_add_file(${WVP_MODEL_PATH} "/Library/Application Support/Ircam/whispermodels") + elseif(WIN32) + vpp_add_file(${WVP_MODEL_PATH} "{commonappdata}\\Ircam\\whispermodels") + elseif(UNIX) + vpp_add_file(${WVP_MODEL_PATH} "$HOME/.config/Ircam/whispermodels") + endif() +endforeach() + set(WVP_MODEL_CPP ${CMAKE_CURRENT_BINARY_DIR}/source/wvp_model.cpp) set(WVP_MODEL_H ${CMAKE_CURRENT_SOURCE_DIR}/source/wvp_model.h) if(NOT EXISTS ${WVP_MODEL_CPP}) if(WIN32) - execute_process(COMMAND ${whisper_cpp_SOURCE_DIR}/models/download-ggml-model.cmd tiny) + execute_process(COMMAND ${whisper_cpp_SOURCE_DIR}/models/download-ggml-model.cmd base-q5_1) else() - execute_process(COMMAND ${whisper_cpp_SOURCE_DIR}/models/download-ggml-model.sh tiny) + execute_process(COMMAND ${whisper_cpp_SOURCE_DIR}/models/download-ggml-model.sh base-q5_1) endif() - set(WVP_MODEL_PATH "${whisper_cpp_SOURCE_DIR}/models/ggml-tiny.bin") + set(WVP_MODEL_PATH "${whisper_cpp_SOURCE_DIR}/models/ggml-base-q5_1.bin") file(RELATIVE_PATH WVP_MODEL_HREL "${CMAKE_CURRENT_BINARY_DIR}/source" ${WVP_MODEL_H}) file(WRITE ${WVP_MODEL_CPP} "#include \"${WVP_MODEL_HREL}\"\n\n") From efcbc8a92ca5f63fda4acb1ace0cd8ac24b10208 Mon Sep 17 00:00:00 2001 From: Pierre Guillot Date: Wed, 28 Aug 2024 16:41:44 +0200 Subject: [PATCH 14/17] Improve name of default embedded model --- source/wvp.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/wvp.cpp b/source/wvp.cpp index 720a248..4ae78e6 100644 --- a/source/wvp.cpp +++ b/source/wvp.cpp @@ -349,7 +349,7 @@ Wvp::Plugin::ParameterList Wvp::Plugin::getParameterDescriptors() const param.name = "Model"; param.description = "The model used to generate the tokens"; param.unit = ""; - param.valueNames.push_back("embedded"); + param.valueNames.push_back("ggml-base-q5_1 (embedded)"); for(auto const& model : models) { param.valueNames.push_back(model.filename().replace_extension().string()); From fb719b6dae29433ff6c38993667256bbe41293dd Mon Sep 17 00:00:00 2001 From: Pierre Guillot Date: Wed, 28 Aug 2024 17:29:54 +0200 Subject: [PATCH 15/17] Update docs/whisper-manual.md --- docs/whisper-manual.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/whisper-manual.md b/docs/whisper-manual.md index 13fe10f..5cb6681 100644 --- a/docs/whisper-manual.md +++ b/docs/whisper-manual.md @@ -25,7 +25,7 @@ The Whisper plugin is an implementation of the [Whisper](https://github.com/open The Whisper plugin analyses the text in the audio stream and generates markers corresponding to phrases, words or tokens (depending on the *Split Mode* parameter). The *Suppress Non-Speech Tokens* parameter controls whether non-speech tokens are generated (only usable with *Split Mode* on *Tokens*). -The lightweight ggml-tiny model is embedded in the plugin (so you don’t have to download anything to start experimenting), but it is possible to download and use other models that may be more appropriate to your needs. +The lightweight ggml-base-q5_1 model is embedded in the plugin and the other q5 models (tiny, small, medium, and large_v2) will be installed on your system. The *Model* parameter is used to select which model to use. You can also download and use other models that may be more appropriate to your needs. Please, refer to the following section dedicated to models. The Whisper Vamp Plugin has been designed for use in the free audio analysis application [Partiels](https://forum.ircam.fr/projects/detail/partiels/). @@ -44,9 +44,9 @@ Use the installer for your operating system. The plugin dynamic library (*whispe ## Models -By default, the plugin embeds the ggml-tiny model, which requires little space and offers fairly fast calculation but relatively unreliable results. +By default, the plugin embeds the ggml-base-q5_1, which requires little space and offers fairly fast calculation and the other q5 models (tiny, small, medium, large_v2, and large_v3) are installed on your system. -It is possible to download other models that are potentially more robust. To do this, you can use the `download-ggml-model.sh/cmd` scripts from Georgi Gerganov's [Whisper.cpp](https://github.com/ggerganov/whisper.cpp) project and provided with the plugin package. Once downloaded, these models must be installed in the repository: +It is possible to download other models that are potentially more robust or more adapted to your needs. To do this, you can use the `download-ggml-model.sh/cmd` scripts from Georgi Gerganov's [Whisper.cpp](https://github.com/ggerganov/whisper.cpp) project and provided with the plugin package. Once downloaded, these models must be installed in the repository: - Linux: `~/.config/Ircam/whispermodels` or `/opt/Ircam/whispermodels` - MacOS: `~/Library/Application Support/Ircam/whispermodels` or `/Library/Application Support/Ircam/whispermodels` - Windows: `\Documents and Settings\username\Application Data\Ircam\whispermodels` or `\Documents and Settings\All Users\Application Data\Ircam\whispermodels` From d1893b6e75d982b7320e242d7290f05c2d146079 Mon Sep 17 00:00:00 2001 From: Pierre Guillot Date: Wed, 28 Aug 2024 17:53:22 +0200 Subject: [PATCH 16/17] Rename cache wvp-model-base-q5_1 in .github/workflows/ci.yml --- .github/workflows/ci.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b68eb64..cb6a251 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -34,7 +34,7 @@ jobs: uses: actions/cache@v4 with: path: ./build/source - key: wvp-model-tiny + key: wvp-model-base-q5_1 enableCrossOsArchive: true - name: Configure run: cmake -B ${{ github.workspace }}/build -DCMAKE_BUILD_TYPE=${{ env.build_type }} @@ -50,7 +50,7 @@ jobs: uses: actions/cache@v4 with: path: ./build/source - key: wvp-model-tiny + key: wvp-model-base-q5_1 enableCrossOsArchive: true - uses: seanmiddleditch/gha-setup-ninja@master - name: Configure @@ -86,7 +86,7 @@ jobs: uses: actions/cache@v4 with: path: ./build/source - key: wvp-model-tiny + key: wvp-model-base-q5_1 enableCrossOsArchive: true - name: Prepare run: powershell -Command "& {[System.IO.File]::WriteAllBytes('${{ github.workspace }}\cert.p12', [System.Convert]::FromBase64String('${{ secrets.SECTIGO_CERT_P12}}'))}" @@ -124,7 +124,7 @@ jobs: uses: actions/cache@v4 with: path: ./build/source - key: wvp-model-tiny + key: wvp-model-base-q5_1 enableCrossOsArchive: true - name: Prepare run: | @@ -179,7 +179,7 @@ jobs: uses: actions/cache@v4 with: path: ./build/source - key: wvp-model-tiny + key: wvp-model-base-q5_1 enableCrossOsArchive: true - name: Configure run: cmake -B ${{ github.workspace }}/build -DCMAKE_BUILD_TYPE=${{ env.build_type }} -DBPVP_BUILD_TAG=${{ env.tag_name }} From cdfe42c1c88719656d4ea44aa4f2606335cd786e Mon Sep 17 00:00:00 2001 From: Pierre Guillot Date: Wed, 28 Aug 2024 17:54:58 +0200 Subject: [PATCH 17/17] Add wvp-models-q5 cache in .github/workflows/ci.yml --- .github/workflows/ci.yml | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index cb6a251..837d8e3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -36,6 +36,12 @@ jobs: path: ./build/source key: wvp-model-base-q5_1 enableCrossOsArchive: true + - name: Cache + uses: actions/cache@v4 + with: + path: ./build/models + key: wvp-models-q5 + enableCrossOsArchive: true - name: Configure run: cmake -B ${{ github.workspace }}/build -DCMAKE_BUILD_TYPE=${{ env.build_type }} # Compiles, tests and packages the plugin for Ubuntu. @@ -52,6 +58,12 @@ jobs: path: ./build/source key: wvp-model-base-q5_1 enableCrossOsArchive: true + - name: Cache + uses: actions/cache@v4 + with: + path: ./build/models + key: wvp-models-q5 + enableCrossOsArchive: true - uses: seanmiddleditch/gha-setup-ninja@master - name: Configure run: cmake -B ${{ github.workspace }}/build -G Ninja -DCMAKE_BUILD_TYPE=${{ env.build_type }} -DCMAKE_C_COMPILER="/usr/bin/clang" -DCMAKE_CXX_COMPILER="/usr/bin/clang++" -DBPVP_BUILD_TAG=${{ env.tag_name }} @@ -88,6 +100,12 @@ jobs: path: ./build/source key: wvp-model-base-q5_1 enableCrossOsArchive: true + - name: Cache + uses: actions/cache@v4 + with: + path: ./build/models + key: wvp-models-q5 + enableCrossOsArchive: true - name: Prepare run: powershell -Command "& {[System.IO.File]::WriteAllBytes('${{ github.workspace }}\cert.p12', [System.Convert]::FromBase64String('${{ secrets.SECTIGO_CERT_P12}}'))}" - name: Configure @@ -126,6 +144,12 @@ jobs: path: ./build/source key: wvp-model-base-q5_1 enableCrossOsArchive: true + - name: Cache + uses: actions/cache@v4 + with: + path: ./build/models + key: wvp-models-q5 + enableCrossOsArchive: true - name: Prepare run: | security create-keychain -p ${{ secrets.DEV_ID_PASSWORD }} buildagent @@ -181,6 +205,12 @@ jobs: path: ./build/source key: wvp-model-base-q5_1 enableCrossOsArchive: true + - name: Cache + uses: actions/cache@v4 + with: + path: ./build/models + key: wvp-models-q5 + enableCrossOsArchive: true - name: Configure run: cmake -B ${{ github.workspace }}/build -DCMAKE_BUILD_TYPE=${{ env.build_type }} -DBPVP_BUILD_TAG=${{ env.tag_name }} - name: Build