I have no theory. I can only tell you what I did to get to a speaking level that matches my N2.
I had studied for 6 semesters in college, and didn't like to speak there, because I never felt like I knew what I was talking about. I hated the pair exercises. So much silence as we struggled to find something to say with out limited vocabs.
Real life happened, and I stopped studying for 3 years. I restarted in 2007. I had been casually studying until last summer, when I took the N2, when I realized that my speaking was *still* terrible, mostly because I just didn't feel comfortable with it.
I was pretty good at listening-- I've been listening to Japanese TV on a daily basis for a few years now, and I have fewer and fewer problems with that. I also listen to podcasts regularly, so I have a rough idea of what "good" Japanese is supposed to sound like-- but I still couldn't string together sentences.
So I took 3 months off, and went to Japan. Since I was a freelancer, it was do-able. Yeah, I know, not everyone can do that. Time is money, and the yen is strong these days. I had a little of both, and the place I went to made it somewhat affordable.
I went to the Yamasa Institute in Okazaki in Aichi Prefecture, and studied my butt off. 5 hours or so of regular class time plus 1 hour of Business Japanese a day, plus, hey-- I was in Okazaki, so I pretty much *had* to use Japanese. And I had homework, too, so I was studying 2-3 hours a night on top of that. Generally, outside of calling friends/family back home, it was Japanese 23/7.
Going to the hospital twice *really* boosted my Japanese ability as well.
The teachers at Yamasa all generally refuse to speak English, even if they're very good at it, which I found very cool. No matter what you say, they'll reply in Japanese, and usually remind you to talk to them in Japanese.
Since the other students came from all over the world, Japanese was the best language to use for communication. I had friends from Brazil, Singapore, Malaysia, India, and other places as well, and I generally only spoke to them in Japanese.
One time I met some guys from Turkey in the campus bar, and we had a nice conversation-- in Japanese, because they didn't speak English, and I don't speak Turkish. It was like one of those sci-fi mangas where the whole world speaks Japanese. Made me chuckle a bit to myself.
My most favorite class ever at Yamasa was a class we had in the Biz Japanese class on "How to say nothing." In other words, filler words. Everyone said I was scary good at that. (Probably because I watch a lot of TV.) I'm *still* not sure how to take that. XD
The biggest challenge for me was when I got back to the U.S. After a month of resting, I realized that my hard-fought ability was starting to leave me FAST, so I set up a network of people locally and over the internet to talk with on a regular basis to keep my level up.
One of my 書道 teachers teaches the class only in Japanese, which is awesome. I meet up with a local Japanese person who came back recently after being in Japan for 20 years or so, and we have fun talking about all kinds of stuff. (Sometimes in English, sometimes in Japanese. Gotta be fair about it.) And I use Skype a few times a week to work with one of my old teachers on my Business Japanese. That *really* helps a lot.
Also, a non-human-interaction thing I do-- I read a large chunk of my Anki cards out loud, if I'm reviewing at home. It's good practice. I've been told by many people that I don't have much of an accent, and that makes me kind of happy... but it's one of those 日本語が上手ですね things... they may just be being polite.... but I have heard some terribad accents before, so I'm hoping it's not just politeness. XD
I'm not sure if I believe the "silent period" stuff or not. After going through what I've gone through I feel like it's a good thing to break out of that as soon as you have a basic grasp of the language, and just keep beating your head against it. Also, using the words you're studying in a conversation *feels* like a great way to help flip them over into active vocab. *Shrug* I'm not a scientist, so who knows?
tl,dr: if you want to get better at speaking, then speak. speak a lot. then speak some more.
Edited: 2012-10-27, 7:34 am