Add whisperx
This commit is contained in:
parent
22b844df2c
commit
84268f3c47
3 changed files with 39 additions and 1 deletions
68
hm/extra/default.nix
Normal file
68
hm/extra/default.nix
Normal file
|
@ -0,0 +1,68 @@
|
|||
{ pkgs, lib, config, ... }:
|
||||
{
|
||||
config = lib.mkIf config.frogeye.extra {
|
||||
programs = {
|
||||
pandoc.enable = true;
|
||||
yt-dlp = {
|
||||
enable = true;
|
||||
settings = {
|
||||
format = "bestvideo[height<=${builtins.toString config.frogeye.desktop.maxVideoHeight}]+bestaudio/best";
|
||||
sponsorblock-mark = "all";
|
||||
sponsorblock-remove = "intro,outro,sponsor,selfpromo,preview,interaction,music_offtopic";
|
||||
sub-langs = "en,fr";
|
||||
write-auto-subs = true;
|
||||
write-subs = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
home.packages = with pkgs; ([
|
||||
# android tools
|
||||
android-tools
|
||||
|
||||
# Communication
|
||||
signal-desktop
|
||||
(pkgs.callPackage ./whisperx.nix {}) # Transcribe voice messages
|
||||
|
||||
# downloading
|
||||
# transmission TODO Collision if both transmissions are active?
|
||||
|
||||
# Multimedia toolbox
|
||||
ffmpeg
|
||||
|
||||
# documents
|
||||
visidata
|
||||
# texlive.combined.scheme-full
|
||||
# TODO Convert existing LaTeX documents into using Nix build system
|
||||
# texlive is big and not that much used, sooo
|
||||
pdftk
|
||||
pdfgrep
|
||||
|
||||
# Misc
|
||||
haskellPackages.dice
|
||||
rustdesk-flutter
|
||||
|
||||
] ++ lib.optionals config.frogeye.desktop.xorg [
|
||||
|
||||
# multimedia editors
|
||||
darktable
|
||||
puddletag
|
||||
audacity
|
||||
xournalpp
|
||||
krita
|
||||
|
||||
# downloading
|
||||
transmission-qt
|
||||
# wine only makes sense on x86_64
|
||||
] ++ lib.optionals pkgs.stdenv.isx86_64 [
|
||||
wine
|
||||
# TODO wine-gecko wine-mono lib32-libpulse (?)
|
||||
|
||||
] ++ lib.optionals (!stdenv.isAarch64) [
|
||||
# Musescore is broken on aarch64
|
||||
musescore
|
||||
# Blender 4.0.1 can't compile on aarch64
|
||||
# https://hydra.nixos.org/job/nixos/release-23.11/nixpkgs.blender.aarch64-linux
|
||||
blender
|
||||
]);
|
||||
};
|
||||
}
|
37
hm/extra/whisperx.nix
Normal file
37
hm/extra/whisperx.nix
Normal file
|
@ -0,0 +1,37 @@
|
|||
{ pkgs ? import <nixpkgs> { } }:
|
||||
pkgs.python3Packages.buildPythonPackage {
|
||||
pname = "whisperx";
|
||||
version = "2024-08-19";
|
||||
# pypi doesn't have the requirements.txt file, and it's required
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "m-bain";
|
||||
repo = "whisperX";
|
||||
rev = "9e3a9e0e38fcec1304e1784381059a0e2c670be5"; # git doesn't have tags
|
||||
hash = "sha256-IVtn9fe/yi4+fbH57s9LoiREnMZ2nhEObp1a4R/7gHg=";
|
||||
};
|
||||
pyproject = true;
|
||||
dependencies = [
|
||||
pkgs.python3Packages.torch
|
||||
pkgs.python3Packages.torchaudio
|
||||
(pkgs.python3Packages.faster-whisper.overrideAttrs (old: {
|
||||
# 1.0.2 is actually breaking APIs (requires hotwords argument)
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "SYSTRAN";
|
||||
repo = "faster-whisper";
|
||||
rev = "v1.0.0";
|
||||
hash = "sha256-0fE8X1d6CgDrrHtRudksN/tIGRtBKMvoNwkSVyFNda4=";
|
||||
};
|
||||
}))
|
||||
pkgs.python3Packages.transformers
|
||||
pkgs.python3Packages.pyannote-audio # Not in the requirements.txt for some reason
|
||||
pkgs.python3Packages.pandas
|
||||
pkgs.python3Packages.nltk
|
||||
];
|
||||
build-system = [
|
||||
pkgs.python3Packages.setuptools
|
||||
];
|
||||
pythonImportsCheck = [
|
||||
"whisperx"
|
||||
];
|
||||
}
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue