11-01-2012, 07:00 PM
(Modification du message : 11-01-2012, 08:55 PM par Thêta Tau Tau.)
Je viens de finir un générateur que je compte utiliser dans mon jeu. J’avais la flemme d'utiliser la méthode de l'article de lesforges.org que Ter Rowan a mis en lien (qui doit cependant donner de meilleurs résultats). Du coup j'ai fait un algo qui analyse les sonorités d'une liste de noms et en tire un fichier de configuration. Ce fichier étant ensuite utilisé par le générateur de nom pour créer de nouveaux noms qui ont les mêmes sonorités.
Par exemple en prenant les 1200 noms de famille français les plus courants comme base, je génère des trucs comme :
RAUNAL MERAUD SUNONT MOCE MERIA LOUCEUR USSEDIN VOUFELE BESLORERT NAROUPHE TEVOBRIER REVE SALOURGEC QILERT MANRE MOUCEL ZAUILLE POJIER LONVEILLOT AMA DALLIN GEPREVIER IBEZ CAUNAUD TECHIN BEGRAIS MAMORHE NAVIEN DOBIN BEBRER NETIILEAN LINLER LACRE SARLOT ELE LAUBARD RILLAND LAMBELY BACIN CHUNNOUAN BALAVANLET TRORVAITREZ OTAYE POULEAU RELFIOT GNEDET LIVROULARD VERPE CHEMOUYER DAIFRIER TONCE TUMUET ELIESIN GIJALIER JOUSIDEZ RORTOT MARILLON SESSIER OURLECLIN CHESEUME THEFON APAIN VONALLE PAQON BIVEAN ZANCHUBE CRADOMON GOBEUR ESSARD GNEPIN QARFESCAS GNARMIN DEDAVENT TIEMY BRUJOMBAYGER BABIER ONCAUN NAMOLIER GAULIBAYE DECHIX LIVIER VIGESPON JECHA LUIPAVEST BLOCQEZ PONGET VAGIER CAISUEL NOSLEDIN LARSET LIESCHAIRANN POUSSIN UDIX BERIOT DUCE CHOLAYLLEL OEBEUDE LATHAY DELETEL PAUVAULT
Je trouve ça plutôt pas mal, même si dans le tas il y en a quelques-uns qui sonnent pas très bien. J'ai pas encore essayé les prénoms je pense que ça risque de rendre moins bien.
Pour ceux que ça intéresse je vais détailler un peu plus ma méthode :
I- Création du fichier de config :
1- Une fonction qui découpe un nom en syllabes. C'est un peu plus compliqué que ça en a l'air à cause des nombreux cas possible (notamment les syllabes qui finissent par N : BLON-DEAU, celles ou on peut faire des choix MAR-TIN ou MA-RTIN, les ILL qu'il faut choisir comment gérer, perso je fait par exemple MI-ILLET etc.).
2- Une fonction qui découpe la syllabe en deux parties (BLON -> BL-ON, TIN -> T-IN...). C'est optionnel on peut rester sur des syllabes entières.
3- Un petit algo qui compte combien de fois reviens chaque syllabe ou morceau de syllabe dans la liste de noms qu'on lui passe. On prendra soin de différencier la dernière syllabe qui est souvent particulière. On enregistre les syllabes et leur fréquence dans un fichier.
4- On choisit quelle sera la probabilité qu'un nom fasse tant de syllabes, et celles qu'il commence par une voyelle. Vu que les noms à une syllabe que je génère sont assez moches, j'en génère aucun. Pour le reste je me suis inspiré des fréquences dans mon échantillon : 75% 2 syllabes, 20% 3 syllabes, 5% 4. J'ai mit à 10% les chances qu'ils commencent par un voyelle.
II- Le générateur :
Rien de bien compliqué, on défini combien de syllabes le nom aura, s'il commence par une voyelle, puis on pioche au hasard dans les sons qu'on a référencé.
J'ai fait en sorte que les chances qu'on choisisse un son soient proportionnelles au nombre de fois qu'il apparait dans la liste de départ (dans mon exemple, beaucoup de E et de A comme voyelles, de -E -IER -ET à la fin des noms etc.).
Il faut également faire quelques accords, du style éviter qu'une consonne double se retrouve en début de nom ou après une syllabe qui finit par une consonne, remplacer les N devant des B ou des P par des N etc.
Par exemple en prenant les 1200 noms de famille français les plus courants comme base, je génère des trucs comme :
RAUNAL MERAUD SUNONT MOCE MERIA LOUCEUR USSEDIN VOUFELE BESLORERT NAROUPHE TEVOBRIER REVE SALOURGEC QILERT MANRE MOUCEL ZAUILLE POJIER LONVEILLOT AMA DALLIN GEPREVIER IBEZ CAUNAUD TECHIN BEGRAIS MAMORHE NAVIEN DOBIN BEBRER NETIILEAN LINLER LACRE SARLOT ELE LAUBARD RILLAND LAMBELY BACIN CHUNNOUAN BALAVANLET TRORVAITREZ OTAYE POULEAU RELFIOT GNEDET LIVROULARD VERPE CHEMOUYER DAIFRIER TONCE TUMUET ELIESIN GIJALIER JOUSIDEZ RORTOT MARILLON SESSIER OURLECLIN CHESEUME THEFON APAIN VONALLE PAQON BIVEAN ZANCHUBE CRADOMON GOBEUR ESSARD GNEPIN QARFESCAS GNARMIN DEDAVENT TIEMY BRUJOMBAYGER BABIER ONCAUN NAMOLIER GAULIBAYE DECHIX LIVIER VIGESPON JECHA LUIPAVEST BLOCQEZ PONGET VAGIER CAISUEL NOSLEDIN LARSET LIESCHAIRANN POUSSIN UDIX BERIOT DUCE CHOLAYLLEL OEBEUDE LATHAY DELETEL PAUVAULT
Je trouve ça plutôt pas mal, même si dans le tas il y en a quelques-uns qui sonnent pas très bien. J'ai pas encore essayé les prénoms je pense que ça risque de rendre moins bien.
Pour ceux que ça intéresse je vais détailler un peu plus ma méthode :
I- Création du fichier de config :
1- Une fonction qui découpe un nom en syllabes. C'est un peu plus compliqué que ça en a l'air à cause des nombreux cas possible (notamment les syllabes qui finissent par N : BLON-DEAU, celles ou on peut faire des choix MAR-TIN ou MA-RTIN, les ILL qu'il faut choisir comment gérer, perso je fait par exemple MI-ILLET etc.).
2- Une fonction qui découpe la syllabe en deux parties (BLON -> BL-ON, TIN -> T-IN...). C'est optionnel on peut rester sur des syllabes entières.
3- Un petit algo qui compte combien de fois reviens chaque syllabe ou morceau de syllabe dans la liste de noms qu'on lui passe. On prendra soin de différencier la dernière syllabe qui est souvent particulière. On enregistre les syllabes et leur fréquence dans un fichier.
4- On choisit quelle sera la probabilité qu'un nom fasse tant de syllabes, et celles qu'il commence par une voyelle. Vu que les noms à une syllabe que je génère sont assez moches, j'en génère aucun. Pour le reste je me suis inspiré des fréquences dans mon échantillon : 75% 2 syllabes, 20% 3 syllabes, 5% 4. J'ai mit à 10% les chances qu'ils commencent par un voyelle.
II- Le générateur :
Rien de bien compliqué, on défini combien de syllabes le nom aura, s'il commence par une voyelle, puis on pioche au hasard dans les sons qu'on a référencé.
J'ai fait en sorte que les chances qu'on choisisse un son soient proportionnelles au nombre de fois qu'il apparait dans la liste de départ (dans mon exemple, beaucoup de E et de A comme voyelles, de -E -IER -ET à la fin des noms etc.).
Il faut également faire quelques accords, du style éviter qu'une consonne double se retrouve en début de nom ou après une syllabe qui finit par une consonne, remplacer les N devant des B ou des P par des N etc.