To draw a sports analogy, everyone is born with the ability to play at least one sport perfectly. We spend childhood training our mouth and throat muscles for this one sport and eventually become very adept.
For example, individuals may perfect hitting a baseball but struggle hitting a golf ball. The differences between baseball and golf swings are large enough that it requires tremendous talent and dedication to translate expertise from one to the other.
Assuming this sports analogy holds, a key step in developing accent-free pronunciation requires defining and learning the biomechanical fundamentals of the language "swing" -- similar to how beginners learn the fundamentals of a golf swing.
The second step is transferring this knowledge from the mind to the body. With golf, this is achieved by visiting the driving range or golf course and repeatedly training our muscles to swing a golf club instead of a baseball bat.
Questions:
1. How do you learn the "swing" (e.g., tongue and mouth movements) of a language? Most language resources are rich in grammar and vocabulary but sparse on pronunciation.
2. What is the language equivalent of the driving range, meaning what are the most effective ways to retrain mouth and tongue muscles on your own? (Immersive learning or speaking with natives may be ideal, but they are also more difficult to arrange.)
When I say 2 techniques, it's actually just one: shadowing. Essentially you take a recording of a piece of speech and memorise it. You then practice saying it at the same time as the recording. When you feel like you are able to say it, play the recording in headphones and record your voice. Then compare your recording to the original recording.
I used news casts to practice because it was easier to find audio clips that also had transcripts I could read -- however an audio book would be ideal if you can get your hands on it. I ran into a problem just having facility with the succession of sounds, timing and tones. My "second" technique was to do this with music. I memorised a variety of popular music and then went to karaoke 3 times a week :-) Probably this helped me the most.
I still struggle quite a bit with tones. Japanese does not have accents on words, but it has 2 tones -- either rising or falling. Getting the tones right is often the difference between being understood or not. At first I could not hear the tones but practicing example sentences that used homonyms with different tones helped me quite a bit.
As I said, I never really had to struggle with learning how to pronounce a sounds -- it was much more in selecting the correct sound, or refraining from using English dipthongs, etc. However, I've taught English to Japanese students who have real difficulty learning how to make certain sounds. I have found that being very specific about how the mouth moves, where you put your tongue, how to use your breath, etc makes all the difference. Probably the best reference are textbooks meant for people who were deaf from birth. After that it's just practice and shadowing is the best technique I know about.
https://en.m.wikipedia.org/wiki/International_Phonetic_Alpha...
http://www.nativlang.com/linguistics/ipa-pronunciation-lesso...
Some people cannot, at first, hear certain sounds in a new language. Usually a language teacher makes them aware of these sounds. If that fails, one could hire a phonetician (like Henry Higgins in the movie "My Fair Lady"), a linguist skilled in the way one shapes ones vocal apparatus to make sounds in a particular language or languages. Some language textbooks provide descriptions of how to do this.
Question 2: A language lab.
The jury is still out on that. See https://en.wikipedia.org/wiki/Critical_period#Linguistics.
I know other people from the area that have lived away from home for 20 years and still sound exactly how they used to!
Also my accent comes back when I speak to people from "home".
My Spanish also improved with alcohol and a few months travelling around south america, where people are far less picky about the language than they would be in Spain and not too many local people speak English.
It's really that simple.
(1) Get an understanding of how to make the sounds from native speakers.
(2) Make a list of all the words you know you don't have a good pronunciation of.
(3) Repeat the words to yourself regularly.
That's it.
Some words will come easier than others, and ones you have mastered can be removed from the list.
I find it's best to do them in small blocks. Five at a time, or whatever you can easily hold in memory.
You have to watch their mouth shape and tongue position.
In the end it comes down to practice with specific intent of improving your pronunciation. Hiring a voice coach would be the next step.