Blog

One Song, Three Languages: What Actually Stayed the Same When We Re-sang It

The Tunely Team · 2026-09-10 · 12 min de lectura
Respuesta corta

Yes, and we can put numbers on it. With the original as the reference, the Mandarin and Spanish versions kept the key (C major in all eight takes), the pulse, the section order and the overall length within about twenty seconds, and their note-by-note maps sat 0.09 to 0.11 away from the original on a scale where an unrelated song scores 0.24. What moved was the phrasing: the melody bends to fit the new syllables inside the same chords. The lyric adaptation, not the settings, is where the real work is.

In early September an independent artist project wrote to us with a practical question. They had an English master they were happy with and wanted the same song in several languages: same melody, same arrangement, same feel, with lyrics adapted rather than translated. Our honest answer at the time was “we think so”. So we ran the experiment on one of our own songs, measured it, and then built the result into the library as Language version. This is the write-up, with the audio.

¿Lo quieres ya? Make your song in another language: gratis y en segundos.

Escúchalo

Lisbon Skies (English master)

The reference: 3:52, C major, 86 bpm, warm acoustic folk-pop

里斯本的天空 (Mandarin version)

Closeness 0.85, take 1: 4:05, C major, same pulse

Cielos de Lisboa (Spanish version)

Closeness 0.75, take 1: 3:51, C major, same pulse

Where this started

Until this month, the only way to get a second-language version on Tunely was a cover: pick the song, describe a new style, get a new take. Covers keep the song recognisable but they are allowed to change the words only by accident, which is the opposite of what an artist releasing in two markets needs. They want the words to change on purpose and everything else to stay put.

The engine can take an existing recording as a reference and sing new lyrics over it, and it has a setting for how tightly to hold onto that reference. What nobody could tell us was how much actually survives: the key, the tempo, the chord movement, the verse-chorus shape, the character of the voice. So we tested it the way you would test a claim about a mastering chain: same source, controlled settings, measure the outputs, include a control.

The song, and the two languages

The source is Lisbon Skies, a song we made from a one-line birthday brief for our article on birthday songs: a sister who moved to Lisbon, warm acoustic folk-pop, female vocal. It is 3:52 long, in C major, at 86 beats per minute, with a verse, pre-chorus, chorus, second verse, bridge and final chorus. We chose it because it has a clear hook, a name in the lyric (Mia), and enough sections to see whether the structure would hold.

We adapted the lyric into Mandarin and Spanish ourselves. Neither is a translation. A machine translation was the first draft, then a person rewrote every line so the images survived and the lines could be sung: same number of lines per section, the name kept, the hook kept short. The first two chorus lines in each language show what that means in practice:

  • English: Happy birthday, Mia, here's to you / Lisbon skies and a life you get to choose
  • Mandarin: 生日快乐,米娅,这杯敬你 / 里斯本的天空,和你选的人生
  • Spanish: Feliz cumpleaños, Mia, va por ti / Cielos de Lisboa y una vida que eliges

The English line “may the hills get shorter and your luck get changed” became “que las cuestas se acorten y cambie tu suerte” in Spanish and “愿山坡变矮,愿好运转向你” in Mandarin. The image is the same; the words are whatever sings.

What we ran

Language version works from the original as the reference and adds one setting we call closeness: how strongly the new take should stick to the reference recording. We ran three settings, two takes each (every run returns two takes), and added a control: a different Tunely song, unrelated to Lisbon Skies, so we would know what “not the same song” scores on our measurements.

RunALanguageMandarinCloseness0.85Takes2Cost2 credits
RunBLanguageMandarinCloseness0.60Takes2Cost2 credits
RunCLanguageSpanishCloseness0.75Takes2Cost2 credits
RunControlLanguageAn unrelated Tunely songClosenessn/aTakes1Costnone

Each run took about three minutes from pressing Create to two finished takes. The Mandarin and Spanish takes you can play above are take 1 of runs A and C, exactly as they came back, no editing.

How we measured “the same song”

We used four measurements, all made with librosa, an open-source audio analysis library, on the exact files linked above.

  • Key. Average the energy in each of the twelve pitch classes over the whole track, then find the major or minor key whose profile matches it best.
  • Tempo. A beat tracker. It read most of the versions at 172 bpm, which is exactly double the original's 86: the same pulse counted in half-beats, a common quirk with busier arrangements. We report it as the same tempo, because it is.
  • Length and structure. Track length in seconds, and a listen for section order, which is not something a number captures well.
  • Melodic and harmonic distance. Turn each recording into a beat-by-beat map of which notes are sounding, then measure how far each version's map wanders from the original's, allowing the two to run at slightly different speeds. Zero means an identical path. The control song tells us what “unrelated” looks like on the same scale.

The numbers

Every row is a real file. The two rows marked “published” are the takes you can play at the top of this post.

TrackLisbon Skies, English masterLength3:52KeyC majorTempo86Distance from original0.000
TrackControl: unrelated Tunely songLength3:40KeyD# majorTempo89Distance from original0.237
TrackMandarin, closeness 0.85, take 1 (published)Length4:05KeyC majorTempo86 (read as 172)Distance from original0.100
TrackMandarin, closeness 0.85, take 2Length4:10KeyC majorTempo86 (read as 172)Distance from original0.102
TrackMandarin, closeness 0.60, take 1Length3:59KeyC majorTempo86 (read as 172)Distance from original0.109
TrackMandarin, closeness 0.60, take 2Length4:13KeyC majorTempo86 (read as 172)Distance from original0.096
TrackSpanish, closeness 0.75, take 1 (published)Length3:51KeyC majorTempo86 (read as 172)Distance from original0.087
TrackSpanish, closeness 0.75, take 2Length4:00KeyC majorTempo86Distance from original0.088

What stayed, and what moved

Reading the table and the recordings together:

  • The key held in every take. Eight for eight in C major. The control, a different song, landed in D# major, so the measurement is not simply printing C for everything.
  • The pulse held. Every version sits on the original's 86-bpm grid; the beat tracker's double-time reading is the same grid at twice the resolution.
  • The chord movement held. All six versions scored between 0.087 and 0.109, less than half the control's 0.237. Spanish came closest, which fits what we heard: Spanish syllable counts land nearer to English than Mandarin's do.
  • The structure held. Verse, pre-chorus, chorus, verse, bridge, final chorus, in that order, in every take. The section tags in the lyric are doing real work here.
  • The voice character held, the exact voice did not. Same warmth, same range, same gender, recognisably “the same singer” to us, but not sample-identical, and Mandarin sounds a touch brighter. If a saved voice matters to you, pick it in the version panel and it is used as the reference voice.
  • Length moved, upward for Mandarin. The Spanish takes came in within nine seconds of the original. Mandarin ran 7 to 21 seconds longer: our adapted lines carried a few more syllables, and the engine added bars rather than rushing them.
  • The melody re-phrased inside the chords. This is the honest description of what a language version is. The chorus melody is unmistakably the same tune, but where the new language has a stressed syllable in a different place, the line bends to it. It is what a human singer adapting a song would do, and it is why the adaptation matters more than any setting.

Closeness mattered less than the reference

We expected the 0.60 run to wander noticeably further than the 0.85 run. It did not: 0.096 and 0.109 against 0.100 and 0.102. Take-to-take variation was as large as the difference between the settings. Once the original is the reference, the reference dominates, and the slider mainly changes how much the arrangement and vocal tone are allowed to drift, not the melody.

Our recommendation, which is now the default in the panel: 0.75. Push it to 0.85 or higher when the arrangement must be copied as closely as possible, and drop it towards 0.60 when the new language needs more room to re-phrase, for instance a language with much longer words than the original. Below 0.5 it becomes a cover with new lyrics rather than a version, which is sometimes what you want, but not for a release.

Adapting the lyric so the melody survives

This is the part that takes an afternoon rather than three minutes, and it is the part that decides whether the version sounds like the same song. What worked for us:

  • Keep the line count per section. Six chorus lines in English, six in Mandarin, six in Spanish. The engine maps lines to phrases; an extra line becomes an extra phrase, and the section grows.
  • Keep the same section tags, in the same order. [Verse 1], [Pre-Chorus], [Chorus] and so on. This is how the structure survives.
  • Keep the hook short and in the target language. “Here's to you” became “这杯敬你” (this glass is for you) and “va por ti”. A hook that gets longer in translation is the first thing to break a chorus.
  • Keep names and place names. Mia stays Mia; Lisbon stays Lisbon. They anchor the melody where listeners expect it, and the engine sings them with the same emphasis.
  • Match stressed syllables roughly, not the syllable count exactly. Mandarin has fewer syllables per idea; Spanish has more. Aim for the stressed beats of the line to land in the same places and let the count differ.
  • Translate the image, not the words. “The hills get shorter” is a Lisbon joke about steep streets; it works in every language as long as the picture survives.
  • For Mandarin, mind the tones on held notes. A rising tone on a long falling note sounds wrong to a native ear (the problem Chinese songwriters call 倒字). Choose words whose tones fall naturally where the melody holds.
Before you press Create:
☐ Same section tags, same order as the original
☐ Same number of lines in each section
☐ Hook kept short, in the target language
☐ Names and places unchanged
☐ Stressed syllables land on the same beats
☐ Read every line aloud at the song's tempo

If you release in more than one language

In the library, each language version is saved under the song it was made from, with a label such as “Spanish” or “Mandarin”, so the master and its versions stay together. Mark the take you approved as the master from its Manage menu, and every later version is made from that one rather than from a new generation each time.

On Pro and Ultra, each version is its own recording with its own commercial license certificate. Distributors treat a second-language version as a separate release track, so expect to register each one on its own, with its own title in that language.

Limits, honestly

Things we would want to know before paying two credits:

  • Two takes are never identical. Our pairs differed by up to 14 seconds in length. Pick the take, then mark it as the master.
  • You cannot re-sing one line. Fix the line in the lyric box and create again with the same settings; because the reference is the same, the new take stays close to the last one.
  • Longer languages make longer songs. If a version must match the original's length for a video edit, trim the adapted lyric first rather than fighting it afterwards.
  • The reference voice is close, not cloned. For a strict vocal match across a whole album, save the voice from the master once and select it for every version.
  • We tested two languages. Both are well represented in the engine's training; the panel accepts fourteen languages and we would expect Thai, Korean or Hindi to behave the same way, but we have not measured them yet.

Preguntas frecuentes

Does a language version keep the exact same melody?

It keeps the key, the tempo, the chord movement and the section order, and the chorus tune is recognisably the same. Individual lines re-phrase to fit the new syllables, the way a human singer adapting a song would. In our test, six versions scored 0.09–0.11 from the original on a melodic-distance scale where an unrelated song scored 0.24.

Is it a translation?

No. You paste an adapted lyric; the engine sings what you give it. Machine-translated lines usually have the wrong syllable counts and stress, so the version drifts. Adapt line by line, keep the hook short, and keep names and places.

What does the closeness setting do?

It sets how tightly the new take holds onto the reference recording's arrangement and vocal tone. In our test, 0.60 and 0.85 produced nearly the same melodic distance; the reference dominates. 0.75 is the default; go higher to copy the arrangement, lower to give a very different language more room.

How much does it cost and how long does it take?

Two credits per run, and every run returns two takes. Lyrics and a live preview appear within about half a minute; the finished takes land in two to four minutes depending on the song's length.

Can I use a saved voice for all the versions?

Yes. Save the voice from the master once (Save voice in the song menu), then pick it in the version panel. Otherwise the master's own voice is used as the reference.

Which languages work?

The panel lists fourteen languages, including Thai, Mandarin, Hindi, Spanish, Korean, Japanese, Portuguese, French, German, Arabic and Indonesian, and the engine sings whatever script you paste. We measured Mandarin and Spanish; we expect the others to behave the same way.

Is each version licensed separately?

On Pro and Ultra, yes: every version is its own recording in your library with its own commercial license certificate, so you can register each language with your distributor.

Fuentes

  1. librosa: chroma_cqt (pitch-class maps used for the melodic distance)
  2. librosa: sequence.dtw (dynamic time warping between the maps)
  3. librosa: beat.beat_track (tempo estimate; note the double-time reading)

Más del blog