Après de nombreuses recherches et de nombreux essais, j'ai enfin réussit à avoir une reconnaissance vocale en français sous linux. J'ai donc testé CMU Sphinx, Simon et Julius. Ces solutions bien qu'intéressantes sont complexes à mettre en oeuvre et surtout sont très mauvaises en français. Pour ceux qui veulent une reconnaissance vocale en anglais en revanche, j'ai trouvé Sphinx très performant. En français, j'ai donc utiliser l'API Google Speech. Cette API n'est pas officiellement disponible au public. Elle sert à la reconnaissance vocale intégré dans Chrome depuis quelques versions. Toutefois elle est accessible facilement via des scripts.
Retrouvez ici quelques news et tips sur Android, Python et le Cloud
jeudi 3 janvier 2013
mardi 11 décembre 2012
Désormais sur le Windows Store
Dans le cadre du concours App hero 2, je me suis mis au développement sous Windows 8. N'étant pas un grand fan du C#, j'ai pris l'option de développer en WinJS. C'est vraiment très sympa de pouvoir faire toute une appli en js. Msdn est une bonne ressource, on y trouve de nombreux exemples et informations ainsi que le sdk à télécharger qui lui aussi contient une multitude d'exemples. Les possibilités sont très étendue et on peut vraiment faire de bonnes applis très simplement.
J'ai été très agréablement surpris en découvrant que Windows 8 gére le html5 et le css3 dans les applications Modern UI. C'est une belle avancé de la part de Microsoft qui est réputé à la traine en matière de nouvelles technologies.
Le seul problème que j'ai rencontré: la non gestion des url raccourcis. En effet dans une de mes applications actuellement en validation je récupére le RSS d'un site. Ce dernier contient des urls raccourcis vers des images. Ces liens ne sont pas fonctionnels comme tel. Sans doute une question de sécurité.
En attendant mes autres applications, vous pouvez déjà retrouver l'application officielle de ce blog sur le Windows Store.
N'hésitez pas à faire des retours.
RSS Florent Pied sur le Windows Store
J'ai été très agréablement surpris en découvrant que Windows 8 gére le html5 et le css3 dans les applications Modern UI. C'est une belle avancé de la part de Microsoft qui est réputé à la traine en matière de nouvelles technologies.
Le seul problème que j'ai rencontré: la non gestion des url raccourcis. En effet dans une de mes applications actuellement en validation je récupére le RSS d'un site. Ce dernier contient des urls raccourcis vers des images. Ces liens ne sont pas fonctionnels comme tel. Sans doute une question de sécurité.
En attendant mes autres applications, vous pouvez déjà retrouver l'application officielle de ce blog sur le Windows Store.
N'hésitez pas à faire des retours.
RSS Florent Pied sur le Windows Store
mardi 13 novembre 2012
Client Serveur Tcp en python
Aujourd'hui, je vais vous montrer comment réaliser simplement un client et un serveur tcp en python.
Tout d'abord, voici le code du client:
Tout d'abord, voici le code du client:
import socket
def sendMsg(s,msg):
s.send(bytes(msg,'utf-8'))
def receiveMsg(s):
rec=s.recv(1024).strip()
return rec.decode('utf-8')
s = socket.socket()
host = socket.gethostname()
port = 9999
s.connect((host,port))
rec=receiveMsg(s)
print(rec)
while True:
text=input(">")
if text == "quit":
s.close()
quit()
sendMsg(s,text)
rec=receiveMsg(s)
print(rec)
dimanche 7 octobre 2012
Python et les anagrammes - Benchmarks
J'ai voulu faire une fonction de recherche des anagrammes pour un mot donné en entrée. J'ai utilisé pour cela plusieurs méthodes afin de comparer les résultats. Mon but était de générer uniquement les anagrammes qui sont des mots du dictionnaire. J'ai pour cela récupérer un fichier texte contenant tous les mots de la langue française, quelques 336 531 lignes et donc autant de mots.
Je vous propose ici les résultats avec 6 méthodes différentes basées sur le même algorithme de départ. (vous pouvez en retrouver sur le site du zéro).
La première méthode consiste à rechercher tous les anagrammes d'un mot et de comparer les résultats avec le fichier dictionnaire.
Pour la deuxième méthode, j'ai découpé le fichier dictionnaire en 26 parties, chaque partie contenant les mots commençant par une lettre différente. Ainsi le nombre de fichier lu sera égal aux nombres de lettres distinctes dans le mot, ce qui réduit le nombre de mot à comparer.
J'ai ensuite repris ces deux méthodes en stockant les fichiers de dictionnaire en RAM(tmpfs).
Pour les deux dernières méthodes, j'ai voulu testé les performances avec une base NoSQL: mongodb.
La 5ème méthode c'est donc: une table mongodb avec tous les mots.
La 6ème méthode comporte 26 tables mongodb.
Je vous propose ici les résultats avec 6 méthodes différentes basées sur le même algorithme de départ. (vous pouvez en retrouver sur le site du zéro).
La première méthode consiste à rechercher tous les anagrammes d'un mot et de comparer les résultats avec le fichier dictionnaire.
Pour la deuxième méthode, j'ai découpé le fichier dictionnaire en 26 parties, chaque partie contenant les mots commençant par une lettre différente. Ainsi le nombre de fichier lu sera égal aux nombres de lettres distinctes dans le mot, ce qui réduit le nombre de mot à comparer.
J'ai ensuite repris ces deux méthodes en stockant les fichiers de dictionnaire en RAM(tmpfs).
Pour les deux dernières méthodes, j'ai voulu testé les performances avec une base NoSQL: mongodb.
La 5ème méthode c'est donc: une table mongodb avec tous les mots.
La 6ème méthode comporte 26 tables mongodb.
samedi 22 septembre 2012
Notifications en Python
Après les mails, voyons les notifications gtk en python. Elles sont simples à mettre en place et sont un petit plus. Maintenant que vous savez checker vos mails, vous pourrez être averti lorsque vous en recevez.
Il convient d'abord d'initialiser la librairie pynotify.
Une fois cette vérification faite, vous pouvez créer votre fonction de notification comme la suivante:
Il convient d'abord d'initialiser la librairie pynotify.
try: import gtk import pynotify pynotify.init( "monApplication" ) except: print "Vous n'avez pas pynotify"
Une fois cette vérification faite, vous pouvez créer votre fonction de notification comme la suivante:
jeudi 20 septembre 2012
Python et Gmail
Durant l'écriture de mon intelligence artificielle, j'ai voulu lui rajouter une interaction avec les mails. Je voulais que mon IA puisse envoyer et recevoir des mails. En python rien de plus simple.
Pour vérifier vos mails gmail, 8 lignes de code suffisent, cette fonction retourne le nombre de mails non lu dans votre boite de réception:
Pour vérifier vos mails gmail, 8 lignes de code suffisent, cette fonction retourne le nombre de mails non lu dans votre boite de réception:
import imaplib
def checkGmail():
obj = imaplib.IMAP4_SSL('imap.gmail.com','993')
obj.login('monmail@gmail.com','monMotDePasse')
obj.select()
rep=obj.search(None,'UnSeen')
nb=len(str(rep[1]).split(" "))
return nb
Libellés :
développement,
gmail,
imap,
mail,
programmation,
python,
smtp
mardi 18 septembre 2012
Legends of Code - concours de programmation
D2-SI, le Green Code Lab et GreentIT.fr présentent leur premier concours de programmation: Legends of code
Vous trouverez toutes les informations nécessaire sur le site.
Ce que je peux déjà vous dire c'est qu'il y a 4000€ mis en jeu et que le concours à lieu le 17 novembre dans les locaux de D2-SI à Paris
Le but de ce concours est de réunir 40 développeurs issus de dernière année d'école d'ingénieur.
Par équipe de 2, et pour une durée de 11h, les participants devront développer un programme correspondant au sujet donné. La grande nouveauté de ce concours, c'est le côté Green. En effet les développeurs seront jugés sur leur code mais également sur la consommation énergétique de ce dernier.
Ce concours permet de sensibiliser les développeurs juniors aux bonnes pratiques du développement Green.
Vous trouverez toutes les informations nécessaire sur le site.
Ce que je peux déjà vous dire c'est qu'il y a 4000€ mis en jeu et que le concours à lieu le 17 novembre dans les locaux de D2-SI à Paris
Le but de ce concours est de réunir 40 développeurs issus de dernière année d'école d'ingénieur.
Par équipe de 2, et pour une durée de 11h, les participants devront développer un programme correspondant au sujet donné. La grande nouveauté de ce concours, c'est le côté Green. En effet les développeurs seront jugés sur leur code mais également sur la consommation énergétique de ce dernier.
Ce concours permet de sensibiliser les développeurs juniors aux bonnes pratiques du développement Green.
Inscription à :
Articles (Atom)