Supongamos Bob. Bob quiere transmitir el siguiente mensaje simple (un ejemplo) a Cassandra:
Camine 5 pies hacia adelante, gire 90 grados en el sentido de las agujas del reloj, camine otros 4 pies y cave 3 pies en el suelo.
Fácil, ¿verdad? Ahora aquí está el giro: requiero que Bob no diga el mensaje directamente, sino que de alguna manera lo oculte o lo transmita dentro de otras expresiones vocales. Este podría ser él hablando o cantando. Bob y Cassandra tuvieron la oportunidad previa de acordar un esquema de código, y eso es lo que busco.
Teniendo en cuenta mis requisitos, objetivos y limitaciones, ¿existe alguna forma de utilizar alguna propiedad acústica de la voz humana como un "canal adicional" para transmitir un segundo mensaje (oculto)? ¿Cómo funcionaría tal mapeo?
Código Morse y longitud de la sílaba: es decir, use la longitud de la sílaba para codificar un mensaje en código Morse, por lo que una sílaba larga para un guión, una sílaba corta para un punto. Fácil de decodificar si es interceptado - sí, absolutamente. Pero no mencionaste la posibilidad de que alguien estuviera escuchando para encontrar un mensaje oculto, solo que necesitaba ser codificado.
Sin ningún tipo de entrenamiento, seguramente se notará un poco, aunque una excusa como "Mi cadencia varía cuando estoy nervioso" podría ayudar. Sin embargo, con el entrenamiento, podrá mantener las sílabas de guiones y puntos solo ligeramente diferentes de las sílabas verdaderas y, por lo tanto, perfectamente viables.
Puedes gritar si quieres, porque no son los sonidos lo que importa, son los silencios entre ellos .
Los espacios entre las palabras son lo que cuenta, ya sea que elija codificar en Morse o no. La cadencia del habla incluye tanto los espacios como los sonidos y un poco de tiempo cuidadoso le permitirá transmitir el mensaje.
La principal desventaja de todo lo relacionado con el código Morse es que tiene una densidad de información muy baja. Habrá muchos gritos para que transmitas tu mensaje.
La forma más simple de codificación que se me ocurre es esta:
Ya sea que Bob hable o cante, preste atención a cuando respira. Cuente el número de palabras entre cada respiración. Será un número entre uno y ocho. (Si no, es un ruido sin sentido, un relleno )
Al combinar dos de estos números, el esquema permite 64 caracteres, más que suficiente para AZ, números y espacios.
De acuerdo, esto será muy difícil de codificar/decodificar sobre la marcha, pero con una preparación mínima, Bob puede disfrazar fácilmente cualquier mensaje en un discurso o una canción.
Puede ocultar el mensaje en el orden de las palabras donde la gramática lo permita (obviamente, eso funciona mejor cuanto más permite el lenguaje utilizado para reordenar las palabras).
Por ejemplo, considere la oración:
Hoy comeré pizza para el almuerzo.
Puede mover "hoy" y "para el almuerzo" a muchas posiciones diferentes:
Voy a comer pizza hoy para el almuerzo.
Almorzaré pizza hoy.
Para el almuerzo comeré pizza hoy.
Para el almuerzo de hoy, comeré pizza.
Hoy para el almuerzo, comeré pizza.
Entonces puede codificar un dígito entre 1 y 6 en el orden de las palabras. Tenga en cuenta que el mensaje oculto es independiente del mensaje obvio; el mismo dígito se puede ocultar en oraciones como
Ayer vi Doctor Who después del trabajo.
A veces voy a nadar por la mañana.
Ahora claramente hay oraciones con diferente número de posibles órdenes de palabras. Pero debería ser posible crear un código que funcione con oraciones arbitrarias (excepto que las oraciones con un orden de palabras fijo no podrán dar ninguna información).
Una posible estrategia de codificación podría ser la siguiente:
Para cada oración, determine el número de posibles órdenes de palabras; llamémoslo capacidad de oración. Por ejemplo, la oración de ejemplo anterior tendría una capacidad de 6. Luego, tome tantas oraciones que el producto de sus capacidades sea al menos 27 (suficiente para codificar 26 letras y un espacio). Estas oraciones dan un grupo de código.
A continuación, asigne un número a cada oración del grupo de códigos ordenando lexicográficamente las oraciones posibles y numerándolas comenzando por cero. La oración de ejemplo es la última en el orden, por lo tanto, obtendría el número 5.
Luego, calcule el valor del grupo de código multiplicando el número de cada oración por las capacidades de todas las oraciones siguientes y luego sumándolo todo.
Si el valor resultante es cero, es un espacio, si está entre 1 y 26, describe una letra, y si es más grande, entonces el codificador cometió un error.
Por ejemplo, considere el siguiente texto:
Almorzaré pizza hoy. Lo compré esta mañana. De postre planeo comer fresas o cerezas.
La primera oración tiene una capacidad de 6, la segunda tiene una capacidad de 2, la tercera tiene una capacidad de 4 ("para el postre" se puede poner al principio o al final, y también se puede voltear el orden de las fresas y las cerezas sin cambiando el significado).
El producto de las capacidades es 6×2×4=48, claramente mayor que 27, pero las dos primeras oraciones solo dan 12, por lo que el grupo de código consta de esas tres oraciones.
La primera oración tiene otros dos posibles órdenes que la preceden en orden lexicográfico (las dos variantes comienzan con "for lunch"), por lo que obtiene el valor 2. La segunda oración es la primera en la lista de posibles órdenes de palabras, por lo que obtiene el valor 0. Y la tercera oración tiene solo la que tiene fresas y cerezas precedidas lexicográficamente, por lo que obtiene el valor 1.
Así, el valor del grupo de códigos es 2×2×4 + 0×4 + 1 = 17, que corresponde a una Q.
La esteganografía es la codificación y decodificación de información oculta a simple vista en imágenes, archivos de audio, lo que sea. Es mucho más fácil si permite el hardware en la mezcla, por ejemplo, codificando un mensaje en el ruido por debajo del nivel audible, o ajustando la frecuencia de cada tono lo suficiente como para que la diferencia se pueda medir pero no escuchar.
Pero quieres poder hacer esto simplemente cantando o hablando. Para cantar, un posible esquema de codificación para un muy buen cantante sería el vibrato. Puede enviar mensajes codificados numéricamente controlando cuántos "tiempos" de vibrato usa para cada frase.
Pero también desea poder usar hablar, y la codificación no puede estar en las palabras de acuerdo con sus criterios. Eso deja cosas como el tono, la duración, el volumen y los sonidos que no son palabras, como inhalaciones, duración entre palabras, 'umm's y 'awws', etc. Omite el volumen, ya que es demasiado difícil determinar el volumen absoluto y probablemente quieras que lo haga. trabajar para diferentes niveles de ruido de fondo,
Para mayor complejidad, agréguelos. Por ejemplo, tomar aire y luego decir 'um, deberíamos irnos' podría significar algo completamente diferente a simplemente decir 'deberíamos irnos', que podría ser diferente a suspirar y luego decir lo mismo. No es el 'debemos irnos' lo que importa, son los patrones del discurso alrededor de las palabras.
Entonces, 'toma de aire + um + tono ascendente al final de la oración' (como en una pregunta) significa una cosa. 'respirar exhalar + 2ums en oración + tono plano' significa otra cosa. Inventa tantas combinaciones diferentes como necesites para codificar toda la información.
Lo bueno de codificar su mensaje en los 'metadatos' de hablar en lugar de palabras o longitudes de sílabas o algo relacionado con palabras específicas es que puede hacer que funcione con cualquier texto. Lo que importa no es el texto en sí, sino cómo lo dices o lo cantas. Podría leer la guía telefónica de esta manera y aun así transmitir su mensaje.
¿Algo como Jeremiah Denton? Como prisionero de guerra, en una entrevista televisada parpadeó la tortura en código morse. https://youtu.be/rufnWLVQcKg
Puede usar modulación de amplitud o frecuencia de la voz para transferir datos entre 5 WPM (máximo realista) y 20 WPM (probablemente sobrehumano). Podría ir arbitrariamente alto con implantes sintéticos o cibernéticos (hasta alrededor de 5 mil millones de WPM).
Esencialmente, implica levemente (o mucho, si el sigilo no es un problema) subir y bajar el volumen o el tono con una sincronización razonablemente precisa. Su socio interpreta estos cambios como datos binarios, que pueden codificar texto u otra información usando una variedad de formatos.
Un código tipo ASCII de 32 caracteres y 5 bits es probablemente la opción más rápida, ya que el código Morse es un poco más lento, pero menos propenso a errores.
También puede usar AM y FM al mismo tiempo (esto se llama modulación de amplitud en cuadratura, o QAM 0 ), pero eso sería extremadamente difícil de lograr para las personas normales, y no lo he discutido aquí.
Los aspectos obvios de la voz humana que se traducen en esquemas básicos de transmisión de radio son la amplitud y la frecuencia. Al cambiar rápidamente cualquiera de las propiedades, puede codificar ondas de sonido de baja frecuencia en la onda portadora de alta frecuencia.
Ejemplos AM/FM. 1
En lugar de traducir a ondas de radio y viceversa, simplemente puede alterar la amplitud o la frecuencia del sonido a velocidades muy altas (aproximadamente el doble de la velocidad de la frecuencia máxima que está representando). Esto podría ser posible para un sintético, pero probablemente sería imposible para un humano normal en tiempo real.
Sin embargo, siempre puede codificar la señal en tiempo no real. No encuentro ningún dato sobre las variaciones de laringe más rápidas de las que son capaces los humanos, pero supongo que no supera los 10 Hz, y probablemente menos que eso. Varios estudios han demostrado que los músculos grandes pueden contraerse en 100 a 300 ms 2 , lo que se traduce aproximadamente en 3 a 10 Hz, respectivamente.
Un segundo de una señal de 200 Hz tardaría 40 segundos o más en codificarse. También sería bastante difícil de codificar y decodificar.
La codificación de encendido y apagado 3 es una forma sencilla de modular datos binarios utilizando cambios de amplitud extremos. La presencia de ruido representa lógica alta, mientras que la ausencia de ruido representa lógica baja. Podemos extender esto usando dos amplitudes diferentes, pero presentes. O utilizando dos frecuencias diferentes, lo que se conoce como modulación por desplazamiento de frecuencia 4 .
Manipulación binaria por desplazamiento de frecuencia. 5 Modulación por desplazamiento de amplitud binaria. 6
En este punto, tienes un alfabeto binario simple. Puede utilizar este alfabeto para codificar cualquier tipo de datos que desee. Puede tener palabras de longitud fija que representen letras específicas en un alfabeto tradicional (ASCII 7 o Unicode 8 ), palabras de longitud variable que representen un conjunto intermedio de símbolos (código Morse 9 ), datos binarios que representen niveles de sonido o información de imágenes, etc.
El mayor problema aquí es solo el factor humano. Cuanto más compleja sea su información, más difícil será codificarla y decodificarla. En algún momento, hay un límite físico. Es probable que su mejor caso sea algo como ASCII, reducido a 5 bits o 32 caracteres. A 2,5 Hz, cada carácter tarda dos segundos.
También se podría utilizar el código Morse codificado en binario (BEMC), pero requiere unos 6,2 bits por carácter (un 25 % más).
(Escribí un programa C simple 10 para convertir una cadena de entrada a BEMC. Para probar el inglés normal, escogí un artículo aleatorio de Wikipedia, obtuve el artículo para "Lake Chub" 11 , eliminé las líneas nuevas del texto y usé el contenido como entrada para el programa. El programa procesa caracteres alfabéticos y numéricos, junto con espacios. La entrada constaba de 4972 caracteres, de los cuales 4739 se procesaron y convirtieron en 29690 bits. En promedio, esta codificación usó 6,27 bits por carácter. Procesamiento solo de caracteres alfabéticos (para comparar con la codificación solo alfa de 5 bits), se procesaron 4696 y se convirtieron a 29024 bits, que usaban 6,18 bits por carácter).
La ventaja de BEMC es que cada guión y punto tiene una transición de mayor a menor y de menor a mayor para cada carácter, por lo que es relativamente fácil realizar un seguimiento del tiempo.
Técnicamente, tiene que codificar mentalmente dos veces (una vez del alfabeto a Morse, luego otra vez de Morse a binario), pero en la práctica hay poca distinción entre BEMC y simplemente usar el código Morse ternario (guión, punto, espacio) directamente: los guiones son largos períodos de lógica alta con un período corto de lógica baja, los puntos son períodos cortos de lógica alta con un período corto de lógica baja y los espacios son períodos medios de lógica baja.
La longitud media de palabra de la escritura típica es de 4,8 caracteres 12 . Agregue 1 carácter para espacios entre palabras para 5,8 caracteres por palabra. Un mensaje de texto promedio tiene 7 palabras 13 , o alrededor de 40 caracteres. A 5 bits por carácter, un mensaje de texto tarda 200 bits u 80 segundos a 2,5 Hz. 20 segundos a 10 Hz.
Alternativamente, esto equivale a 29 bits por palabra, 5,2 WPM a 2,5 Hz o 21 WPM a 10 Hz.
Obviamente, todo esto no es práctico para propósitos normales. Hay una manera perfectamente buena de comunicarse con el aparato vocal humano: el habla.
Pero si desea transmitir mensajes cortos, puede hacerlo. El truco está en cambiar las frecuencias o amplitudes lo suficiente para que la otra persona decodifique los datos de manera constante y sin errores, pero que otras personas no escuchen la diferencia.
Dudo que haya alguna forma de evitar que otros se den cuenta de que tu forma de hablar o cantar es rara, pero no sabrían de inmediato lo que estabas haciendo. Además, no necesariamente conocerían su codificación exacta, aunque podrían descifrarla fácilmente a partir de una grabación.
Es probable que el mayor problema aquí sea mantener un tiempo razonablemente consistente durante duraciones de un minuto, pero supongo que es factible.
Una persona sintética, o una persona con implantes cibernéticos, podría utilizar plausiblemente estas técnicas para alcanzar tasas de transferencia de datos mucho más altas. La frecuencia máxima alcanzable en el aire es de unos 5 GHz 14 , lo que nos limita a unos 2,5 Gb/s, que son 86 millones de palabras por segundo, 5000 millones de WPM, 12 millones de textos por segundo u 81 nanosegundos por texto.
Pero con toda probabilidad, podría hacerlo mucho mejor con métodos de transferencia de datos no acústicos si tuviera acceso a estos niveles de electrónica.
0 Un artículo de Electronic Notes , Qué es QAM: modulación de amplitud en cuadratura . https://www.electronics-notes.com/articles/radio/modulation/quadrature-amplitude-modulation-what-is-qam-basics.php
1 Tomado de Wikipedia bajo licencia Creative Commons . https://en.wikipedia.org/wiki/File:Amfm3-en-de.gif
2 Estudio de investigación, Unidades de contracción rápida y lenta en un músculo humano de 1971. Encontrado en el sitio web de Journal of Neurology, Neurosurgery, and Psychiatry . https://jnnp.bmj.com/content/jnnp/34/2/113.full.pdf
3 Un artículo de Wikipedia ,Tecla de encendido y apagado . https://en.wikipedia.org/wiki/On%E2%80%93off_keying
4 Un artículo de Wikipedia , modulación por desplazamiento de frecuencia . https://en.wikipedia.org/wiki/Frequency-shift_keying
5 Tomado de Wikipedia bajo la licencia Creative Commons . https://commons.wikimedia.org/w/index.php?curid=635074
6 Una versión modificada de (5), enviada bajo la licencia original.
7 Tabla de códigos ASCII. http://www.asciitable.com/
8 Descripción general de Unicode del Consorcio Unicode. https://home.unicode.org/basic-info/overview/
9La increíble respuesta cs.stackexchange de babou a ¿Es el código Morse binario, ternario o quinario? . https://cs.stackexchange.com/a/39922
10 Mi programa C alojado en el compilador OnlineGDB C. https://onlinegdb.com/BkMqmOvUS
11 Un artículo de Wikipedia , cacho de lago . https://en.wikipedia.org/wiki/Lake_chub
12 Un artículo de Peter@Norvig.com , English Letter Frequency Counts: Mayzner Revisited o ETAOIN SRHLDCU . http://norvig.com/mayzner.html
13 Un artículo de Crushh , K, Wrap It Up Mom .https://crushhapp.com/blog/k-wrap-it-up-mom
14 La física de Ron Maimon.stackexchange responde a ¿Existe un límite de frecuencia superior para el ultrasonido? . https://física.stackexchange.com/a/23427/90152
Lo primero que pensé fue que puedes usar los principios de la esteganografía aquí. pero ha rechazado los patrones más simples en la primera viñeta (no debería haber ningún enlace al mensaje oculto dentro de las palabras del enunciado de Bob).
Entonces, siguiente opción. La mayoría de la gente habla por la boca, no por la nariz. Puede intentar que Bob hable palabras regulares nasalmente. Elija aquí dos tipos de palabras, por ejemplo, monosílabas y bisílabas . Basado en esto, ahora puede convertir estos sonidos en un código morse para caracteres ingleses .
EDITAR:
Ahora me doy cuenta de que solo está buscando una forma de codificar la información de manera uniforme, en cuyo caso, incluso el habla regular con las palabras monosílabas y bisílabas correctas será suficiente.
Muchos han cubierto la codificación de mensajes para hablar o escribir, pero no vi ninguno que cubriera el canto.
Hay muchos idiomas como el mandarín o el cantonés que usan la tonalidad para cambiar el significado de una palabra. Usar la tonalidad en un idioma que no le atribuye un significado natural, especialmente durante la canción, es una excelente manera de ocultar mensajes.
Por ejemplo, "adelante" es un tono neutral, "girar a la derecha" es un tono ascendente y "girar a la izquierda" es un tono descendente. Un tono de inmersión (neutral, más bajo, de vuelta a neutral) podría indicar hacia abajo, mientras que lo contrario de un tono de inmersión podría indicar hacia arriba. Varias palabras cantadas en un tono particular significan "esa dirección para tantas unidades como palabras. Este esquema permite codificar la dirección y la magnitud en una canción.
La frase "cuando el pájaro vuele alto" cantada en tono ascendente indica "girar a la derecha, luego avanzar 5 unidades". También puede haber un vocabulario preexistente para otras cosas importantes, como mencionar un perro que significa "guardias", describir lo hermoso que es algo significa "buscar algo con descripción". Para obtener más ejemplos de esto, puede leer las cartas enviadas por los prisioneros de guerra de la Segunda Guerra Mundial que tienen mensajes ocultos codificados en declaraciones bastante inocuas.
Podría haber una señal física o incluso otra codificación tonal para indicar "estas son instrucciones", como un determinado acorde o parte de una canción, como el puente que conduce al coro final.
Finalmente ha llegado el momento: neutral, camine 5 pies hacia adelante
para que golpeemos - tono ascendente, gire a la derecha, camine 4 pies
nuestros enemigos abajo - tono de inmersión, 3 pies por debajo de donde estás
La combinación de palabras clave, tonalidad y número de palabras se puede utilizar para transmitir discretamente mensajes ocultos en una canción sin alertar a los oyentes casuales de que hay un mensaje oculto.
Morse es lo primero que probablemente le venga a la mente, pero, como se señaló, es de una densidad increíblemente baja.
Si puede hacer que el tono de la voz cambie en 16 niveles distinguibles, puede usarlo para codificar códigos hexadecimales, que son una forma razonablemente más densa de codificar algo que Morse.
Dado que probablemente solo necesite codificar 26 letras + 10 números, nos da 36 números hexadecimales, que encajan perfectamente en dos códigos hexadecimales:
Pitch. Hex
Pitch1 - 0
Pitch2 - 1
...
Pitch10 - A
Pitch16 - F
Letras A...Z - combos de tono de 00-1A
Números 0-9 - combos de tono de 1B-24
En realidad, hay tanto excedente que es posible que desee reducir el alfabeto a 16 valores (para usar un solo dígito hexadecimal para codificar) o usar una codificación de números de dígitos más altos, si puede esperar distinguir entre 36 tonos de voz). Por ejemplo, podría reducir 0 a O, 1 a I, usar U para V, I para J e Y, deshacerse de Q, etc. Algo de esto se usó en las primeras máquinas de escribir, por ejemplo. Todo depende de qué tan inteligente pueda asumir que es el destinatario para que pueda decodificar:
Camine 5 pies hacia adelante gire 9o grados en el sentido de las agujas del reloj camine otros 4 pies y excave 3 pies en el suelo.
Además, podría tener un orden de tonos diferente para que los tonos más bajos y más altos codifiquen valores menos utilizados, para reducir la atención a los cambios de tono.
Entonces, ahora tiene una codificación hexadecimal modulada por tono, que naturalmente podría vincularse a las sílabas. Cada 2 sílabas codifica una letra de tu alfabeto (incluidos los números).
El mensaje no es importante, ya que suelen ser espacios entre el texto.
Hay un montón de respuestas que cubren la palabra hablada. Muchos de ellos, aunque ligeramente perceptibles en una conversación/habla normal, serían extremadamente obvios cuando se cantan. No hay razón para no tener dos (o tres si tiene algo más planeado para gritar) diferentes medios de codificar su mensaje.
Muchas canciones tienen letras sin sentido como La La La o Na Na Na. Por ejemplo, De Do Do Do de Police, De Da Da Da tiene el coro:
De do do do de da da da Is all I want to say to you
De do do do de da da da Their innocence will pull me through
De do do do de da da da Is all I want to say to you
De do do do de da da da They're meaningless and all that's true
El cual podría modificarse fácilmente para codificar su mensaje, ya sea utilizando el código Morse y variando entre DO y DA o con algún otro esquema. Y, de hecho, probablemente querrá probar y encontrar algún otro esquema, porque el código Morse usa entre 1 y 4 bits por letra, y la canción de Police, por ejemplo, solo tiene 32 bits por coro (96 con tres repeticiones), lo que significa que probablemente solo tiene alrededor de 40-50 letras para su mensaje. Dicho esto, probablemente puedas encontrar una canción con más sílabas sin sentido (tal vez Oh La La @ ~110 de Goldfrapp).
Dicho todo esto, probablemente querrá acortar un poco el mensaje. Simplemente eliminando los espacios, da un mensaje de 258 caracteres una vez convertido a código Morse (190 si se descuentan los espacios). Podría acortar eso considerablemente al no usar un inglés completo adecuado. Por ejemplo, "Go N 5 f W 4 f Dig 3 f" tiene solo 58 caracteres una vez convertido en código Morse, que debería caber fácilmente en la canción de Police.
Recuerde que la brevedad es bastante importante al codificar un mensaje dentro de otro, a menos que esté planeando un discurso de una hora o un concierto completo. Casi cualquier tipo de codificación tendrá una velocidad de transmisión más lenta que el medio que utiliza sus requisitos.
Ya se ha mencionado la esteganografía, pero no es el mejor método para ello. La esteganografía moderna generalmente implica la codificación binaria en los valores menos significativos de un archivo multimedia que se puede extraer comparando un archivo original secreto con el modificado para extraer las diferencias. Esto crea variaciones tan pequeñas que son indistinguibles del ruido normal, mientras que también es 100% a prueba de errores.
Cómo se aplica esto a un archivo de audio:
Un archivo de audio se descomprime en una cadena continua de valores que se pueden representar con números. Digamos para este ejemplo que está utilizando una profundidad de 8 bits. Su primer clip podría verse como [122,143,201,203,198,152,100,84,...] y su segundo clip podría verse como [122,144,202,203,199,153,101,84,...]. Para el oído humano, estas dos pistas son indistinguibles, pero restando una de la otra, obtienes el siguiente binario [0,1,1,0,1,1,1,0] que es la letra "n" en ASCII .
La mayoría de los archivos de audio modernos tienen una frecuencia de muestreo de 44 100 Hz con una profundidad de 16 bits, lo que significa que puede empaquetar todo el mensaje de ejemplo en un archivo de audio agregando una fluctuación del 0,15 % a 0,02 segundos del archivo de audio. (¡buena suerte escuchando eso!)
Normalmente, este tipo de esteganografía es imposible de decodificar sin el archivo de origen, lo que significa que no puede usarlo ad hoc violando así su segundo punto, pero los archivos de audio tienen la calidad única de que a menudo se guardan en estéreo. Es muy común que el audio de una sola pista se transmita en estéreo, donde ambas pistas son simplemente la misma pista repetida. Pero en este caso, haces que una pista estéreo sea la fuente y la otra el mensaje codificado para que puedas extraer uno del otro. Esto es menos seguro que usar un archivo fuente secreto, ya que alguien que busca un mensaje codificado puede encontrarlo; por lo tanto, deberá asegurarse de que el mensaje esté encriptado antes de codificarlo.
De esta manera, puede enviar un mensaje largo y detallado en cualquier archivo de audio (incluso algunos gritos aleatorios). Siempre que el destinatario tenga el software correcto y la clave de descifrado, puede leerlo.
No estoy seguro exactamente de lo que estás tratando de descartar con tu primera viñeta. ¿Está descartando simplemente mezclar las palabras o agregar un montón de palabras nulas, es decir, no quiere que alguien pueda ver las palabras claras en la canción? ¿O quiere decir que las palabras habladas no se pueden usar de ninguna manera?
Porque hay muchas formas de codificar un mensaje en un texto de portada. Claro, si dices "tomar todas las demás palabras", alguien que esté esperando un mensaje de este tipo podría ver palabras sospechosas en la canción. Recuerdo un código que realmente se usó para pasar un mensaje a un espía capturado una vez (olvidé las circunstancias, tengo que buscarlo) donde la regla era "toma la tercera letra después de cada signo de puntuación". La puntuación no funcionaría bien para un mensaje verbal, por supuesto, pero podría tener una regla como "tomar cada quinta letra" o "tomar la segunda letra después de cada 'e'" o algo así.
Podrías aplicar alguna fórmula al texto. Como tomar el número de letras en cada palabra y ejecutarlas a través de algún tipo de fórmula. O las palabras de una sílaba cuentan como un punto y las palabras de varias sílabas como un guión y usan el código Morse. Etcétera etcétera.
Use un código verdadero en lugar de un cifrado. Haga una lista de palabras clave con anticipación. Por ejemplo, si va a cantar una canción de amor, diga que "amor" significa "sentido horario" y "hermoso" significa "sentido antihorario" y "puesta de sol" significa "pies" y "vestido" significa "cavar" y así sucesivamente. Luego, traduce el mensaje a las palabras clave y completa las palabras que no son palabras clave para hacer una canción coherente.
Si quiere decir que las palabras no se pueden usar de ninguna manera para transmitir el mensaje:
Usted dice que se puede suponer que ambas personas son extremadamente perceptivas. Así que está bien, digamos que la canción cubre 2 octavas. Son 16 notas. Cualquier combinación de 2 notas tiene 256 posibilidades. Deje que 26 de esas combinaciones se asignen a las letras del alfabeto, tal vez algunas más se asignen a otros símbolos que necesita, como espacios y puntuación esencial. Luego traduzca el mensaje en estas notas. Un problema con esto es que una colección aleatoria de notas no sonaría como una canción real y sería imposible cantarla. Pero si solo usa 30 o más de los 256 pares de notas, puede usar los otros 226 libremente como relleno para tratar de "suavizar" la melodía. O podría decir que solo cada cuarta nota cuenta o algo así. No he probado esto y no sé lo práctico que sería.
Del mismo modo, codifique el mensaje en las longitudes de las notas. Digamos que usa binario: una negra es 1, una blanca es 2, una negra es 4, una corchea es 8, una semicorchea es 16. Un silencio marca el final de un grupo de notas que forman un número. Entonces A=1, B=2, C=3, etc. Nuevamente, codificar un mensaje como este generaría una melodía muy discordante, tendrías que poder agregar muchos valores nulos para suavizarlo.
Tome cualquier melodía conocida ("Oda a la Alegría" me vino a la mente por su simplicidad). Cante la melodía con palabras sin sentido, o quizás alterne las instrucciones incorrectas, no son las palabras las que importan.
Trate las notas como binarias: un 0 estará "afinado" y un 1 estará "desafinado".
Tiene el requisito previo de que el codificador tenga una capacidad de canto razonable (de lo contrario, el descifrado puede salir todo 1).
Un efecto secundario desafortunado es que cualquiera que esté familiarizado con el método de descifrado puede leer muchas tonterías involuntarias al pasar por una barra de karaoke.
usuario6415
La Ley del Cuadrado-Cubo
Gurán
usuario6415
Gurán
Burki
usuario6415
Darrel Hoffmann
miguels
ViejoFuzzBall
petirrojo bennett
usuario6415