Packages

Shared STT/TTS voice infrastructure for Elixir — behaviours, pluggable adapters (ElevenLabs, self-hosted Whisper/Orpheus), and a Phoenix PubSub session bridge.

Current section

Files

Jump to
Raw

mix.exs

defmodule VoiceEngine.MixProject do
use Mix.Project
@version "0.1.0"
@source_url "https://github.com/fosferon/voice_engine"
def project do
[
app: :voice_engine,
version: @version,
elixir: "~> 1.19",
start_permanent: Mix.env() == :prod,
deps: deps(),
docs: docs(),
description: description(),
package: package(),
source_url: @source_url
]
end
def application do
[
extra_applications: [:logger],
mod: {VoiceEngine.Application, []}
]
end
defp deps do
[
{:req, "~> 0.5"},
{:multipart, "~> 0.4"},
{:phoenix, "~> 1.7"},
{:phoenix_pubsub, "~> 2.1"},
{:ex_doc, "~> 0.36", only: :dev, runtime: false},
{:earmark, "~> 1.4", only: :dev, runtime: false}
]
end
defp description do
"Shared STT/TTS voice infrastructure for Elixir — behaviours, pluggable " <>
"adapters (ElevenLabs, self-hosted Whisper/Orpheus), and a Phoenix " <>
"PubSub session bridge."
end
defp docs do
[
main: "readme",
extras: ["README.md"],
source_ref: "v#{@version}",
source_url: @source_url,
groups_for_modules: [
Behaviours: [VoiceEngine.STT, VoiceEngine.TTS],
Adapters: [VoiceEngine.ElevenLabs.STT, VoiceEngine.ElevenLabs.TTS, VoiceEngine.Spark.STT, VoiceEngine.Spark.TTS],
Core: [VoiceEngine, VoiceEngine.Config, VoiceEngine.Bridge, VoiceEngine.BridgeSupervisor]
]
]
end
defp package do
[
licenses: ["MIT"],
links: %{"GitHub" => @source_url},
files: ["lib", "mix.exs", "README.md", "LICENSE", ".formatter.exs", ".tool-versions"]
]
end
end