Skip to main content
pipecat::DailyTransport connects your C++ app to a Pipecat bot’s Daily room, using WebRTC. The bot uses Daily’s server-side transport, like bots on Pipecat Cloud do. It’s part of the C++ SDK, and supports Linux (x86_64 and aarch64), macOS (aarch64) and Windows (x86_64).

Usage

Give a pipecat::DailyTransport to the client when you create it:
Then use the client as usual, see the C++ SDK overview.
  • The transport joins the bot’s Daily room. Start endpoints like Pipecat Cloud or Pipecat’s development runner (python bot.py -t daily) create one when you ask with createDailyRoom. If you already have a room, connect to it directly with client.connect({{"url", room_url}, {"token", token}}).
  • Audio is 16-bit PCM, 16 kHz mono by default. Change it with pipecat::DailyTransportOptions. The user’s audio is sent without echo cancellation, so if you play the bot through speakers, use your platform’s echo cancellation or headphones.
  • Each client needs its own DailyTransport, and several clients can run at the same time, e.g. to talk to several bots.

Installation

Besides what the client needs, you need the Daily Core C++ SDK 0.23.0 or newer. Download it for your platform from its releases, unpack it, and point DailyCore_ROOT to it. With FetchContent, turn the transport on before making the SDK available, and link pipecat::daily, which also links the client and Daily Core:
Then configure your project with -DDailyCore_ROOT=/path/to/daily-core-sdk. To build and install it yourself, add -DPIPECAT_BUILD_DAILY=ON when configuring the SDK:
Then use it as a component of the package, with DailyCore_ROOT pointing to the Daily Core SDK:
Daily Core is a shared library, so ship it with your app. On Windows, put daily_core.dll next to your .exe. See Shipping the library in the Daily Core SDK’s README.

Examples

The SDK’s text and voice examples use the Daily transport by default, with a bot on your machine or on Pipecat Cloud.

Documentation

API Reference

Includes DailyTransport and its options

Source

The Daily transport on GitHub