Faits: A.a X._ est né au Maroc en 1975. Il a connu Y._, née en 1978, en 2008, lors d'un voyage en Suisse, où ses deux s?urs s'étaient installées. Une relation intime s'est rapidement nouée entre eux et ils se sont mariés au Maroc en avril 2009. Ce n'est toutefois qu'au mois de février 2010 que X._ a pu rejoindre son épouse en Suisse. L'enfant Z._ est née de leur union en septembre 2009. A.b Le couple a rencontré des difficultés peu de temps après l'arrivée de X._ en Suisse. Une première séparation a eu lieu vers la fin du mois de mars, mais les époux se sont réconciliés à l'approche de leur anniversaire de mariage. Une nouvelle dispute a éclaté le 26 avril 2010 et Y._ a requis des mesures protectrices de l'union conjugale le 29 avril 2010. Le 17 mai 2010, le Président du Tribunal de l'arrondissement de Lausanne a ratifié une convention partielle par laquelle les époux s'étaient mis d'accord de vivre séparés. La garde de l'enfant était confiée à la mère et le père bénéficiait d'un droit de visite. La jouissance de l'appartement conjugal était attribuée à Y._ et X._ s'était engagé à ne pas s'en approcher à moins de 500 mètres et à ne pas importuner son épouse, en particulier à ne pas lui téléphoner. A.c Le 21 juin 2010, X._ a rencontré son épouse dans un magasin. A cette occasion, il l'a injuriée et l'a menacée de mort. Le 27 juin suivant, alors que X._ ramenait sa fille à son épouse à la fin d'un week-end, il a à nouveau insulté cette dernière. Il a par ailleurs pris contact avec elle par téléphone à de nombreuses reprises, malgré son engagement de ne pas le faire, et il s'est rendu dans son immeuble en dépit de l'interdiction de périmètre. A.d Le 2 juillet 2010, X._ a cherché à atteindre son épouse par téléphone à vingt-quatre reprises. Il utilisait le prétexte du droit de visite pour entrer en contact avec elle. Ce même jour, il a eu un contact téléphonique avec une amie qui lui a dit que son épouse lui avait affirmé que "X._ n'était plus dans son c?ur". Ce dernier a été abattu par cette nouvelle. En quittant son travail dans un restaurant vers 14 heures, il a emporté un couteau de cuisine et s'est rendu directement dans l'immeuble de son épouse. Il a passé l'après-midi dans l'appartement de son voisin d'où il a guetté par la fenêtre en espérant voir Y._ rentrer de son travail. Il a par ailleurs eu un contact téléphonique avec celle-ci, qui lui a dit qu'il pourrait prendre sa fille le lendemain pour exercer son droit de visite, mais elle lui a précisé qu'elle ne souhaitait pas le rencontrer. Insatisfait de cette réponse, il a décidé d'attendre son épouse et a téléphoné à son employeur pour lui dire qu'il arriverait en retard à son travail qu'il devait reprendre à 18 heures. Y._ est rentrée chez elle peu avant 18 heures 30. Elle a entendu qu'un couple se disputait violemment dans l'appartement de son voisin et elle a téléphoné à la police à 18 heures 28 minutes et 10 secondes pour qu'elle envoie une patrouille. Elle a proposé à son interlocuteur de regarder le numéro de l'appartement dans lequel la dispute se passait et a posé son téléphone mobile. En sortant de chez elle, elle s'est retrouvée nez à nez avec son époux qui était dans le corridor. Celui-ci a bondi dans l'appartement de son épouse qui a tenté de l'en empêcher. Par la suite, des cris et des bruits de lutte ont été entendus ainsi que des appels au secours avant que l'enregistrement de l'appel téléphonique à la police ne prenne fin à 18 heures 30 minutes et 53 secondes. L'instruction a permis d'établir que X._ a sorti le couteau de cuisine qu'il avait emporté et a poignardé son épouse d'au moins 30 coups. Il a fini par l'égorger, lui infligeant une profonde blessure au niveau du cou. Il a ensuite laissé son épouse sur place alors même qu'il l'avait entendue râler. Il a téléphoné à la police à 18 heures 35 minutes et 32 secondes pour annoncer qu'il avait tué sa femme. Il ressort également de l'enregistrement qu'il parle avec des tiers auxquels il déclare qu'il l'a tuée parce qu'elle lui avait causé beaucoup de soucis. A l'arrivée des secours, Y._ était en arrêt cardiorespiratoire. Elle a été transportée au CHUV où elle a été réanimée. Son pouls a été récupéré à trois reprises, mais elle est décédée à 20 heures 05 d'une hémorragie massive. Il ressort du rapport d'autopsie du 4 janvier 2011 que 69 lésions ont été provoquées par un instrument tranchant, deux d'entre elles ont entraîné une section partielle des veines jugulaires communes, une touchait le foie, plusieurs intéressaient la face palmaire des mains et 32 étaient superficielles. Une fracture du nez, des ecchymoses du cuir chevelu, du visage et des membres ainsi qu'un hématome diffus du cuir chevelu et des muscles temporaux ont été constatés. B. Par jugement du 20 janvier 2012, le Tribunal criminel de l'arrondissement de Lausanne a condamné X._ pour assassinat, injure et menaces qualifiées à 20 ans de peine privative de liberté, sous déduction de la détention subie avant jugement, il a pris acte, pour valoir jugement, de la transaction en vertu de laquelle X._ devait immédiatement payer à Z._ la somme de 110'000 francs, avec intérêts à 5% l'an dès le 2 juillet 2010, la ratification par l'autorité tutélaire étant réservée, et il a alloué des sommes, à titre de tort moral, de 40'000 francs, respectivement trois fois 20'000 francs, aux autres parties plaignantes, le tout avec suite de frais et dépens. C. La Cour d'appel pénale du Tribunal cantonal vaudois, saisie d'un appel du condamné, a confirmé cette décision par jugement du 21 mai 2012. D. X._ interjette un recours en matière pénale au Tribunal fédéral. Il conclut à la réforme du jugement entrepris en ce sens que sa peine soit réduite. Il sollicite par ailleurs le bénéfice de l'assistance judiciaire. Il n'a pas été ordonné d'échange d'écritures.