What counts as full-duplex data
Full-duplex conversational data has three properties:
- Two or more people talking in the same session. Their timing is real: pauses, overlaps, and backchannels happen as they did in the conversation.
- One channel per speaker, captured at the source. Each person has their own microphone, so when both talk at once, both voices stay clean on their own track.
- Unscripted or lightly prompted speech. Turn-taking behavior comes from people reacting to each other.
Several things look similar on a spec sheet and are not the same:
- Stereo recordings of a room. Two microphones in one room capture both speakers on both channels. The channels differ in level, but neither is one person.
- Separated audio. A mixed recording run through a source separation model gives two tracks, but the overlapped regions carry separation artifacts, which is the part a full-duplex model needs most.
- Stitched turns. Single-speaker recordings placed one after another on a timeline have no real overlap or response timing.
How much data published systems used
Several published full-duplex models trained on the same English corpus. Moshi, the first real-time full-duplex model from Kyutai, learned to listen and speak at once from Fisher, about 2,000 hours of telephone calls with each side on its own channel (Défossez et al., 2024).
Fisher sets the reference point, and it also shows the gaps:
- Telephone bandwidth. Fisher is two-channel 8 kHz mu-law audio (LDC2004S13). Speech generation models usually work at 24 kHz or higher.
- Age and topic. The 11,699 calls, about 1,960 hours in total, were recorded in the early 2000s between strangers given an assigned topic (LDC2005S13).
- English only. Outside English, teams build their own. J-Moshi, the Japanese adaptation of Moshi, fine-tuned on 344 hours of stereo dialogue, and 201 of those hours came from the lab's in-house corpora (Ohashi et al., 2025).
For English, Fisher's 2,000 hours is the usual reference point when sizing a purchase. For other languages there is little published work to go on, so plan for two-channel data in each language you ship.
What is available today
| Dataset | Languages | Size | Audio | License |
|---|---|---|---|---|
| Fisher English | English | ~1,960 h | 2-channel, 8 kHz telephone | LDC agreement; commercial use depends on LDC membership terms |
| otoSpeech-full-duplex-280h | English | 280 h | One channel per speaker | CC BY 4.0, access on request |
| otoSpeech-full-duplex-processed-141h | English | 141 h | One channel per speaker, cleaned | CC BY 4.0, access on request |
| otoSpeech-full-duplex-turn-104h | English | 104.94 h | One channel per speaker, 17 turn-taking labels | Research license, gated |
| Open-source full-duplex datasets | Chinese, English | 15 h | Dual-track, isolated rooms | See the paper's release |
| MAGICDATA-DUPLEX-KOREAN | Korean | 10 h | 16 kHz, mobile | CC BY-NC-ND 4.0 |
| Japanese Duplex Conversation | Japanese | 10.35 h | 16 kHz, mobile | CC BY-NC-ND 4.0 |
| American English Full-Duplex | English | ~15 min sessions | Two speakers | CC BY-NC 4.0 |
| Basis Conversations 1500 | 22 languages | 2,645 speakers, up to 4 at a time | One 48 kHz track per speaker | Custom license, gated |
Outside English, most open full-duplex data is around 10 hours and non-commercial. License terms also vary more than audio specs do, so read the license before comparing hours.
What to check before you buy
Ask every vendor the same questions, then check the answers in a sample you pick yourself.
| Requirement | Why it matters | What to ask |
|---|---|---|
| One microphone per speaker | Overlap is only usable if each voice is clean on its own track | Was each speaker on a separate microphone? How much of the other speaker can be heard on each channel? |
| Same session, real time | Turn-taking timing must be real | Were both people talking live? Were any turns edited or moved? |
| Native sample rate | Upsampled audio has no information above the original rate | What rate was it recorded at? Was anything resampled? |
| Spontaneity | Backchannels and interruptions come from unscripted talk | Were speakers given scripts, scenarios, or only topics? What share is scripted? |
| Whole conversations | Turn-taking plays out over many turns | Do you deliver full sessions or cut segments? How long is a typical session? |
| Overlap in transcripts | Many pipelines drop backchannels and overlapped words | How are overlaps and backchannels transcribed? Are timestamps per word and per channel? |
| Turn-taking labels | Supervised turn models need event labels | Are interruptions, backchannels, and end-of-turn points labeled? By people or by a model? |
| Consent and license | Training a commercial model needs explicit rights | Did every speaker consent to AI training? Can you share the consent form and the license for review? |
| Language and speaker coverage | A model learns the voices it hears | Which languages, accents, ages, and recording conditions are covered? |
A 30-minute sample audit
A short script on one full conversation from the sample answers three questions: are the channels really separate, how much do people overlap, and is the bandwidth real.
import numpy as np
import soundfile as sf
audio, sr = sf.read("sample.wav") # shape: (samples, 2), one speaker per channel
a, b = audio[:, 0], audio[:, 1]
# 1. Two copies of one mix? A sample correlation near 1 means the channels are the same signal.
print("sample correlation:", round(np.corrcoef(a, b)[0, 1], 3))
# 2. Overlap and bleed, from 20 ms frame energy.
hop = int(sr * 0.02)
def frame_db(x):
n = len(x) // hop
rms = np.sqrt(np.mean(x[: n * hop].reshape(n, hop) ** 2, axis=1))
return 20 * np.log10(rms + 1e-9)
ea, eb = frame_db(a), frame_db(b)
active_a = ea > ea.max() - 35
active_b = eb > eb.max() - 35
speech = active_a | active_b
print("overlap share of speech:", round((active_a & active_b).sum() / speech.sum(), 3))
print("energy envelope correlation:", round(np.corrcoef(ea, eb)[0, 1], 3))
# 3. Real bandwidth: share of spectral energy above 8 kHz in the first minute.
seg = a[: sr * 60]
spec = np.abs(np.fft.rfft(seg))
freqs = np.fft.rfftfreq(len(seg), 1 / sr)
print("energy above 8 kHz:", round(spec[freqs > 8000].sum() / spec.sum(), 4))
How to read the numbers:
- Sample correlation close to 1: the two channels carry the same mix. This is not full-duplex data.
- High envelope correlation with a large overlap share: each microphone is picking up the other speaker. Listen to a stretch where only one person talks and check the other channel.
- Almost no energy above 8 kHz in a 48 kHz file: the audio was probably recorded at 16 kHz and upsampled.
Then listen. Pick three moments where both people talk at once and play each channel alone. You should hear one voice per channel, with the other person faint or absent.
How it is priced
Catalog data is usually priced per hour of audio. At oto, licensed datasets run from $10 to $100 per hour. The license you need and labels such as turn-taking annotation add to that price. Custom collection is quoted per project, because the cost depends on the language, the speakers, the recording setup, and the labels. Ask for the price of the sample hours you audited, so that the quote covers the data you checked.
Where oto fits
oto builds full-duplex conversational speech datasets in English, Japanese, and Korean, with one speaker on each channel.
- Open data to start with. Five otoSpeech datasets are on Hugging Face, from 17 to 280 hours, most under CC BY 4.0.
- A benchmark training set. otoSpeech is the training set for TurnBench, Sesame's open turn-taking benchmark (paper), and it is used in 19 published papers, models, and tools.
- Licensed catalog. 1,125 hours of English, plus Japanese free conversation, role-play, and scripted dialogue at 48 kHz, Korean, multi-speaker, video, and egocentric data. Samples are on oto.earth/datasets.
- Collection to specification. Languages, task designs, turn-taking labels, multi-party, in-person, and video setups.
Data for voice AI
Request samples or a quote
Tell us what you are building, and we will send samples and pricing for the data that fits.
Frequently asked questions
Where can I buy full-duplex conversational speech data?
From data vendors that record each speaker on a separate channel, including oto. Open sets such as otoSpeech on Hugging Face and Fisher from the LDC are useful starting points, but check each license before training a commercial model.
How much does full-duplex speech data cost?
At oto, licensed datasets run from $10 to $100 per hour of audio. The license and labels such as turn-taking annotation add to the price, and custom collection is quoted per project.
Is stereo audio the same as dual-channel speech data?
No. A stereo file has two channels, but in a room recording both channels contain both speakers. Dual-channel speech data puts one speaker on each channel, captured by separate microphones.
Can I use Fisher to train a commercial model?
Fisher is distributed by the Linguistic Data Consortium under its user agreements. Commercial use depends on your organization's LDC membership and the terms of each corpus, so check with the LDC before you train.
How many hours of full-duplex data do I need?
Moshi used about 2,000 hours of Fisher for English. J-Moshi fine-tuned on 344 hours of Japanese dialogue. Use these as reference points, and size the purchase to the languages you ship.
Are there Japanese or Korean full-duplex datasets?
Yes, but few. Open sets are around 10 hours each and non-commercial. oto licenses Japanese and Korean two-speaker conversation recorded with one speaker per channel, and collects more to specification.
For more datasets, benchmarks, and models, see the fullduplex.ai catalog.
Related guides
- How to Check a Two-Channel Speech Dataset in 30 Minutes
- How Much Full-Duplex Data Do You Need? What Published Systems Used
- Fisher, Switchboard, and CALLHOME for Speech-to-Speech Models: Licenses and Alternatives