Skip to content
megapromotingLet's talk
Products Grai

Voice research Research & development

A voice built for the way we speak.

Grai is our research direction for voice synthesis and models adapted to the languages used here. We work on pronunciation, expressiveness and the connection between the voice model and conversational applications.

  1. 1Date autorizate
  2. 2Model and evaluation
  3. 3Speech synthesis
Explanatory diagram ·Grai

Grai

From information to work done.

01

Data and language

Preparation and evaluation of vocal material used with the necessary rights.

02

Model

Experiments for pronunciation, rhythm and expressiveness.

03

Application

Evaluation of the model in conversational scenarios and access via API.

Where it becomes useful.

Romanian

Attention to the pronunciation and rhythm of speech, including in local contexts.

Multilingual experiments

Research and evaluation for Romanian and Russian.

Voice agents

Kallina is the agents platform; Grai is a distinct direction of vocal model development.

We present a research project, with results that are evaluated iteratively. The availability of a model for production is confirmed separately.

Grai in detail

What you can do with this project.

Grai is our research project on Romanian voice. It is not a product, it cannot be bought, and it has no try button. It is an attempt to understand why Romanian is poorly served by existing voice systems and how much it would cost to serve it better.

The architecture we are studying is cascading, not natively duplex: speech recognition → language model → synthesis, three separate components. Recognition and synthesis run locally, on the processor; the language model is replaceable and sits outside the machine, behind an OpenAI-compatible gateway. The choice is deliberate and has a cost that we measure.

The distinction that matters: Grai explores voice. Kallina organises conversation and actions. Voice Studio produces audio files with integrated providers. These are three different things, and the only one of them that is research is Grai.

01

What we study: Romanian recognition, measured on FLEURS

The protocol is fixed and declared: 200 utterances per language from the FLEURS test set, chosen uniformly at random with seed 20260831, streaming decoding with cache awareness — not offline full-file decoding, which is easier and gives nicer figures. Our own result on the default 1120 ms window: 26,31% word error rate in Romanian, 9,30% in Russian.

02

Where the time goes in a conversation

We measure each segment with two observed endpoints, not calculated ones. On the published breakdown, the language model is by far the largest slice: 2180 ms, compared with 92 ms recognition and 305 ms synthesis. The useful conclusion is that, for voice conversation, speed is not gained by optimising recognition — it is already almost free. It is gained at the language model.

03

The figures break exactly where real conversation breaks as well

We split the sample into utterances with digits and without. Without digits: 25,08% error. With digits: 30,37%. The difference of more than five points is the most useful observation of the study, because that is exactly where business cases live — phone numbers, amounts, dates, order numbers. A system that sounds good on prose may be unusable on an order.

04

Turn-end detection, which is the real problem of interruption

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 it because this is the point from which the proposed training starts, not a result we are boasting about.

05

The data inventory, with its licences

We inventoried seven corpora for Romanian and noted for each the licence and whether it allows commercial use. The practical conclusion: the largest resources for Romanian are non-commercial, and the clean path remains VoxPopuli under CC0 — 89 hours — plus voice recorded by us, with rights assignment and biometric consent. In the Republic of Moldova, Law 195/2024 treats voice as biometric data and has been in force since 23 August 2026.

Data and operation

What enters the system. What needs to be checked.

Voice is biometric data
In the Republic of Moldova, Law 195/2024 has been in force since 23 August 2026 and classifies voice as biometric data. In practice: a public recording does not authorise the use of anyone’s vocal identity. Any project that clones a voice requires explicit consent and assignment, not just access to the file.
Corpus licences decide what can be built
Of the seven corpora inventoried for Romanian, two of the largest are explicitly non-commercial, and one is closed behind an access gate. A model trained on non-commercial data cannot end up in a product, no matter how well it sounds. That is why the licence inventory is done before training, not after.
The synthesis component everything relies on is at end of life
The synthesis model used in the cascade has been archived by its authors: no further development and no official support, and their voice-building tool was closed on 31 August 2026. The weights remain available and the model still runs locally, but it no longer receives anything. That moves our own synthesis from ‘maybe later’ into the critical path, and it is a change of plan we prefer to state rather than hide.
The evaluation set is not mixed with the training set
That is the basic rule, and the one most often broken. A comparison only makes sense if it keeps the model version, the text, the seed and the criterion. Our study notes that we ourselves made a measurement error on our own site: a latency figure of 455 ms started the timer after recognition, so it measured something other than what it suggested; the real figure was about five times higher.

From exploration to implementation

How we prepare a project with Grai.

01

We establish exactly what is being measured before measuring

The language, the text type, the audience, the listening conditions and, above all, where the timer starts. Most latency figures on the market are not comparable because they measure different segments of the same conversation.

02

We build a test set that includes the difficult part

Proper names, locations, abbreviations and, obligatorily, numbers. The difference of more than five points between utterances with numbers and those without is why a test set made only of prose says nothing about a business case.

03

We check the licence before any training

For each corpus: who owns it, what licence it carries, whether it allows commercial use and whether it covers the derivative work. For recorded voice: biometric consent and written assignment.

04

We publish the result we do not like

On Romanian accuracy we lose to the large commercial systems. It is written on our own site, in the comparison table, where third-party rows are marked as stated and ours as measured. A comparison in which you always come out first is a comparison nobody should believe.

Questions worth clarifying.

Can I use Grai in a project today?

No. There is no public demo, 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.

What was actually measured and how good is the result?

On Romanian recognition, 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%. Protocol: 200 utterances per language from FLEURS, seed 20260831, streaming decoding. How good it is: it is not good. Our own conclusion, written in the comparison table, is that on Romanian accuracy we fall behind commercial systems, by a factor of five to nine. Romanian is almost three times harder to recognise than Russian with the same configuration, which is exactly the problem we are studying.

Why is time being lost and where would it be gained?

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 almost as well. Anyone who wants a faster voice conversation needs to attack the language model — by using a smaller model, by streaming the response or by shortening the replies. Here we must also be honest with ourselves: the segment figures published on the site do not add up to the total published on the same screen, and the difference is about half a second. The breakdown is the one we trust; the aggregated total must be recalculated before it is cited.

Why a cascade architecture and not native duplex?

Because in a cascade you can change each component separately and keep recognition and synthesis local, on the processor, without GPU. The price is chaining latency and the fact that the language model, which is the largest part of the delay, is outside the machine. Native duplex is a direction, not something we have — it is on the list of ‘does not exist yet’.

How much would it cost to be better?

The roadmap proposes three training runs under 1,200 dollars in total: recognition for Romanian on VoxPopuli CC0, 89 hours, about 50 hours of H100, around 500 dollars; a Romanian end-of-turn detector, about 2,000 in-house samples, under 100 dollars; an in-house voice, 500-800 dollars. The third is not blocked by money, but by data — and by the fact that the synthesis model we relied on was archived by its authors. The target figure for the first training, around 21%, is an extrapolation from the improvements achieved on Greek and Bulgarian, not a measurement.

Can it reproduce a person's voice?

The method studied is inverse optimisation on frozen weights, not cloning from a few seconds: 6-30 minutes of material per voice, about 3,000 optimisation steps, 2.6 GB peak memory, the delivered artefact being on the order of kilobytes. But it is not in the product, and it is important to say why this is not only a technical matter: in the Republic of Moldova voice is biometric data from 23 August 2026. Without explicit consent and assignment, the question is not whether it can be done, but that it is not done.

Why publish figures that put you in a bad light?

Because otherwise there would be no point in publishing them at all. A table in which you always come first is a marketing table. Ours marks third-party rows as declared and only our own as measured, and the conclusion written under it says that we are losing. It must still be made clear what no outsider 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

Why does a voice agent stumble exactly on the phone number

A use case, without client data or attributed commercial results.

Initial situation

A voice agent in Romanian handles an opening conversation well and makes mistakes precisely when the client dictates a phone number or an amount.

How it works

We split the sample of 200 FLEURS utterances in two: 163 without digits and 37 with digits, then measured separately.

Rezultatul

25.08% error rate without digits, 30.37% with digits — over five points difference, and on raw transcription, without normalisation, the gap rises to over eleven points. It is not an impression: it is the part of the data where recognition gives out, and it is exactly the part on which a business case depends.

What is required:A test set that actually contains the hard part. A set made of clean prose would never have shown this difference, and the system would have seemed better than it is.

Collaboration possibilities

Grai, in the context of your organisation.

Audio content processing

Transcription and voice generation projects on materials for which there are usage rights and a documented purpose.

Private companies

We define a pilot around a real process: users, data, integrations, costs and acceptance criteria. Expansion follows after evaluating the result.

State institutions and companies

We establish the requirements for accessibility, hosting, data protection and interoperability. Any connection to AGE or STISC services requires validation of eligibility, access and approvals.

These are adaptation scenarios, not statements about existing contracts or partnerships. The proposed functions are confirmed within the project scope.

Discuss a pilot

Part of an ecosystem.

What would you want to work better?

Tell us about your process. Together we decide what is worth building, what we can connect, and how we check the result.

Let's talk