In my mother tongue "zingaro" and "tzigano" have the same translation. Are they synonyms? I can remember two Italian songs where these words are used: "Il cuore è uno zingaro" and "Il violino tzigano" and they seem to be interchangeable. Are they?
Both words denote so-called Gypsies. Tzigano (more often spelt zigano) is an old-fashioned word, especially connected with travelling players and the like. Zingaro is the more usual word, often perceived as somewhat derogatory with respect to more precise ethnic terms such as Rom or Sinti (as in “Il sindaco ha incontrato rappresentanti dei Rom”).
In the context of the songs you mention, I'd say that “Il cuore è uno zingaro” (The heart is a Gypsy) alludes to Gypsies as nomads, characterising whoever's heart as a bit inconstant; while the “Violino zigano” (Gypsy violin) of course refers to Gypsies' renown as players.
Both words might share the same etymology, from medieval Greek Ατσίγγανος (Atsinganos), “untouchable”, denoting a sect of Phrygian Manichaeans (source Treccani).
Actually, tzigane is the Hungarian word for "a gypsy violinist". There's an old Italian song, titled Violino Zigano. The Italian word for "gypsy" is zingaro (masculine) or zingara (feminine).
The Romany people originated in the subcontinent of India and many have 'settled' in Europe and the Americas. Yes, these 'traveling' gypsies are refereed to as Romani, (also Romany) or Roma — but, the word does not, or should not imply that said people originated in Rome. It's more likely because the majority migrated to Hungary and Romania. Then later to Albania, Italy, England etc. The Romany have no homeland: they are vagrants and they hold fealty to no one but their clans. Those gypsies who have sought to find a 'stable', permanent home, have a difficult time with area governments. On-going disputes throughout Europe are very common.
Please do not confuse Tzigane with Zingaro. These are two different languages; specifically Romany, not Italian, albeit the Italians may have 'adopted' the word.