Fix wheels (#1336)

This commit is contained in:
Raivis Dejus 2026-01-03 22:16:34 +02:00 committed by GitHub
commit 85d70c1e64
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
12 changed files with 41 additions and 121 deletions

View file

@ -183,6 +183,8 @@ jobs:
run: |
if [ "$RUNNER_OS" == "Windows" ]; then
uv add msvc-runtime
uv pip install -U torch==2.8.0+cu129 torchaudio==2.8.0+cu129 --index-url https://download.pytorch.org/whl/cu129
uv pip install nvidia-cublas-cu12==12.9.1.4 nvidia-cuda-cupti-cu12==12.9.79 nvidia-cuda-runtime-cu12==12.9.79 --extra-index-url https://pypi.ngc.nvidia.com
uv cache clean
uv run pip cache purge

View file

@ -1,5 +1,5 @@
# Change also in pyproject.toml and buzz/__version__.py
version := 1.4.1
version := 1.4.2
mac_app_path := ./dist/Buzz.app
mac_zip_path := ./dist/Buzz-${version}-mac.zip

View file

@ -2,7 +2,7 @@
# Buzz
[Documentation](https://chidiwilliams.github.io/buzz/) | [Buzz Captions on the App Store](https://apps.apple.com/us/app/buzz-captions/id6446018936?mt=12&itsct=apps_box_badge&itscg=30200)
[Documentation](https://chidiwilliams.github.io/buzz/)
Transcribe and translate audio offline on your personal computer. Powered by
OpenAI's [Whisper](https://github.com/openai/whisper).
@ -13,13 +13,6 @@ OpenAI's [Whisper](https://github.com/openai/whisper).
![GitHub release (latest by date)](https://img.shields.io/github/v/release/chidiwilliams/buzz)
[![Github all releases](https://img.shields.io/github/downloads/chidiwilliams/buzz/total.svg)](https://GitHub.com/chidiwilliams/buzz/releases/)
<blockquote>
<p>An older version of Buzz available on the App Store. Get a Mac-native version of Buzz with a cleaner look, audio playback, drag-and-drop import, transcript editing, search, and much more.</p>
<a href="https://apps.apple.com/us/app/buzz-captions/id6446018936?mt=12&amp;itsct=apps_box_badge&amp;itscg=30200"><img src="https://toolbox.marketingtools.apple.com/api/badges/download-on-the-mac-app-store/black/en-us?size=250x83&amp;releaseDate=1679529600" alt="Download on the Mac App Store" /></a>
</blockquote>
![Buzz](./buzz/assets/buzz-banner.jpg)
## Installation
### macOS
@ -58,6 +51,8 @@ sudo snap connect buzz:password-manager-service
Install [ffmpeg](https://www.ffmpeg.org/download.html)
Ensure you use Python 3.12 environment.
Install Buzz
```shell
@ -70,8 +65,8 @@ python -m buzz
To have GPU support for Nvidia GPUS on Windows, for PyPI installed version ensure, CUDA support for [torch](https://pytorch.org/get-started/locally/)
```
pip3 install -U torch==2.7.1+cu128 torchaudio==2.7.1+cu128 --index-url https://download.pytorch.org/whl/cu128
pip3 install nvidia-cublas-cu12==12.8.3.14 nvidia-cuda-cupti-cu12==12.8.57 nvidia-cuda-nvrtc-cu12==12.8.61 nvidia-cuda-runtime-cu12==12.8.57 nvidia-cudnn-cu12==9.7.1.26 nvidia-cufft-cu12==11.3.3.41 nvidia-curand-cu12==10.3.9.55 nvidia-cusolver-cu12==11.7.2.55 nvidia-cusparse-cu12==12.5.4.2 nvidia-cusparselt-cu12==0.6.3 nvidia-nvjitlink-cu12==12.8.61 nvidia-nvtx-cu12==12.8.55 --extra-index-url https://pypi.ngc.nvidia.com
pip3 install -U torch==2.8.0+cu129 torchaudio==2.8.0+cu129 --index-url https://download.pytorch.org/whl/cu129
pip3 install nvidia-cublas-cu12==12.9.1.4 nvidia-cuda-cupti-cu12==12.9.79 nvidia-cuda-runtime-cu12==12.9.79 --extra-index-url https://pypi.ngc.nvidia.com
```
### Latest development version

View file

@ -1 +1 @@
VERSION = "1.4.1"
VERSION = "1.4.2"

View file

@ -12,9 +12,6 @@ OpenAI's [Whisper](https://github.com/openai/whisper).
![GitHub release (latest by date)](https://img.shields.io/github/v/release/chidiwilliams/buzz)
[![Github all releases](https://img.shields.io/github/downloads/chidiwilliams/buzz/total.svg)](https://GitHub.com/chidiwilliams/buzz/releases/)
> Buzz is better on the App Store. Get a Mac-native version of Buzz with a cleaner look, audio playback, drag-and-drop import, transcript editing, search, and much more.
> <a href="https://apps.apple.com/us/app/buzz-captions/id6446018936?mt=12&amp;itsct=apps_box_badge&amp;itscg=30200"><img src="https://tools.applemediaservices.com/api/badges/download-on-the-mac-app-store/black/en-us?size=250x83&amp;releaseDate=1679529600" alt="Download on the Mac App Store" /></a>
## Features
- Import audio and video files and export transcripts to TXT, SRT, and

View file

@ -11,11 +11,6 @@ sidebar_position: 1
![GitHub release (latest by date)](https://img.shields.io/github/v/release/chidiwilliams/buzz)
[![Github all releases](https://img.shields.io/github/downloads/chidiwilliams/buzz/total.svg)](https://GitHub.com/chidiwilliams/buzz/releases/)
<blockquote>
<p>在 App Store 下载运行的性能更佳。 获得外观更整洁、音频播放、拖放导入、转录编辑、搜索等功能的原生Mac版本。</p>
<a href="https://apps.apple.com/cn/app/buzz-captions/id6446018936?mt=12&amp;itsct=apps_box_badge&amp;itscg=30200"><img src="https://toolbox.marketingtools.apple.com/api/badges/download-on-the-mac-app-store/black/zh-cn?size=250x83" alt="在 Mac App Store 下载" /></a>
</blockquote>
## 功能
- 导入音频和视频文件,并将转录内容导出为 TXT、SRT 和 VTT 格式([演示](https://www.loom.com/share/cf263b099ac3481082bb56d19b7c87fe)

View file

@ -3,7 +3,7 @@ title: 安装
sidebar_position: 2
---
要安装 Buzz请下载适用于您操作系统的[最新版本](https://github.com/chidiwilliams/buzz/releases/latest)。Buzz 支持 **Mac**Intel、**Windows** 和 **Linux** 系统。(对于 Apple Silicon 用户,请参阅 [App Store 版本](https://apps.apple.com/us/app/buzz-captions/id6446018936?mt=12&itsct=apps_box_badge&itscg=30200)。)
要安装 Buzz请下载适用于您操作系统的[最新版本](https://github.com/chidiwilliams/buzz/releases/latest)。Buzz 支持 **Mac**Intel、**Windows** 和 **Linux** 系统。
## macOSIntelmacOS 11.7 及更高版本)
@ -15,8 +15,7 @@ brew install --cask buzz
或者,下载并运行 `Buzz-x.y.z.dmg` 文件。
对于 Mac Silicon 用户(以及希望在 Mac Intel 上获得更好体验的用户),
请从 App Store 下载 [Buzz Captions](https://apps.apple.com/us/app/buzz-captions/id6446018936?mt=12&itsct=apps_box_badge&itscg=30200)。
对于 Mac Silicon 用户(以及希望在 Mac Intel 上获得更好体验的用户)。
## WindowsWindows 10 及更高版本)

View file

@ -116,27 +116,29 @@ class CustomBuildHook(BuildHookInterface):
else:
print(f"Warning: {whisper_cpp_dir} does not exist after build", file=sys.stderr)
# Force include all files in demucs directory
demucs_dir = project_root / "demucs_repo"
if demucs_dir.exists():
# Get all files in the demucs directory
demucs_files = glob.glob(str(demucs_dir / "**" / "*"), recursive=True)
# Force include demucs package at top level (demucs_repo/demucs -> demucs/)
demucs_pkg_dir = project_root / "demucs_repo" / "demucs"
if demucs_pkg_dir.exists():
# Get all files in the demucs package directory
demucs_files = glob.glob(str(demucs_pkg_dir / "**" / "*"), recursive=True)
# Filter only files (not directories)
demucs_files = [f for f in demucs_files if Path(f).is_file()]
# Add them to force_include
# Add them to force_include, mapping to top-level demucs/
if 'force_include' not in build_data:
build_data['force_include'] = {}
for file_path in demucs_files:
# Convert to relative path from project root
rel_path = Path(file_path).relative_to(project_root)
build_data['force_include'][str(rel_path)] = str(rel_path)
# Convert to relative path from demucs package dir
rel_from_pkg = Path(file_path).relative_to(demucs_pkg_dir)
# Target path is demucs/<relative_path>
target_path = Path("demucs") / rel_from_pkg
build_data['force_include'][str(file_path)] = str(target_path)
print(f"Force including {len(demucs_files)} files from demucs_repo/")
print(f"Force including {len(demucs_files)} files from demucs_repo/demucs/ -> demucs/")
else:
print(f"Warning: {demucs_dir} does not exist", file=sys.stderr)
print(f"Warning: {demucs_pkg_dir} does not exist", file=sys.stderr)
# Force include all .mo files from buzz/locale directory
locale_dir = project_root / "buzz" / "locale"

View file

@ -1,7 +1,7 @@
[project]
name = "buzz-captions"
# Change also in Makefile and buzz/__version__.py
version = "1.4.1"
version = "1.4.2"
description = ""
authors = [{ name = "Chidi Williams", email = "williamschidi1@gmail.com" }]
requires-python = ">=3.12,<3.13"
@ -45,10 +45,7 @@ dependencies = [
"ctranslate2>=4.6.2,<5; sys_platform != 'darwin'",
# faster whisper need cudnn 9
"nvidia-cudnn-cu12>=9,<10; sys_platform != 'darwin'",
# CUDA runtime libraries for Windows (Linux gets them via torch dependencies)
"nvidia-cuda-runtime-cu12>=12.9,<13; sys_platform == 'win32'",
"nvidia-cublas-cu12>=12.9,<13; sys_platform == 'win32'",
"nvidia-cuda-nvrtc-cu12>=12.9,<13; sys_platform == 'win32'",
# CUDA runtime libraries are provided by torch dependencies, no need to specify explicitly
"darkdetect>=0.8.0,<0.9",
"dora-search>=0.1.12,<0.2",
"diffq>=0.2.4,<0.3",
@ -70,6 +67,7 @@ dependencies = [
"posthog>=3.23.0,<4",
# This version works, newer have issues on Windows
"onnxruntime==1.18.1",
"onnx>=1.20.0", # Required for nemo-toolkit, ensures ml-dtypes is installed
"vulkan>=1.3.275.1,<2",
"hf-xet>=1.1.5,<2",
"hatchling>=1.28.0",
@ -80,7 +78,7 @@ dependencies = [
"uroman>=1.3.1.1",
"lhotse==1.32.1",
"coverage==7.12.0",
"demucs",
# demucs is bundled directly in the wheel from demucs_repo/, not installed as a dependency
"certifi==2025.11.12",
"torchcodec>=0.9.0; sys_platform != 'darwin' or platform_machine != 'x86_64'",
"torch>=2.2.2",
@ -131,7 +129,6 @@ override-dependencies = [
]
[tool.uv.sources]
demucs = { path = "demucs_repo", editable = true }
torch = [
{ index = "PyPI", marker = "sys_platform == 'darwin'" },
{ index = "pytorch-cu129", marker = "sys_platform != 'darwin'" },
@ -173,11 +170,12 @@ include = [
"buzz",
"buzz/whisper_cpp/*",
"buzz/locale/*/LC_MESSAGES/buzz.mo",
"demucs_repo",
"whisper_diarization",
"deepmultilingualpunctuation",
"ctc_forced_aligner",
]
# Map demucs_repo/demucs to top-level demucs/ so 'import demucs' works
sources = {"demucs_repo/demucs" = "demucs"}
[tool.hatch.build.hooks.custom]

View file

@ -2,7 +2,7 @@
# Buzz
[项目文档](https://chidiwilliams.github.io/buzz/zh/docs) | [苹果应用商店的 Buzz Captions 页面](https://apps.apple.com/us/app/buzz-captions/id6446018936?mt=12&itsct=apps_box_badge&itscg=30200)
[项目文档](https://chidiwilliams.github.io/buzz/zh/docs)
在个人电脑上离线转录和翻译音频。技术模型来源 OpenAI [Whisper](https://github.com/openai/whisper).
@ -12,13 +12,6 @@
![GitHub release (latest by date)](https://img.shields.io/github/v/release/chidiwilliams/buzz)
[![Github all releases](https://img.shields.io/github/downloads/chidiwilliams/buzz/total.svg)](https://GitHub.com/chidiwilliams/buzz/releases/)
<blockquote>
<p>在 App Store 下载运行的性能更佳。 获得外观更整洁、音频播放、拖放导入、转录编辑、搜索等功能的原生Mac版本。</p>
<a href="https://apps.apple.com/cn/app/buzz-captions/id6446018936?mt=12&amp;itsct=apps_box_badge&amp;itscg=30200"><img src="https://toolbox.marketingtools.apple.com/api/badges/download-on-the-mac-app-store/black/zh-cn?size=250x83" alt="Download on the Mac App Store" /></a>
</blockquote>
![Buzz](../buzz/assets/buzz-banner.jpg)
## 安装
**PyPI**:

View file

@ -64,8 +64,8 @@
<content_rating type="oars-1.1"/>
<releases>
<release version="1.4.1" date="2026-01-03">
<url type="details">https://github.com/chidiwilliams/buzz/releases/tag/v1.4.1</url>
<release version="1.4.2" date="2026-01-03">
<url type="details">https://github.com/chidiwilliams/buzz/releases/tag/v1.4.2</url>
<description>
<p>Adding speaker identification on transcriptions and video support for transcription viewer, improvements to transcription table and support for over 1000 of worlds languages via MMS models as well as separate window to show live transcripts on a projector.</p>
<p>Release details:</p>

77
uv.lock generated
View file

@ -274,7 +274,7 @@ wheels = [
[[package]]
name = "buzz-captions"
version = "1.4.1"
version = "1.4.2"
source = { editable = "." }
dependencies = [
{ name = "accelerate" },
@ -288,7 +288,6 @@ dependencies = [
{ name = "darkdetect" },
{ name = "dataclasses-json" },
{ name = "datasets" },
{ name = "demucs" },
{ name = "diffq" },
{ name = "dora-search" },
{ name = "einops" },
@ -308,10 +307,8 @@ dependencies = [
{ name = "nemo-toolkit", extra = ["asr"], marker = "platform_machine != 'x86_64' or sys_platform != 'darwin'" },
{ name = "nltk" },
{ name = "numpy" },
{ name = "nvidia-cublas-cu12", marker = "sys_platform == 'win32'" },
{ name = "nvidia-cuda-nvrtc-cu12", marker = "sys_platform == 'win32'" },
{ name = "nvidia-cuda-runtime-cu12", marker = "sys_platform == 'win32'" },
{ name = "nvidia-cudnn-cu12", marker = "sys_platform != 'darwin'" },
{ name = "onnx" },
{ name = "onnxruntime" },
{ name = "openai" },
{ name = "openai-whisper" },
@ -382,7 +379,6 @@ requires-dist = [
{ name = "darkdetect", specifier = ">=0.8.0,<0.9" },
{ name = "dataclasses-json", specifier = ">=0.6.4,<0.7" },
{ name = "datasets", specifier = ">=4.4.1" },
{ name = "demucs", editable = "demucs_repo" },
{ name = "diffq", specifier = ">=0.2.4,<0.3" },
{ name = "dora-search", specifier = ">=0.1.12,<0.2" },
{ name = "einops", specifier = ">=0.8.1,<0.9" },
@ -402,10 +398,8 @@ requires-dist = [
{ name = "nemo-toolkit", extras = ["asr"], marker = "platform_machine != 'x86_64' or sys_platform != 'darwin'", specifier = "==2.5.3" },
{ name = "nltk", specifier = ">=3.9.2" },
{ name = "numpy", specifier = ">=1.21.2,<2" },
{ name = "nvidia-cublas-cu12", marker = "sys_platform == 'win32'", specifier = ">=12.9,<13" },
{ name = "nvidia-cuda-nvrtc-cu12", marker = "sys_platform == 'win32'", specifier = ">=12.9,<13" },
{ name = "nvidia-cuda-runtime-cu12", marker = "sys_platform == 'win32'", specifier = ">=12.9,<13" },
{ name = "nvidia-cudnn-cu12", marker = "sys_platform != 'darwin'", specifier = ">=9,<10" },
{ name = "onnx", specifier = ">=1.20.0" },
{ name = "onnxruntime", specifier = "==1.18.1" },
{ name = "openai", specifier = ">=1.14.2,<2" },
{ name = "openai-whisper", specifier = "==20250625" },
@ -857,59 +851,6 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/4e/8c/f3147f5c4b73e7550fe5f9352eaa956ae838d5c51eb58e7a25b9f3e2643b/decorator-5.2.1-py3-none-any.whl", hash = "sha256:d316bb415a2d9e2d2b3abcc4084c6502fc09240e292cd76a76afc106a1c8e04a", size = 9190, upload-time = "2025-02-24T04:41:32.565Z" },
]
[[package]]
name = "demucs"
version = "4.1.0a3"
source = { editable = "demucs_repo" }
dependencies = [
{ name = "dora-search" },
{ name = "einops" },
{ name = "julius" },
{ name = "lameenc" },
{ name = "openunmix" },
{ name = "pyyaml" },
{ name = "torch", version = "2.2.2", source = { registry = "https://pypi.org/simple/" }, marker = "platform_machine == 'x86_64' and sys_platform == 'darwin'" },
{ name = "torch", version = "2.8.0", source = { registry = "https://pypi.org/simple/" }, marker = "platform_machine != 'x86_64' and sys_platform == 'darwin'" },
{ name = "torch", version = "2.8.0+cu129", source = { registry = "https://download.pytorch.org/whl/cu129" }, marker = "sys_platform != 'darwin'" },
{ name = "torchaudio", version = "2.2.2", source = { registry = "https://pypi.org/simple/" }, marker = "platform_machine == 'x86_64' and sys_platform == 'darwin'" },
{ name = "torchaudio", version = "2.8.0", source = { registry = "https://download.pytorch.org/whl/cu129" }, marker = "platform_machine == 'aarch64' and platform_python_implementation == 'CPython' and sys_platform == 'linux'" },
{ name = "torchaudio", version = "2.8.0", source = { registry = "https://pypi.org/simple/" }, marker = "platform_machine != 'x86_64' and sys_platform == 'darwin'" },
{ name = "torchaudio", version = "2.8.0+cu129", source = { registry = "https://download.pytorch.org/whl/cu129" }, marker = "(platform_machine != 'aarch64' and sys_platform == 'linux') or (platform_python_implementation != 'CPython' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux')" },
{ name = "tqdm" },
]
[package.metadata]
requires-dist = [
{ name = "diffq", marker = "extra == 'dev'", specifier = ">=0.2.1" },
{ name = "dora-search" },
{ name = "dora-search", marker = "extra == 'dev'", specifier = ">=0.1.12" },
{ name = "einops" },
{ name = "einops", marker = "extra == 'dev'" },
{ name = "flake8", marker = "extra == 'dev'" },
{ name = "hydra-colorlog", marker = "extra == 'dev'", specifier = ">=1.1" },
{ name = "hydra-core", marker = "extra == 'dev'", specifier = ">=1.1" },
{ name = "julius", specifier = ">=0.2.3" },
{ name = "julius", marker = "extra == 'dev'", specifier = ">=0.2.3" },
{ name = "lameenc", specifier = ">=1.2" },
{ name = "lameenc", marker = "extra == 'dev'", specifier = ">=1.2" },
{ name = "museval", marker = "extra == 'dev'" },
{ name = "mypy", marker = "extra == 'dev'" },
{ name = "openunmix" },
{ name = "openunmix", marker = "extra == 'dev'" },
{ name = "pyyaml" },
{ name = "pyyaml", marker = "extra == 'dev'" },
{ name = "soundfile", marker = "extra == 'dev'", specifier = ">=0.10.3" },
{ name = "submitit", marker = "extra == 'dev'" },
{ name = "torch", specifier = ">=1.8.1" },
{ name = "torch", marker = "extra == 'dev'", specifier = ">=1.8.1" },
{ name = "torchaudio", specifier = ">=0.8" },
{ name = "torchaudio", marker = "extra == 'dev'", specifier = ">=0.8" },
{ name = "tqdm" },
{ name = "tqdm", marker = "extra == 'dev'" },
{ name = "treetable", marker = "extra == 'dev'" },
]
provides-extras = ["dev"]
[[package]]
name = "diffq"
version = "0.2.4"
@ -2027,7 +1968,7 @@ name = "ml-dtypes"
version = "0.5.4"
source = { registry = "https://pypi.org/simple/" }
dependencies = [
{ name = "numpy", marker = "platform_machine != 'x86_64' or sys_platform != 'darwin'" },
{ name = "numpy" },
]
sdist = { url = "https://files.pythonhosted.org/packages/0e/4a/c27b42ed9b1c7d13d9ba8b6905dece787d6259152f2309338aed29b2447b/ml_dtypes-0.5.4.tar.gz", hash = "sha256:8ab06a50fb9bf9666dd0fe5dfb4676fa2b0ac0f31ecff72a6c3af8e22c063453", size = 692314, upload-time = "2025-11-17T22:32:31.031Z" }
wheels = [
@ -2413,7 +2354,6 @@ version = "12.9.86"
source = { registry = "https://download.pytorch.org/whl/cu129" }
wheels = [
{ url = "https://pypi.nvidia.com/nvidia-cuda-nvrtc-cu12/nvidia_cuda_nvrtc_cu12-12.9.86-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl", hash = "sha256:210cf05005a447e29214e9ce50851e83fc5f4358df8b453155d5e1918094dcb4" },
{ url = "https://pypi.nvidia.com/nvidia-cuda-nvrtc-cu12/nvidia_cuda_nvrtc_cu12-12.9.86-py3-none-win_amd64.whl", hash = "sha256:72972ebdcf504d69462d3bcd67e7b81edd25d0fb85a2c46d3ea3517666636349" },
]
[[package]]
@ -2422,7 +2362,6 @@ version = "12.9.79"
source = { registry = "https://download.pytorch.org/whl/cu129" }
wheels = [
{ url = "https://pypi.nvidia.com/nvidia-cuda-runtime-cu12/nvidia_cuda_runtime_cu12-12.9.79-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:25bba2dfb01d48a9b59ca474a1ac43c6ebf7011f1b0b8cc44f54eb6ac48a96c3" },
{ url = "https://pypi.nvidia.com/nvidia-cuda-runtime-cu12/nvidia_cuda_runtime_cu12-12.9.79-py3-none-win_amd64.whl", hash = "sha256:8e018af8fa02363876860388bd10ccb89eb9ab8fb0aa749aaf58430a9f7c4891" },
]
[[package]]
@ -2539,10 +2478,10 @@ name = "onnx"
version = "1.20.0"
source = { registry = "https://pypi.org/simple/" }
dependencies = [
{ name = "ml-dtypes", marker = "platform_machine != 'x86_64' or sys_platform != 'darwin'" },
{ name = "numpy", marker = "platform_machine != 'x86_64' or sys_platform != 'darwin'" },
{ name = "protobuf", marker = "platform_machine != 'x86_64' or sys_platform != 'darwin'" },
{ name = "typing-extensions", marker = "platform_machine != 'x86_64' or sys_platform != 'darwin'" },
{ name = "ml-dtypes" },
{ name = "numpy" },
{ name = "protobuf" },
{ name = "typing-extensions" },
]
sdist = { url = "https://files.pythonhosted.org/packages/bd/bf/824b13b7ea14c2d374b48a296cfa412442e5559326fbab5441a4fcb68924/onnx-1.20.0.tar.gz", hash = "sha256:1a93ec69996b4556062d552ed1aa0671978cfd3c17a40bf4c89a1ae169c6a4ad", size = 12049527, upload-time = "2025-12-01T18:14:34.679Z" }
wheels = [