Data and language
Preparing and evaluating voice material used with the rights it requires.
Cercetare vocală Cercetare & dezvoltare
Grai is our research direction for speech synthesis and models adapted to the languages spoken in this region. We work on pronunciation, expressiveness, and the link between the voice model and conversational applications.
Grai
Preparing and evaluating voice material used with the rights it requires.
Experiments on pronunciation, rhythm and expressiveness.
Evaluating the model in conversational scenarios, and access through an API.
Attention to pronunciation and to the rhythm of speech, including in local contexts.
Research and evaluation for Romanian and Russian.
Kallina is the agent platform; Grai is a separate line of development for the voice model itself.
We are presenting a research project, with results that get evaluated iteratively. The availability of a model for production is confirmed separately.
Grai in detail
Grai is our research project on the Romanian voice. It is not a product, it cannot be bought, and it has no try-it button. It is an attempt to understand why Romanian is badly served by the voice systems that exist, and what it would cost to serve it better.
The architecture we are studying is cascaded, not natively duplex: recognition → language model → synthesis, three separate components. Recognition and synthesis run locally, on the CPU; the language model is swappable and lives off the machine, behind an OpenAI-compatible gateway. The choice is deliberate, and it has a price that we measure.
The distinction that matters: Grai explores the voice. Kallina organises the conversation and the actions. Voice Studio produces audio files through integrated providers. Three different things, and the only one of them that is research is Grai.
The protocol is fixed and declared: 200 utterances per language from the FLEURS test set, drawn uniformly at random with seed 20260831, streaming decoding with cache awareness — not offline decoding over a whole file, which is easier and produces prettier figures. Our own result on the default 1120 ms window: a 26.31% word error rate in Romanian, 9.30% in Russian.
We measure every segment between two observed ends, not calculated ones. On the published breakdown, the language model is by far the largest slice: 2180 ms, against 92 ms for recognition and 305 ms for synthesis. The useful conclusion is that, for a voice conversation, speed is not won by optimising recognition — recognition is already close to free. It is won at the language model.
We split the sample into utterances with digits and utterances without. Without digits: 25.08% error. With digits: 30.37%. That gap of more than five points is the most useful observation in the study, because that is exactly where the business cases live — phone numbers, amounts, dates, order numbers. A system that sounds good on prose can be unusable on an order.
A fixed silence threshold is the usual mistake. On our own measurement, a fixed threshold reaches equal error at 820 ms; on prosody, at 560 ms. The correct-cut rate is 52% — practically a coin toss, and we say so because it is the point the proposed training starts from, not a result we boast about.
We inventoried seven corpora for Romanian and noted, for each one, its licence and whether it permits commercial use. The practical conclusion: the largest resources for Romanian are non-commercial, and the clean road remains VoxPopuli under CC0 — 89 hours — plus voice recorded by us, with an assignment of rights and biometric consent. In the Republic of Moldova, Law no. 195/2024 on the protection of personal data treats the voice as biometric data, and it has been in force since 23 August 2026.
Data and operation
From exploration to deployment
The language, the kind of text, the audience, the listening conditions and, above all, where the clock starts. Most latency figures on the market are not comparable, because they measure different segments of the same conversation.
Proper names, place names, abbreviations and, without exception, numbers. The gap of more than five points between utterances with digits and utterances without is the reason a test set made only of prose says nothing about a business case.
For every corpus: who owns it, what licence it carries, whether it permits commercial use, and whether it covers derivative work. For recorded voice: biometric consent and a written assignment of rights.
On accuracy in Romanian we lose to the large commercial systems. It is written on our own site, in the comparison table, where the third-party rows are marked as declared and ours as measured. A comparison in which you always come first is a comparison nobody should believe.
No. There is no public demonstration, no public API, no telephony integration, no native duplex, and voice cloning is not in the product. All five are listed as missing in our own roadmap. If you need a voice agent that works now, the answer is Kallina, not Grai; if you need an audio file, it is Voice Studio.
On Romanian recognition, a 26.31% word error rate on the default 1120 ms window, with a 95% confidence interval between 24.07 and 28.60; in Russian, 9.30%. The protocol: 200 utterances per language from FLEURS, seed 20260831, streaming decoding. How good is it: it is not good. Our own conclusion, written under the comparison table, is that on accuracy in Romanian we lose to the commercial systems, by a factor of five to nine. Romanian is almost three times harder to recognise than Russian on the same configuration, and that is precisely the problem we are studying.
On the measured breakdown, the language model takes 2180 ms of the path, recognition 92 ms and synthesis 305 ms. Recognition is practically free; synthesis nearly so. Anyone who wants a faster voice conversation has to attack the language model — a smaller model, streaming the response, or shorter responses. Here we have to be honest about ourselves as well: the per-segment figures published on the site do not add up to the total published on the same screen, and the difference is roughly half a second. The breakdown is the part we trust; the aggregate total has to be recomputed before it is quoted.
Because in a cascade you can swap each component separately, and you can keep recognition and synthesis local, on the CPU, without a GPU. The price is the chaining latency, and the fact that the language model — the largest part of the delay — sits off the machine. Native duplex is a direction, not something we have: it is on the "does not exist yet" list.
The roadmap proposes three training runs under 1,200 dollars in total: recognition for Romanian on VoxPopuli CC0, 89 hours, roughly 50 hours of H100, around 500 dollars; an end-of-turn detector for Romanian, roughly 2,000 samples of our own, under 100 dollars; a voice of our own, 500-800 dollars. The third is not blocked by money but by data — and by the fact that the synthesis model we were relying on has been archived by its authors. The target figure for the first run, around 21%, is an extrapolation from the improvements obtained on Greek and Bulgarian, not a measurement.
The method being studied is inverse optimisation over frozen weights, not cloning from a few seconds: 6-30 minutes of material per voice, roughly 3,000 optimisation steps, 2.6 GB of peak memory, with the delivered artefact on the order of kilobytes. But it is not in the product, and it matters to say why that is not merely a technical question: in the Republic of Moldova the voice has been biometric data since 23 August 2026. Without explicit consent and an assignment of rights, the question is not whether it can be done, but that it is not done.
Because otherwise there would be no point publishing them at all. A table in which you always come first is a marketing table. Ours marks the third-party rows as declared and only our own as measured, and the conclusion written beneath it says that we lose. It also has to be said plainly what nobody on the outside can do: the code that produced these measurements is not public and does not accompany the site, so the figures cannot be reproduced by a third party today. Treat them as internal measurements, not as independently verified results.
Illustrative example
A usage scenario, with no client data and no commercial results attributed.
A voice agent in Romanian handles an opening conversation well and gets it wrong exactly when the customer dictates a phone number or an amount.
We split the sample of 200 FLEURS utterances in two: 163 without digits and 37 with digits, then measured them separately.
25.08% error rate without digits, 30.37% with digits — more than five points apart, and on raw transcription, without normalisation, the gulf widens to more than eleven points. This is not an impression: it is the part of the data where recognition gives way, and it is exactly the part a business case depends on.
Ce este necesar:Un set de test care conține efectiv partea grea. Un set format din proză curată nu ar fi arătat niciodată această diferență, iar sistemul ar fi părut mai bun decât e.
Ways of working together
Transcription and voice generation projects on material for which usage rights and a documented purpose exist.
We define a pilot around one real process: users, data, integrations, costs and acceptance criteria. Expansion follows once the result has been assessed.
We establish the requirements for accessibility, hosting, data protection and interoperability. Any connection to services run by Moldova's e-Governance Agency (AGE) or its state information-technology service (STISC) requires eligibility, access and approvals to be validated.
These are adaptation scenarios, not statements about existing contracts or partnerships. The proposed capabilities are confirmed within the project's scope of work.
Discută un pilotConstruim agenți care preiau și inițiază apeluri, folosesc informațiile afacerii și lucrează cu sistemele tale.
PlatformăAcces API la modele AI printr-o interfață comună.
PlatformăUn studio pentru generarea, ascultarea și descărcarea materialelor vocale prin modele text-to-speech.
Instrument specializatTell us about your process. Together we decide what is worth building, what we can connect, and how we check the result.