HNHacker News
TopNewBestAskShowJobs

piotrrojek

27 karma · joined June 10, 2015

submissionscomments
piotrrojek··on Show HN: CPU-only transcription for YouTube, TikTok, X, Instagram videos
To be frank I didn't know there's such an option :-)
piotrrojek··on Show HN: CPU-only transcription for YouTube, TikTok, X, Instagram videos
If someone is interested, this is my supershort zsh/bash scripts that I keep in .zshrc for doing the same thing using plain whisper.cpp, ffmpeg and yt-dlp (`brew install whisper-cpp yt-dlp` for Mac); I output it in vtt format (subtitles) though, but it's easy enough to change it to txt.

  yt_to_srt() {
    local url="$1"
    local output_base="$2"
    local language="${3:-en}"

    yt-dlp -x --audio-format wav --postprocessor-args "-ar 16000" -o "$output_base.wav" "$url"
    whisper-cli --language "$language" --model "$WHISPER_MODEL" --split-on-word --max-len 65 --output-vtt --output-file "$output_base" --file "$output_base.wav"
    rm "$output_base.wav"
  }

  file_to_srt() {
    local filepath="$1"
    local language="${2:-en}"

    local filename=$(basename "$filepath")
    local filename_no_ext="${filename%.*}"
    local output_base="$filename_no_ext"
    local temp_wav="$output_base.wav"

    ffmpeg -i "$filepath" -vn -acodec pcm_s16le -ar 16000 -ac 1 "$temp_wav"
    whisper-cli --language "$language" --model "$WHISPER_MODEL" --split-on-word --max-len 65 --output-vtt --output-file "$output_base" --file "$temp_wav"
    rm "$temp_wav"
  }
plus additional bootstrap script for large-v3-turbo model from my chez-moi dotfiles:

  #!/bin/bash
  # Download whisper.cpp models from Hugging Face (runs once per machine).
  set -euo pipefail
  MODELS_DIR="$HOME/whisper-models"
  BASE_URL="https://huggingface.co/ggerganov/whisper.cpp/resolve/main"
  MODELS=("ggml-large-v3-turbo.bin" "ggml-tiny.bin")
  mkdir -p "$MODELS_DIR"
  for model in "${MODELS[@]}"; do
    if [ ! -f "$MODELS_DIR/$model" ]; then
      echo "Downloading $model..."
      curl -L --progress-bar -o "$MODELS_DIR/$model" "$BASE_URL/$model"
    else
      echo "$model already exists, skipping."
    fi
  done
  echo "Whisper models ready at $MODELS_DIR"
piotrrojek··on GraphRAG is now on GitHub
Replying to my own comment - it's trivially possible to replace `api_base` in settings.yaml. The only problem is that Ollama doesn't support OpenAI style embedding endpoint yet. But looking through PRs to Ollama, this is very close to being merged. All steps before actual embedding work fine with e.g. Llama3-8B.
piotrrojek··on GraphRAG is now on GitHub
Does anyone know how to run it against Ollama?
piotrrojek··on Tiny GPU: A minimal GPU implementation in Verilog
Really awesome project. I want to get into FPGAs, but honestly it's even hard to grasp where to start and the whole field feels very intimidating. My eventual goal would be to create acceleration card for LLMs (completely arbitrary), so a lot of same bits and pieces as in this project, probably except for memory offloading part to load bigger models.
piotrrojek··on Internet traffic in Israel surged 170% right after the Hamas attack
Slightly offtopic, but it's interesting to read comments from that day knowing what we know now. Especially those stating that there will be no conventional war nor loss of life.
piotrrojek··on OCR at Edge on Cloudflare Constellation
What's the best for OCR currently that I could deploy for myself? Like time I tried Tesseract 5 I wasn't too impressed.
piotrrojek··on Motors for Makers: A Guide to Steppers, Servos, and Other Electrical Machines (2015)
Am I missing something? It doesn't seem like this book is available online to read, just TOS and link to Amazon to buy paperback version.
piotrrojek··on I've Listened to Loud Rock Music All My Life. Now My Hearing Is Paying the Price
Lots of comments about ear-plugs for concerts and such. I'd like to remind every motorcycle rider to buy them too! Especially if you're riding a naked bike. Going moderately high speed on a highway for two hours made my ears ring for another couple of hours after I reached the destination.

There are special ear plugs for riders too, that would cut out the wind noise, while you're still able to hear your engine, other occupants of the road and comms inside helmet if you do ride with intercom.

piotrrojek··on Suggestionbox: Personalization and recommendation machine learning for Docker
i love how machinebox provides excellent developer experience, other companies should learn from these guys
piotrrojek··on Spacemacs 0.105.0 released
I don't have any experience in neither Vim, nor Emacs. Should I try it? Looks awesome. Also - is there any way to add Go (golang) support?
piotrrojek··on The Vector Space of the Polish Parliament in Pictures
Thanks! I'll experiment with neo4j (graph db) and let's see what can we learn more about our politicians.