There is actually around 30 thousand tupi speakers in north Brazil, in a city called "São Gabriel da Cachoeira", where it's an official language. There is also thousands of tupi-guarani languages speakers among native brazillians in all regions.
The largest spoken representant of the language is Paraguayan Guarani, spoken by around 8 million people.
Tupi was the language of the shore of south america around 1500, guarani was it's version spoken far from the shore.
Tupi became the main language of Portuguese invasion during the first 250 years, in order that people that were part of it (weather amerindian, portuguese, african, chinese, etc) propagated the tupi/guarani languages around the continent.
There were also, of course, thousands of amerindian languages(from which around only 150 survived to nowadays) not related to tupi/guarani on middle lands of Brazil (and possibly also on the shore...), in order that we can consider that Tupi/Guarani was the most propagated language of Portuguese slowly growing imperialism, more than portuguese. This until around 1760, when Tupi was officially forbidden and it's use punished severely.
From all sources I read, it's quite uncertain the level on which Tupi/Guarani kept being spoken by brazillian society after the prohibition, althought it's reasonable to suppose that there were large amount of speakers on the beggining 1900's and it's still uncertain which language the majority of Brazillian society spoke at around 1850.
The Tupi of the shore was transformed in a "lingua franca" sometimes called as "Lingua Geral", it seems that this "Lingua Geral" that was widely spoken around Portuguese settlements and it's still alive at São Gabriel da Cachoeira, being called nowadays Nheengatu.
Guarani and Tupi, at my perception, are very close languages, that could perhaps be called dialects. I studied mostly the Old Tupi and the Paraguayan Guarani, and they seem to me very close to each other (even having such geographical and chronological distance). They seem to me closer to each other than Spanish and Portuguese, for an example.
This way, weather a person studies Old Tupi, Nheengatu, Paraguayan Guarani, Guarani mbia, this person will be evolving in the understanding of all of them. (I can't say about other dialects but I suppose they are also close...)
There is a site called uz-translations.net where a person can find many legal methods on studying those languages, like the Montoya "Arte de la lengua guarani" and many others that are free of authors rights.
A good book I recomind to study paraguayan guarani is of "Antonio Guasch" "El Idioma Guarani", which can be found at Amazon and in other sites - this book comes with a small, but interesting selection of bilingual literature at the end.
The question is that with the absolutely lack of materials, books, bilingual editions about Tupi/Guarani languages, at least in Brazil, it seems nowadays necessary to mix the study of dialects, this way it's more possible to find a minimum of study material available. In my case I'm interested in all dialects, but even if a person is specially interested in one, using materials from others will help.