Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(audio): implement MKL-accelerated speech-to-text for Mac #328

Open
wants to merge 5 commits into
base: main
Choose a base branch
from

Conversation

onyedikachi-david
Copy link

/claim #318
Fixes: #318

@louis030195
Copy link
Collaborator

@onyedikachi-david plz do not touch benchmark stuff

mkl should not be default feature

and release-app.yml should work with mkl feature on windows and linux

@louis030195
Copy link
Collaborator

cehck this to run actions locally https://github.com/nektos/act

- Update Cargo.toml to include MKL feature
- Modify release-app.yml to use MKL feature for Windows and Linux
- Keep Metal feature for macOS builds
- Set RUSTFLAGS for optimized builds on Windows and Linux

Signed-off-by: David Anyatonwu <[email protected]>
@onyedikachi-david onyedikachi-david marked this pull request as ready for review September 16, 2024 11:23
@@ -80,10 +80,12 @@ criterion = { workspace = true }
memory-stats = "1.0"

[features]
default = ["metal"]
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why metal? and remove cuda? ???

windows / linux user dont want to use metal

@@ -150,6 +152,8 @@ jobs:
export PKG_CONFIG_PATH="/usr/local/opt/ffmpeg/lib/pkgconfig:$PKG_CONFIG_PATH"
export PKG_CONFIG_ALLOW_CROSS=1
export RUSTFLAGS="-C link-arg=-Wl,-rpath,@executable_path/../Frameworks -C link-arg=-Wl,-rpath,@loader_path/../Frameworks -C link-arg=-Wl,-install_name,@rpath/libscreenpipe.dylib"
elif [[ "${{ matrix.platform }}" == "ubuntu-22.04" || "${{ matrix.platform }}" == "windows-latest" ]]; then
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what does this do?

Signed-off-by: David Anyatonwu <[email protected]>
@@ -86,6 +86,17 @@ impl WhisperModel {
device,
})
}

fn get_optimal_device() -> Result<Device> {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why removed cuda?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh, it was an oversight. Thank you.

Signed-off-by: David Anyatonwu <[email protected]>
@onyedikachi-david
Copy link
Author

cehck this to run actions locally https://github.com/nektos/act

I am unable to get this work; I am using this command, but it errors

Command: act -W .github/workflows/release-app.yml --container-architecture linux/amd64 -j publish-tauri --pull

Error:

Details

act -W .github/workflows/release-app.yml --container-architecture linux/amd64 -j publish-tauri --pull
INFO[0000] Using docker host 'unix:///var/run/docker.sock', and daemon socket 'unix:///var/run/docker.sock'
[Release App/draft] 🚀  Start image=catthehacker/ubuntu:act-latest
[Release App/draft]   🐳  docker pull image=catthehacker/ubuntu:act-latest platform=linux/amd64 username= forcePull=true
[Release App/draft]   🐳  docker create image=catthehacker/ubuntu:act-latest platform=linux/amd64 entrypoint=["tail" "-f" "/dev/null"] cmd=[] network="host"
[Release App/draft]   🐳  docker run image=catthehacker/ubuntu:act-latest platform=linux/amd64 entrypoint=["tail" "-f" "/dev/null"] cmd=[] network="host"
[Release App/draft]   🐳  docker exec cmd=[node --no-warnings -e console.log(process.execPath)] user= workdir=
[Release App/draft]   ☁  git clone 'https://github.com/crabnebula-dev/cloud-release' # ref=v0
[Release App/draft] ⭐ Run Pre create draft release
[Release App/draft]   ☁  git clone 'https://github.com/actions/cache' # ref=v4
[Release App/draft]   ☁  git clone 'https://github.com/actions/cache' # ref=v4
[Release App/draft]   ✅  Success - Pre create draft release
[Release App/draft] ⭐ Run Main actions/checkout@v4
[Release App/draft]   🐳  docker cp src=/Users/onyedikachi/Documents/codes/algora-bounties/screenpipe/. dst=/Users/onyedikachi/Documents/codes/algora-bounties/screenpipe
[Release App/draft]   ✅  Success - Main actions/checkout@v4
[Release App/draft] ⭐ Run Main create draft release
[Release App/draft]   🐳  docker cp src=/Users/onyedikachi/.cache/act/crabnebula-dev-cloud-release@v0/ dst=/var/run/act/actions/crabnebula-dev-cloud-release@v0/
[Release App/draft] ⭐ Run Main Get current date
[Release App/draft]   🐳  docker exec cmd=[bash --noprofile --norc -e -o pipefail /var/run/act/workflow/1-composite-0.sh] user= workdir=
[Release App/draft]   ✅  Success - Main Get current date
[Release App/draft]   ⚙  ::set-env:: CURRENT_DATE=2024-09-17
[Release App/draft] ⭐ Run Main Cache CLI
[Release App/draft]   🐳  docker cp src=/Users/onyedikachi/.cache/act/actions-cache-restore@v4/ dst=/var/run/act/actions/actions-cache-restore@v4/
[Release App/draft]   🐳  docker exec cmd=[/opt/acttoolcache/node/18.20.4/x64/bin/node /var/run/act/actions/actions-cache-restore@v4/dist/restore-only/index.js] user= workdir=
[Release App/draft]   💬  ::debug::Resolved Keys:
[Release App/draft]   💬  ::debug::["Linux-ARM64-cn-2024-09-17"]
[Release App/draft]   💬  ::debug::Checking zstd --quiet --version
[Release App/draft]   💬  ::debug::1.4.8
[Release App/draft]   💬  ::debug::zstd version: 1.4.8
[Release App/draft]   💬  ::debug::Resource Url: http://192.168.179.55:54797/_apis/artifactcache/cache?keys=Linux-ARM64-cn-2024-09-17&version=f3ff9bf2703664aec57193db3d61fb84cea1a68e5dbfa0f54a0c7cdd8e7164b6
[Release App/draft]   ⚙  ***
[Release App/draft]   💬  ::debug::Cache Result:
[Release App/draft]   💬  ::debug::{"archiveLocation":"***","cacheKey":"linux-arm64-cn-2024-09-17","result":"hit"}
[Release App/draft]   💬  ::debug::Archive Path: /tmp/43517925-207a-466a-9973-300605775203/cache.tzst
[Release App/draft]   💬  ::debug::Use Azure SDK: false
[Release App/draft]   💬  ::debug::Download concurrency: 8
[Release App/draft]   💬  ::debug::Request timeout (ms): 30000
[Release App/draft]   💬  ::debug::Cache segment download timeout mins env var: undefined
[Release App/draft]   💬  ::debug::Segment download timeout (ms): 600000
[Release App/draft]   💬  ::debug::Lookup only: false
| Cache Size: ~1 MB (1367415 B)
| [command]/usr/bin/tar -xf /tmp/43517925-207a-466a-9973-300605775203/cache.tzst -P -C /Users/onyedikachi/Documents/codes/algora-bounties/screenpipe --use-compress-program unzstd
| Cache restored successfully
| Cache restored from key: linux-arm64-cn-2024-09-17
[Release App/draft]   ✅  Success - Main Cache CLI
[Release App/draft]   ⚙  ::set-output:: cache-primary-key=Linux-ARM64-cn-2024-09-17
[Release App/draft]   ⚙  ::set-output:: cache-matched-key=linux-arm64-cn-2024-09-17
[Release App/draft]   ⚙  ::set-output:: cache-hit=true
[Release App/draft] ⭐ Run Main actions/cache/save@v4
[Release App/draft]   🐳  docker cp src=/Users/onyedikachi/.cache/act/actions-cache-save@v4/ dst=/var/run/act/actions/actions-cache-save@v4/
[Release App/draft]   🐳  docker exec cmd=[/opt/acttoolcache/node/18.20.4/x64/bin/node /var/run/act/actions/actions-cache-save@v4/dist/save-only/index.js] user= workdir=
[Release App/draft]   💬  ::debug::Checking zstd --quiet --version
[Release App/draft]   💬  ::debug::1.4.8
[Release App/draft]   💬  ::debug::zstd version: 1.4.8
[Release App/draft]   💬  ::debug::implicitDescendants 'false'
[Release App/draft]   💬  ::debug::followSymbolicLinks 'true'
[Release App/draft]   💬  ::debug::implicitDescendants 'false'
[Release App/draft]   💬  ::debug::omitBrokenSymbolicLinks 'true'
[Release App/draft]   💬  ::debug::Search path '/Users/onyedikachi/Documents/codes/algora-bounties/screenpipe/cn'
[Release App/draft]   💬  ::debug::Matched: cn
[Release App/draft]   💬  ::debug::Cache Paths:
[Release App/draft]   💬  ::debug::["cn"]
[Release App/draft]   💬  ::debug::Archive Path: /tmp/61da6c1d-bbe6-4575-8c1b-3000628bf274/cache.tzst
| [command]/usr/bin/tar --posix -cf cache.tzst --exclude cache.tzst -P -C /Users/onyedikachi/Documents/codes/algora-bounties/screenpipe --files-from manifest.txt --use-compress-program zstdmt
[Release App/draft]   💬  ::debug::File Size: 1367413
[Release App/draft]   💬  ::debug::Reserving Cache
[Release App/draft]   💬  ::debug::Resource Url: http://192.168.179.55:54797/_apis/artifactcache/caches
[Release App/draft]   💬  ::debug::Saving Cache (ID: 11)
[Release App/draft]   💬  ::debug::Upload cache
[Release App/draft]   💬  ::debug::Resource Url: http://192.168.179.55:54797/_apis/artifactcache/caches/11
[Release App/draft]   💬  ::debug::Upload concurrency: 4
[Release App/draft]   💬  ::debug::Upload chunk size: 33554432
[Release App/draft]   💬  ::debug::Awaiting all uploads
[Release App/draft]   💬  ::debug::Uploading chunk of size 1367413 bytes at offset 0 with content range: bytes 0-1367412/*
[Release App/draft]   💬  ::debug::Commiting cache
| Cache Size: ~1 MB (1367413 B)
[Release App/draft]   💬  ::debug::Resource Url: http://192.168.179.55:54797/_apis/artifactcache/caches/11
| Cache saved successfully
| Cache saved with key: Linux-ARM64-cn-2024-09-17
[Release App/draft]   ✅  Success - Main actions/cache/save@v4
[Release App/draft] ⭐ Run Main Run Command
[Release App/draft]   🐳  docker exec cmd=[bash --noprofile --norc -e -o pipefail /var/run/act/workflow/1-composite-run-command.sh] user= workdir=.
| /var/run/act/workflow/1-composite-run-command.sh: line 4: ././cn: No such file or directory
[Release App/draft]   ❌  Failure - Main Run Command
[Release App/draft] exitcode '127': command not found, please refer to https://github.com/nektos/act/issues/107 for more information
[Release App/draft]   ⚙  ::set-output:: stdout=
[Release App/draft]   ❌  Failure - Main create draft release
[Release App/draft] exitcode '127': command not found, please refer to https://github.com/nektos/act/issues/107 for more information
[Release App/draft] ⭐ Run Post create draft release
[Release App/draft]   🐳  docker cp src=/Users/onyedikachi/.cache/act/crabnebula-dev-cloud-release@v0/ dst=/var/run/act/actions/crabnebula-dev-cloud-release@v0/
[Release App/draft]   ✅  Success - Post create draft release
[Release App/draft] 🏁  Job failed
Error: Job 'draft' failed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

gpu, accelerated cpu support for STT & VAD
2 participants