diff --git a/.gitignore b/.gitignore index 6e66c721..11a7e59e 100644 --- a/.gitignore +++ b/.gitignore @@ -30,3 +30,5 @@ benchmarks.json *.egg-info /coverage/ /wheelhouse/ +/.flatpak-builder +/repo \ No newline at end of file diff --git a/README.md b/README.md index 8199a14d..9e5209c2 100644 --- a/README.md +++ b/README.md @@ -62,3 +62,11 @@ sudo snap connect buzz:removable-media ### Latest development version For info on how to get latest development version with latest features and bug fixes see [FAQ](https://chidiwilliams.github.io/buzz/docs/faq#9-where-can-i-get-latest-development-version). + +### Screenshots + +File import +Main screen +Preferences +Transcript +Live recording \ No newline at end of file diff --git a/flatpak/libapparmor.so.1 b/flatpak/libapparmor.so.1 new file mode 100644 index 00000000..e73735d2 Binary files /dev/null and b/flatpak/libapparmor.so.1 differ diff --git a/flatpak/libavutil.so.58 b/flatpak/libavutil.so.58 new file mode 100644 index 00000000..9483e4ca Binary files /dev/null and b/flatpak/libavutil.so.58 differ diff --git a/flatpak/libbsd.so.0 b/flatpak/libbsd.so.0 new file mode 100644 index 00000000..432649c5 Binary files /dev/null and b/flatpak/libbsd.so.0 differ diff --git a/flatpak/libdb-5.3.so b/flatpak/libdb-5.3.so new file mode 100644 index 00000000..fdb5c3d8 Binary files /dev/null and b/flatpak/libdb-5.3.so differ diff --git a/flatpak/libmd.so.0 b/flatpak/libmd.so.0 new file mode 100644 index 00000000..8b25f998 Binary files /dev/null and b/flatpak/libmd.so.0 differ diff --git a/flatpak/run-buzz.sh b/flatpak/run-buzz.sh new file mode 100644 index 00000000..fa136c3b --- /dev/null +++ b/flatpak/run-buzz.sh @@ -0,0 +1,3 @@ +#!/bin/sh +echo "Running buzz..." +python -m buzz \ No newline at end of file diff --git a/io.github.chidiwilliams.Buzz.yml b/io.github.chidiwilliams.Buzz.yml new file mode 100644 index 00000000..779c8b71 --- /dev/null +++ b/io.github.chidiwilliams.Buzz.yml @@ -0,0 +1,90 @@ +# Building notes: +# See https://docs.flathub.org/docs/for-app-authors/submission/ +# This flatpak is build from the snap package. +# - Get relevant snap package infor - curl -H 'Snap-Device-Series: 16' http://api.snapcraft.io/v2/snaps/info/buzz # | jq +# - Download snap and generate sha256sum, update yaml entry. + +app-id: io.github.chidiwilliams.Buzz +runtime: org.freedesktop.Platform +# TODO - Update to 24.08 when snap is updated to core24 +runtime-version: '22.08' # To match `core22` of the snap +sdk: org.freedesktop.Sdk +command: run-buzz.sh +finish-args: + - --socket=wayland + - --socket=fallback-x11 + - --socket=pulseaudio + - --talk-name=org.freedesktop.secrets + - --device=dri + # TODO switch to input when it is available + #- --device=input + - --device=all + - --share=network + - --share=ipc + - --filesystem=xdg-documents + # Environment variables + - --env=LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/app/lib/python3.10/site-packages/nvidia/cudnn/lib:/app/lib/python3.10/site-packages/PyQt6:/app/lib/python3.10/site-packages/PyQt6/Qt6/lib:/app/usr/lib/x86_64-linux-gnu/lapack:/app/usr/lib/x86_64-linux-gnu/blas:/app/usr/lib/x86_64-linux-gnu/pulseaudio:/app/usr/lib/x86_64-linux-gnu:/app/lib/x86_64-linux-gnu/ + - --env=PYTHONPATH=$PYTHONPATH:/app/lib/python3.10/site-packages:/app/lib/python3.10/site-packages/PyQt6:/app/lib/python3.10/site-packages/PyQt6/Qt6/lib + +modules: + - name: unsquashfs + buildsystem: simple + build-commands: + - XZ_SUPPORT=1 make -C squashfs-tools -j ${FLATPAK_BUILDER_N_JOBS} unsquashfs + - install -Dpm755 -t "${FLATPAK_DEST}/bin" squashfs-tools/unsquashfs + sources: + - type: git + url: https://github.com/plougher/squashfs-tools.git + tag: 4.6.1 + commit: d8cb82d9840330f9344ec37b992595b5d7b44184 + + - name: snap + buildsystem: simple + build-commands: + - unsquashfs -dest buzz -quiet -no-progress buzz.snap + - cp -rT buzz ${FLATPAK_DEST} && rm -rf buzz + sources: + - type: file + dest-filename: buzz.snap + # Stable + url: https://api.snapcraft.io/api/v1/snaps/download/RSpCVxCNDwoTXHPXhlYQnziD0jQhVnKA_362.snap + sha256: fbc045426c867b1d7ee01178d4f53d785c161709e2a9db6854cefec29aa510d7 + # Edge + #url: https://api.snapcraft.io/api/v1/snaps/download/RSpCVxCNDwoTXHPXhlYQnziD0jQhVnKA_402.snap + #sha256: 0acecacf8fa476bf6d7afcd98b7b557829b70cfa8b1d57e6ff5248737b63ab60 + + # Borrowed from https://github.com/flathub/org.audacityteam.Audacity/blob/master/org.audacityteam.Audacity.yaml + - name: portaudio + buildsystem: cmake-ninja + config-opts: + - -DCMAKE_BUILD_TYPE=RelWithDebInfo + sources: + - type: archive + url: https://github.com/PortAudio/portaudio/archive/refs/tags/v19.7.0.tar.gz + sha256: 5af29ba58bbdbb7bbcefaaecc77ec8fc413f0db6f4c4e286c40c3e1b83174fa0 + + # Borrowed from https://github.com/flathub/org.freedownloadmanager.Manager/pull/20/files + - name: kerberos + subdir: src + sources: + - type: archive + url: https://kerberos.org/dist/krb5/1.21/krb5-1.21.tar.gz + sha256: 69f8aaff85484832df67a4bbacd99b9259bd95aab8c651fbbe65cdc9620ea93b + + - name: Buzz + buildsystem: simple + build-commands: + - install -Dm755 flatpak/run-buzz.sh ${FLATPAK_DEST}/bin/run-buzz.sh + + - install -Dm644 share/icons/${FLATPAK_ID}.svg ${FLATPAK_DEST}/share/icons/hicolor/scalable/apps/${FLATPAK_ID}.svg + - install -Dm644 share/applications/${FLATPAK_ID}.desktop ${FLATPAK_DEST}/share/applications/${FLATPAK_ID}.desktop + - install -Dm644 share/metainfo/${FLATPAK_ID}.metainfo.xml ${FLATPAK_DEST}/share/metainfo/${FLATPAK_ID}.metainfo.xml + + - install -Dm644 flatpak/libbsd.so.0 ${FLATPAK_DEST}/lib/x86_64-linux-gnu/libbsd.so.0 + - install -Dm644 flatpak/libmd.so.0 ${FLATPAK_DEST}/lib/x86_64-linux-gnu/libmd.so.0 + - install -Dm644 flatpak/libdb-5.3.so ${FLATPAK_DEST}/lib/x86_64-linux-gnu/libdb-5.3.so + - install -Dm644 flatpak/libapparmor.so.1 ${FLATPAK_DEST}/lib/x86_64-linux-gnu/libapparmor.so.1 + - install -Dm644 flatpak/libavutil.so.58 ${FLATPAK_DEST}/lib/x86_64-linux-gnu/libavutil.so.58 + sources: + - type: dir + path: . diff --git a/share/applications/io.github.chidiwilliams.Buzz.desktop b/share/applications/io.github.chidiwilliams.Buzz.desktop new file mode 100644 index 00000000..b087112a --- /dev/null +++ b/share/applications/io.github.chidiwilliams.Buzz.desktop @@ -0,0 +1,15 @@ +[Desktop Entry] + +Type=Application + +Encoding=UTF-8 + +Name=Buzz + +Comment=Transcribe and translate audio + +Exec=run-buzz.sh + +Icon=io.github.chidiwilliams.Buzz + +Terminal=false diff --git a/share/icons/io.github.chidiwilliams.Buzz.svg b/share/icons/io.github.chidiwilliams.Buzz.svg new file mode 100644 index 00000000..ce85e422 --- /dev/null +++ b/share/icons/io.github.chidiwilliams.Buzz.svg @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/share/metainfo/io.github.chidiwilliams.Buzz.metainfo.xml b/share/metainfo/io.github.chidiwilliams.Buzz.metainfo.xml new file mode 100644 index 00000000..cde26dfc --- /dev/null +++ b/share/metainfo/io.github.chidiwilliams.Buzz.metainfo.xml @@ -0,0 +1,74 @@ + + + io.github.chidiwilliams.Buzz + + Buzz + Transcribe and translate audio + CC0-1.0 + MIT + Chidi Williams + + +

+ Buzz transcribes and translates audio to text offline using OpenAI's Whisper. Import audio and video files into Buzz and export them as TXT, SRT, or VTT files. Buzz supports Whisper, Whisper.cpp, Faster Whisper, Whisper-compatible models from the Hugging Face repository, and the OpenAI Whisper API. +

+
+ + + AudioVideo + + + https://github.com/chidiwilliams/buzz/issues + https://github.com/chidiwilliams/buzz + https://chidiwilliams.github.io/buzz/docs + + + #f66151 + #45124d + + + + keyboard + pointing + + io.github.chidiwilliams.Buzz.desktop + + + https://github.com/chidiwilliams/buzz/raw/main/share/screenshots/buzz-1-import.png + File and url import options + + + https://github.com/chidiwilliams/buzz/raw/main/share/screenshots/buzz-2-main_screen.png + Main screen with transcription results + + + https://github.com/chidiwilliams/buzz/raw/main/share/screenshots/buzz-3-preferences.png + Application preferences + + + https://github.com/chidiwilliams/buzz/raw/main/share/screenshots/buzz-4-transcript.png + Transcript with options for further processing and export + + + https://github.com/chidiwilliams/buzz/raw/main/share/screenshots/buzz-5-live_recording.png + Live recording transcription and translation options + + + + + + + + https://github.com/chidiwilliams/buzz/releases/tag/v1.2.0 + +

Changes in 1.2.0

+
    +
  • Dark mode support
  • +
  • Improved support for GPUs and Apple Core ML
  • +
  • Sliding window mode for live transcriptions
  • +
  • Bugfixes and other small improvements
  • +
+
+
+
+
\ No newline at end of file diff --git a/share/screenshots/buzz-1-import.png b/share/screenshots/buzz-1-import.png new file mode 100644 index 00000000..b45fd233 Binary files /dev/null and b/share/screenshots/buzz-1-import.png differ diff --git a/share/screenshots/buzz-2-main_screen.png b/share/screenshots/buzz-2-main_screen.png new file mode 100644 index 00000000..3ca8ca14 Binary files /dev/null and b/share/screenshots/buzz-2-main_screen.png differ diff --git a/share/screenshots/buzz-3-preferences.png b/share/screenshots/buzz-3-preferences.png new file mode 100644 index 00000000..a037a207 Binary files /dev/null and b/share/screenshots/buzz-3-preferences.png differ diff --git a/share/screenshots/buzz-4-transcript.png b/share/screenshots/buzz-4-transcript.png new file mode 100644 index 00000000..abcbcddd Binary files /dev/null and b/share/screenshots/buzz-4-transcript.png differ diff --git a/share/screenshots/buzz-5-live_recording.png b/share/screenshots/buzz-5-live_recording.png new file mode 100644 index 00000000..acbad66b Binary files /dev/null and b/share/screenshots/buzz-5-live_recording.png differ