Convertir le code Morse en signal lumineux temporisé
Transformez un code Morse écrit en une séquence temporelle prête à commander une lumière, sans calculer vous-même chaque éclair et chaque pause.
Lancer gratuitement
Saisissez les points et les traits, séparez les lettres par des espaces, placez une barre oblique entre les mots, puis choisissez la durée d'une unité en millisecondes. Le convertisseur renvoie dans l'ordre chaque événement d'allumage et d'extinction, ainsi que les durées totales utiles. Il respecte les proportions usuelles du Morse et refuse tout caractère étranger à cette notation.
Saisissez le Morse avec des séparateurs explicites
Saisissez chaque lettre codée sous la forme d'un groupe continu de points et de traits. Placez des espaces entre les groupes de lettres et utilisez une barre oblique entre les mots. Par exemple, le signal de détresse bien connu s'écrit ... --- ..., tandis que deux mots peuvent prendre la forme .... .. / - .... . .-. .. Les espaces autour de la barre sont facultatifs, car le convertisseur les normalise dans le résultat. L'alphabet d'entrée est volontairement strict : seuls les points, les traits, les espaces et la barre séparant les mots sont admis. Un groupe n'est pas vérifié dans un dictionnaire de caractères Morse attribués, puisque l'objectif est de chronométrer le motif d'impulsions fourni, y compris une séquence de procédure ou personnalisée. En revanche, un astérisque, une lettre, un chiffre ou un trait de soulignement déclenche une erreur indiquant sa position. Les mots vides et les barres placées aux extrémités sont également refusés afin d'éviter un silence ambigu dans le programme d'un appareil.
Comprenez la conversion des unités en millisecondes
Définissez unit_ms comme la durée d'une unité Morse. Chaque point maintient la lumière allumée pendant une unité et chaque trait pendant trois. Une pause d'une unité sépare deux symboles voisins d'une même lettre ; trois unités séparent les lettres et sept séparent les mots. Avec une unité de 100 millisecondes, un point correspond donc à 100 millisecondes d'allumage, un trait à 300 et un intervalle de mot à 700 millisecondes d'extinction. La séquence renvoyée est chronologique et emploie des enregistrements explicites on et off : un programme peut ainsi la parcourir sans réinterpréter la ponctuation. Aucun enregistrement d'extinction ne suit le dernier symbole, car la sortie décrit le signal lui-même et non un silence arbitraire après sa fin. Les durées résultent de multiplications entières, et l'unité doit être un entier compris entre 1 et 60,000 millisecondes. Chaque valeur reste ainsi exacte pour un minuteur en millisecondes.
Exploitez la séquence pour l'éclairage, l'aperçu et les tests
La liste d'événements convient partout où un motif Morse doit passer du texte à une logique temporelle. Un programme de microcontrôleur peut parcourir les enregistrements, régler une LED sur l'état demandé et attendre duration_ms avant de continuer. Un aperçu dans le navigateur peut animer une lampe avec la même liste, tandis qu'un projet d'accessibilité peut convertir les événements allumés en vibrations ou en sons sans modifier les intervalles. Le résultat indique aussi la notation Morse normalisée, le nombre d'événements, le temps d'allumage cumulé, le temps d'extinction cumulé et la durée complète. Ces totaux vous aident à dimensionner une animation, à comparer des vitesses ou à vérifier qu'une implémentation conserve le rythme attendu. Les minuteurs matériels et ceux du système peuvent introduire une latence : le convertisseur fournit donc le planning déterministe idéal sans garantir la précision physique. Il ne traduit pas non plus un texte ordinaire en Morse ; encodez d'abord les mots, puis transmettez ici leurs points et traits.
Cas d’usage
Piloter un contrôleur de LED
Convertissez un message Morse enregistré en attentes ordonnées d'allumage et d'extinction qu'un micrologiciel ou un service de commande peut exécuter.
Créer un aperçu visuel
Animez une lampe, une balise ou un élément d'écran avec des temps relatifs exacts avant de déployer le motif sur un appareil physique.
Tester le code de temporisation
Comparez les événements et les durées produits par une application à un planning de référence déterministe.
Questions fréquentes
Quel est le tarif ?
Le tarif de l'API est de $0.002 par élément, et la version pour navigateur peut s'exécuter localement sur cette page.
Quelle convention temporelle le convertisseur applique-t-il ?
Le point vaut une unité, le trait trois, l'intervalle interne une, celui entre lettres trois et celui entre mots sept.
Comment faut-il séparer les lettres et les mots ?
Utilisez un ou plusieurs espaces entre les lettres codées et une barre oblique entre les mots.
Convertit-il un texte ordinaire en code Morse ?
Non. Il transforme une notation existante en points et traits en événements temporels ; encodez d'abord le texte ordinaire.
Pourquoi n'y a-t-il pas de durée d'extinction finale ?
Le dernier symbole termine le message défini. Le silence qui suit relève de la lecture ou de la répétition, et non du motif Morse.
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/enc/morse-light-pattern \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"morse":"... --- ...","unit_ms":100}'const res = await fetch("https://api.kit.forhosting.com/enc/morse-light-pattern", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"morse": "... --- ...",
"unit_ms": 100
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/morse-light-pattern",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"morse": "... --- ...",
"unit_ms": 100
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/morse-light-pattern", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"morse":"... --- ...","unit_ms":100}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"morse":"... --- ...","unit_ms":100}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/morse-light-pattern", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"morse": "... --- ...",
"unit_ms": 100
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.morse_light_pattern",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Limites
max_characters | 10000 |
max_unit_ms | 60000 |
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |