#rss #podcast #cli-tool #transcription #feed #download #episode

app podcast2text

用于从 RSS 中下载节目并进行转录的命令行工具

3 个版本

0.0.3 2022年11月21日
0.0.2 2022年11月21日
0.0.1 2022年11月21日

#2520命令行工具

MIT/Apache

32KB
352

Jupiter Search

Crates.io MIT licensed APACHE 2 licensed Build Status

使用 jupiter 网络 的播客和 meilisearch 进行索引的展示。此仓库的构建是为了提供以下问题的可能解决方案

免责声明!

警告!这是一个工作进度版本,用于展示索引/转录可能的工作方式。

概述

项目包含两个主要模块

  • podcast2text 下载 RSS 源和转录播客节目的 CLI 工具
  • search-load 将获取的转录加载到 meilisearch 实例的 CLI 工具

构建

为了构建,您需要在您的系统上安装以下软件包

  • cargo
  • pkg-config
  • openssl
  • ffmpeg

已配置 nix flake 以发送构建依赖项,只需运行 direnv allow 并运行

git submodule update --init --recursive
cargo build --release

为了取悦美味的神祇,请添加以下预提交钩子

git config --local core.hooksPath .githooks

用法

运行下载播客

处理 RSS 源中的音频

  1. 下载 whisper 模型
mkdir models
# this might be one of:
# "tiny.en" "tiny" "base.en" "base" "small.en" "small" "medium.en" "medium" "large"
model=medium.en
curl --output models/model.bin https://ggml.ggerganov.com/ggml-model-whisper-$model.bin
  1. 在 RSS 源上运行推理
# get information about the cli
docker run flakm/podcast2text --help

docker run \
    -v $PWD/models:/data/models \
    flakm/podcast2text \
    rss https://feed.jupiter.zone/allshows

安装 meilisearch

docker pull getmeili/meilisearch:v0.29
docker run -it --rm \
    -p 7700:7700 \
    -e MEILI_MASTER_KEY='MASTER_KEY'\
    -v $(pwd)/meili_data:/meili_data \
    getmeili/meilisearch:v0.29 \
    meilisearch --env="development"

运行索引创建和数据加载

运行某些音频的推理

  1. 下载 whisper 模型
mkdir models
# this might be one of:
# "tiny.en" "tiny" "base.en" "base" "small.en" "small" "medium.en" "medium" "large"
model=medium.en
curl --output models/ggml-$model.bin https://ggml.ggerganov.com/ggml-model-whisper-$model.bin
  1. 从 rss 源下载示例音频
curl https://feed.jupiter.zone/link/19057/15745245/55bb5263-04be-43a3-8b92-678072a9cfc8.mp3 -L -o action.mp3
  1. 安装 ffmpeg 并将其添加到 PATH 变量中。

  2. 运行推理示例

cargo run --release --example=get_transcript -- models/ggml-medium.en.bin action_short.wav | tee output.txt

依赖项

~26–42MB
~706K SLoC