npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

effect-audio

v2.0.2

Published

High-performance M4A to MP3 converter built with Effect and TypeScript

Readme

EffectAudio

License: MIT npm version npm downloads Node.js pnpm TypeScript Effect React Ink

High-performance M4A to MP3 converter built with Effect, TypeScript, and Ink CLI UI.

機能

  • M4A→MP3変換: 単一ファイル・ディレクトリ一括変換
  • 再帰的ディレクトリ処理: サブディレクトリも含めた一括処理
  • 並列処理: 複数ファイルの同時変換による高速処理
  • 音質設定: 音質・ビットレート・サンプルレート・チャンネル数の細かい調整
  • リアルタイムUI: Ink + Reactによる美しいCLIインターフェース
  • 進捗表示: ファイル状態(待機中・処理中・完了・エラー)の可視化
  • エラーハンドリング: 詳細なエラー情報とログ表示
  • 型安全性: Zodスキーマによる完全な型安全性
  • 関数型プログラミング: Effectライブラリによる堅牢なエラーハンドリング

インストール

npmからインストール(推奨)

# グローバルインストール
npm install -g effect-audio

# または
pnpm add -g effect-audio

開発用インストール

# リポジトリをクローン
git clone https://github.com/53able/effect-audio.git
cd effect-audio

# 依存関係をインストール
pnpm install

ビルド

pnpm run build

使用方法

基本

# 単一ファイルの変換
effect-audio input.m4a

# 複数ファイルの変換
effect-audio file1.m4a file2.m4a file3.m4a

# ディレクトリ内の全m4aファイルを変換
effect-audio /path/to/directory

# 再帰的にサブディレクトリも含めて変換
effect-audio /path/to/directory --recursive

# 複数のディレクトリを同時に処理
effect-audio /path/to/music1 /path/to/music2 --recursive

オプション

  • -o, --output <path>: 出力ファイルのパス(単一ファイル変換時)
  • -q, --quality <number>: 音質 (0-9, デフォルト: 2)
  • -b, --bitrate <number>: ビットレート (32-320 kbps)
  • -s, --sample-rate <number>: サンプルレート (8000-192000 Hz)
  • -c, --channels <number>: チャンネル数 (1-2, デフォルト: 2)
  • -r, --recursive: ディレクトリを再帰的に処理
  • -d, --output-dir <path>: 出力ディレクトリ(一括変換時)
  • -j, --jobs <number>: 並列処理数 (1-50, デフォルト: 10)

高度な使用例

# 高音質で変換(最高品質)
effect-audio input.m4a --quality 0 --bitrate 320

# 低音質で変換(ファイルサイズ重視)
effect-audio input.m4a --quality 9 --bitrate 128

# モノラル音声に変換
effect-audio input.m4a --channels 1

# 特定のサンプルレートで変換
effect-audio input.m4a --sample-rate 44100

# 再帰的に全サブディレクトリを処理し、指定ディレクトリに出力
effect-audio /path/to/music --recursive --output-dir /path/to/converted

# 並列数を増やして高速変換
effect-audio /path/to/music --recursive --jobs 20 --output-dir /path/to/converted

# 複数の設定を組み合わせた高品質変換
effect-audio /path/to/music --recursive --quality 0 --bitrate 320 --sample-rate 48000 --channels 2 --jobs 15

開発

スクリプト

  • pnpm run dev: 開発モードで実行
  • pnpm run build: TypeScriptをビルド
  • pnpm run start: ビルド済みファイルを実行
  • pnpm run lint: リンターを実行
  • pnpm run format: フォーマッターを実行(自動修正)
  • pnpm run check: リンターとフォーマッターを実行(自動修正)
  • pnpm run publish:npm: npmにパッケージを公開

リリース

pnpm version patch  # または minor, major
git push origin main --tags

タグプッシュで自動的にnpm公開とGitHub Releaseが作成されます。

技術スタック

  • コア: Effect 3.0+, Zod 3.22+, TypeScript 5.0+
  • CLI: Commander 12.0+, Chalk 5.6+
  • UI: Ink 6.3+, React 19.2+
  • 音声処理: Fluent-FFmpeg 2.1+
  • 開発ツール: Biome 1.4+, tsx 4.7+

要件

  • Node.js 18.0.0以上
  • pnpm 10.14.0以上
  • FFmpeg(音声変換に必要)

UI機能

EffectAudioは、InkとReactを使用した美しいCLI UIを提供します:

  • 📊 リアルタイム進捗表示: 全体進捗バーと現在処理中のファイルを表示
  • 📁 ファイル状態管理: 待機中⏳、処理中🔄、完了✅、エラー❌の状態を色分け表示
  • 🔄 並列処理の可視化: 複数ファイルの同時処理状況を一目で確認
  • ❌ エラー詳細表示: 変換に失敗したファイルの詳細なエラー情報を表示
  • 🎉 完了通知: 全ての変換完了時に成功メッセージを表示

ライセンス

MIT