Data and language
Preparation and evaluation of vocal material used with the necessary rights.
Voice research Research & development
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.
Grai
Preparation and evaluation of vocal material used with the necessary rights.
Experiments for pronunciation, rhythm and expressiveness.
Evaluation of the model in conversational scenarios and access via API.
Attention to the pronunciation and rhythm of speech, including in local contexts.
Research and evaluation for Romanian and Russian.
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
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.
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.
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.
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.
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.
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
From exploration to implementation
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.
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.
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.
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.
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.
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.
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.
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’.
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.
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.
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
A use case, without client data or attributed commercial results.
A voice agent in Romanian handles an opening conversation well and makes mistakes precisely when the client 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 separately.
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
Transcription and voice generation projects on materials for which there are usage rights and a documented purpose.
We define a pilot around a real process: users, data, integrations, costs and acceptance criteria. Expansion follows after evaluating the result.
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 pilotWe build agents that answer and place calls, use the information the business already holds, and work with your systems.
PlatformAPI access to AI models through one common interface.
PlatformA studio for generating, listening to and downloading voice material through text-to-speech models.
Specialised instrumentTell us about your process. Together we decide what is worth building, what we can connect, and how we check the result.