livekit-plugins-tenms 0.1.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,7 @@
1
+ .venv/
2
+ __pycache__/
3
+ *.so
4
+ *.pyd
5
+ .pytest_cache/
6
+ tests/live_reports/*.npz
7
+ dist/
@@ -0,0 +1,57 @@
1
+ Metadata-Version: 2.5
2
+ Name: livekit-plugins-tenms
3
+ Version: 0.1.1
4
+ Summary: Tenms (Focus noise/echo/speaker isolation, Turn end-of-turn + interruption classification, Pulse quality) for LiveKit Agents
5
+ Project-URL: Homepage, https://tenms.cloud
6
+ Project-URL: Documentation, https://tenms.cloud/docs
7
+ Author: Tenms
8
+ License-Expression: LicenseRef-Proprietary
9
+ Keywords: livekit,livekit-agents,noise cancellation,tenms,turn detection,vad,voice agents
10
+ Classifier: Development Status :: 3 - Alpha
11
+ Classifier: Intended Audience :: Developers
12
+ Classifier: Operating System :: OS Independent
13
+ Classifier: Programming Language :: Python :: 3
14
+ Classifier: Programming Language :: Python :: 3 :: Only
15
+ Classifier: Programming Language :: Python :: 3.10
16
+ Classifier: Programming Language :: Python :: 3.11
17
+ Classifier: Programming Language :: Python :: 3.12
18
+ Classifier: Programming Language :: Python :: 3.13
19
+ Classifier: Topic :: Multimedia :: Sound/Audio :: Speech
20
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
21
+ Classifier: Typing :: Typed
22
+ Requires-Python: >=3.10
23
+ Requires-Dist: livekit-agents<1.9,>=1.8
24
+ Requires-Dist: tenms[livekit]<0.2,>=0.1.1
25
+ Description-Content-Type: text/markdown
26
+
27
+ # livekit-plugins-tenms
28
+
29
+ [Tenms](https://tenms.cloud) for [LiveKit Agents](https://docs.livekit.io/agents/) (tested with livekit-agents 1.8):
30
+
31
+ * **Focus**: agent echo, background noise and other voices removed from the caller's audio
32
+ (`AudioInputOptions(noise_cancellation=call.noise_cancellation())`)
33
+ * **Turn**: VAD gated against echo and backchannels, prosodic end-of-turn detection, and
34
+ barge-in / backchannel / noise / other-speaker classification of interruptions
35
+ * **Pulse**: live call quality and a call summary at the end of the call
36
+
37
+ ```
38
+ pip install livekit-plugins-tenms
39
+ ```
40
+
41
+ ```python
42
+ from livekit.agents import AgentSession, room_io
43
+ from livekit.plugins import tenms
44
+
45
+ async def entrypoint(ctx):
46
+ call = tenms.TenmsLiveKit() # license from $TENMS_LICENSE (https://app.tenms.cloud)
47
+ session = AgentSession(stt=..., llm=..., tts=..., vad=call.vad(),
48
+ turn_handling={"turn_detection": call.turn_detector()})
49
+ await session.start(agent=tenms.TenmsAgent(call, instructions="..."), room=ctx.room,
50
+ room_options=room_io.RoomOptions(audio_input=room_io.AudioInputOptions(
51
+ noise_cancellation=call.noise_cancellation())))
52
+ call.attach(session)
53
+ ```
54
+
55
+ This package re-exports `tenms.livekit` from the [`tenms`](https://pypi.org/project/tenms/) SDK.
56
+ A Tenms license is required: create one at https://app.tenms.cloud and set `TENMS_LICENSE`.
57
+ Documentation: https://tenms.cloud/docs
@@ -0,0 +1,53 @@
1
+ """LiveKit Agents plugin for Tenms (``livekit-plugins-tenms``).
2
+
3
+ from livekit.plugins import tenms
4
+
5
+ call = tenms.TenmsLiveKit()
6
+ session = AgentSession(vad=call.vad(), turn_handling={"turn_detection": call.turn_detector()}, ...)
7
+ await session.start(agent=tenms.TenmsAgent(call, instructions="..."), room=ctx.room,
8
+ room_options=room_io.RoomOptions(audio_input=room_io.AudioInputOptions(
9
+ noise_cancellation=call.noise_cancellation())))
10
+ call.attach(session)
11
+
12
+ See :mod:`tenms.livekit` for details.
13
+ """
14
+
15
+ from livekit.agents import Plugin
16
+
17
+ from tenms.livekit import (
18
+ VAD,
19
+ TenmsAgent,
20
+ TenmsAudioOutput,
21
+ TenmsFocus,
22
+ TenmsLiveKit,
23
+ TenmsSession,
24
+ TurnDetector,
25
+ gate_stt_events,
26
+ )
27
+
28
+ from .log import logger
29
+ from .version import __version__
30
+
31
+ Focus = TenmsFocus
32
+ """Alias: ``noise_cancellation=tenms.Focus()``."""
33
+
34
+ __all__ = [
35
+ "VAD",
36
+ "Focus",
37
+ "TenmsAgent",
38
+ "TenmsAudioOutput",
39
+ "TenmsFocus",
40
+ "TenmsLiveKit",
41
+ "TenmsSession",
42
+ "TurnDetector",
43
+ "gate_stt_events",
44
+ "__version__",
45
+ ]
46
+
47
+
48
+ class TenmsPlugin(Plugin):
49
+ def __init__(self) -> None:
50
+ super().__init__(__name__, __version__, __package__, logger)
51
+
52
+
53
+ Plugin.register_plugin(TenmsPlugin())
@@ -0,0 +1,3 @@
1
+ import logging
2
+
3
+ logger = logging.getLogger("livekit.plugins.tenms")
@@ -0,0 +1 @@
1
+ __version__ = "0.1.1"
@@ -0,0 +1,71 @@
1
+ [build-system]
2
+ requires = ["hatchling>=1.27"]
3
+ build-backend = "hatchling.build"
4
+
5
+ [project]
6
+ name = "livekit-plugins-tenms"
7
+ version = "0.1.1"
8
+ description = "Tenms (Focus noise/echo/speaker isolation, Turn end-of-turn + interruption classification, Pulse quality) for LiveKit Agents"
9
+ readme = { content-type = "text/markdown", text = """
10
+ # livekit-plugins-tenms
11
+
12
+ [Tenms](https://tenms.cloud) for [LiveKit Agents](https://docs.livekit.io/agents/) (tested with livekit-agents 1.8):
13
+
14
+ * **Focus**: agent echo, background noise and other voices removed from the caller's audio
15
+ (`AudioInputOptions(noise_cancellation=call.noise_cancellation())`)
16
+ * **Turn**: VAD gated against echo and backchannels, prosodic end-of-turn detection, and
17
+ barge-in / backchannel / noise / other-speaker classification of interruptions
18
+ * **Pulse**: live call quality and a call summary at the end of the call
19
+
20
+ ```
21
+ pip install livekit-plugins-tenms
22
+ ```
23
+
24
+ ```python
25
+ from livekit.agents import AgentSession, room_io
26
+ from livekit.plugins import tenms
27
+
28
+ async def entrypoint(ctx):
29
+ call = tenms.TenmsLiveKit() # license from $TENMS_LICENSE (https://app.tenms.cloud)
30
+ session = AgentSession(stt=..., llm=..., tts=..., vad=call.vad(),
31
+ turn_handling={"turn_detection": call.turn_detector()})
32
+ await session.start(agent=tenms.TenmsAgent(call, instructions="..."), room=ctx.room,
33
+ room_options=room_io.RoomOptions(audio_input=room_io.AudioInputOptions(
34
+ noise_cancellation=call.noise_cancellation())))
35
+ call.attach(session)
36
+ ```
37
+
38
+ This package re-exports `tenms.livekit` from the [`tenms`](https://pypi.org/project/tenms/) SDK.
39
+ A Tenms license is required: create one at https://app.tenms.cloud and set `TENMS_LICENSE`.
40
+ Documentation: https://tenms.cloud/docs
41
+ """ }
42
+ requires-python = ">=3.10"
43
+ license = "LicenseRef-Proprietary"
44
+ authors = [{ name = "Tenms" }]
45
+ keywords = ["livekit", "livekit-agents", "voice agents", "noise cancellation", "turn detection", "vad", "tenms"]
46
+ classifiers = [
47
+ "Development Status :: 3 - Alpha",
48
+ "Intended Audience :: Developers",
49
+ "Operating System :: OS Independent",
50
+ "Programming Language :: Python :: 3",
51
+ "Programming Language :: Python :: 3 :: Only",
52
+ "Programming Language :: Python :: 3.10",
53
+ "Programming Language :: Python :: 3.11",
54
+ "Programming Language :: Python :: 3.12",
55
+ "Programming Language :: Python :: 3.13",
56
+ "Topic :: Multimedia :: Sound/Audio :: Speech",
57
+ "Topic :: Scientific/Engineering :: Artificial Intelligence",
58
+ "Typing :: Typed",
59
+ ]
60
+ # Keep the tenms range in step with python/pyproject.toml: same release train (0.1.x).
61
+ dependencies = ["tenms[livekit]>=0.1.1,<0.2", "livekit-agents>=1.8,<1.9"]
62
+
63
+ [project.urls]
64
+ Homepage = "https://tenms.cloud"
65
+ Documentation = "https://tenms.cloud/docs"
66
+
67
+ [tool.hatch.build.targets.wheel]
68
+ packages = ["livekit"]
69
+
70
+ [tool.hatch.build.targets.sdist]
71
+ include = ["livekit", "pyproject.toml"]