Lo Último en IP@P
- Stellar Data Recovery revoluciona la recuperación de archivos perdidos en discos duros externos
- Goblin Mine: La Estrategia Económica Detrás del Juego de Minería que está Fascinando a Todos
- Estos son los nuevos Cargadores UGREEN: potencia y portabilidad en dos versiones que no te puedes perder
- UGREEN Nexode Pro: El Cargador Ultradelgado que revoluciona la carga de dispositivos móviles
- La computación en la nube está transformando los juegos Online y estas son sus grandes ventajas
Alan Mathison Turing fue un matemático, lógico, informático teórico, criptógrafo, filósofo y biólogo teórico británico.Está considerado uno de los padres de la ciencia de la computación y precursor de la informática moderna, aunque hoy descubrirás mucho más sobre el.
De hecho, Alan Turing es uno de los grandes pioneros de la era digital, ya que estableció los fundamentos matemáticos de la informática y utilizó máquinas digitales electromecánicas para descifrar los códigos alemanes en Bletchley Park, en Inglaterra, durante la Segunda Guerra Mundial. Pero una de sus contribuciones que se ha pasado por alto es su trabajo pionero en la transformación del ordenador en un instrumento musical.
Se suele decir que las notas musicales generadas por ordenador se escucharon por primera vez en 1957, en los Laboratorios Bell, en Estados Unidos. En realidad, el ordenador del Laboratorio de Máquinas de Computación de Turing en la Universidad de Manchester, en Inglaterra, ya tocaba notas musicales muchos años antes.
Los inicios de Alan Turing en el laboratorio de Manchester
Fue en el laboratorio de Manchester, en junio de 1948, donde el primer ordenador electrónico multiuso con programa almacenado ejecutó su primer programa. Apodado "Baby", este prototipo era algo tosco. Los programas se introducían en la memoria, bit a bit, a través de un panel de interruptores manuales.
El resultado eran puntos y rayas brillantes en una pequeña pantalla de cristal. "Baby" fue creado por dos brillantes ingenieros (Freddie Williams y Tom Kilburn) como banco de pruebas para su nueva e innovadora memoria electrónica de alta velocidad, el tubo Williams-Kilburn (un tipo de tubo de rayos catódicos).
Aunque Baby ejecutó su primer programa unas semanas antes de que Turing llegara al laboratorio de Manchester, las ideas de Turing habían influido mucho en Kilburn a la hora de diseñar el ordenador. (A Kilburn no le gustaba dar crédito a Turing, pero la evidencia histórica sobre este punto es clara).
Después de su llegada, Turing mejoró la naturaleza básica de Baby, diseñando un sistema de entrada-salida que se basaba en la tecnología de tiempos de guerra utilizada en Bletchley Park. Los propios Williams y Kilburn no sabían nada de Bletchley Park ni de sus 9 gigantescos ordenadores Colossus.
Estas máquinas secretas fueron los primeros ordenadores electrónicos a gran escala mundial, aunque no eran polivalentes y no incorporaban el concepto de programa almacenado. En su lugar, cada Colossus se controlaba mediante interruptores y un panel de conexiones. La guerra terminó antes de que se pudiera probar un plan para utilizar un programa de tarjetas perforadas en una cinta de teleimpresora para controlar el ordenador.
Turing utilizó la misma cinta perforada como base de su perforador y lector de entrada-salida. Al igual que en el caso de Colossus, una hilera de células sensibles a la luz convertía los patrones de agujeros de la cinta en impulsos eléctricos y alimentaba estos impulsos al ordenador. Lo que hacía único al Baby era que, en lugar de ejecutar el programa directamente desde una cinta, lo almacenaba en la memoria para su ejecución. (Una vez que los programas se almacenan en la memoria interna, un ordenador puede editarlos antes -o incluso mientras- se ejecutan).
La Máquina de Manchester Mark I, el origen de todo
Pronto, un ordenador más grande tomó forma en el laboratorio. Turing lo llamó Mark I. Kilburn y Williams trabajaron principalmente en el hardware y Turing en el software. Williams desarrolló una nueva forma de memoria suplementaria (un tambor magnético giratorio) mientras que Kilburn se encargó de desarrollar las tripas del ordenador, como el procesador central.
Turing diseñó el sistema de programación del Mark I y escribió el primer manual de programación de ordenadores del mundo. El Mark I entró en funcionamiento en abril de 1949, y se siguió perfeccionando a medida que avanzaba el año.
Ferranti, una empresa de ingeniería de Manchester, fue contratada para construir una versión comercializable del ordenador, y los diseños básicos de la nueva máquina fueron entregados a Ferranti en julio de 1949. El primer ordenador Ferranti se instaló en el laboratorio de Turing en Manchester en febrero de 1951 (unas semanas antes de que estuviera disponible el primer ordenador comercial fabricado en Estados Unidos, el UNIVAC I).
Turing se refirió a la nueva máquina como Manchester Electronic Computer Mark II, mientras que otros la llamaron Ferranti Mark 1. (Escribió el manual de programación en previsión de la llegada del Mark II y lo tituló Programmers' Handbook for Manchester Electronic ComputerMark II, pero se basó en su trabajo de diseño de programación para el Mark I.
¿Ordenadores electrónicos que tocan notas musicales?
Pero... ¿Cómo convirtió Turing el ordenador Manchester en un instrumento musical?. Su Manual del Programador lo explicaba. Por lo que sabemos, el Manual contiene el primer tutorial escrito sobre cómo programar un ordenador electrónico para que toque notas musicales.
El ordenador Manchester tenía un altavoz llamado "hooter" que servía de alarma cuando la máquina necesitaba atención. Con algo de programación adicional, se podía hacer que el "hooter" emitiera una serie de notas musicales. Esto era todo un truco. Para producir un tono desde un altavoz, hay que enviarle una señal eléctrica oscilante. La frecuencia de las oscilaciones da la frecuencia del tono.
Los equipos de sonido digitales modernos pueden generar todo tipo de formas de onda oscilantes complejas, pero todo lo que los constructores del Mark II pudieron conseguir fue enviar secuencias de pulsos digitales de encendido y apagado al altavoz.
Y esto es exactamente lo que hacía la instrucción "hoot" del ordenador; ejecutando la instrucción una vez se enviaba un pulso al "hooter". Pero un pulso por sí solo sólo produciría un sonido que Turing describió como "algo entre un golpecito, un clic y un golpe".
Se podía reproducir un tono reconocible utilizando un bucle de programa que ejecutara repetidamente el comando hoot, enviando un tren de pulsos al hooter. La frecuencia del tono se fijaba en función del tiempo transcurrido entre los pulsos.
Ahora viene la parte inteligente. Los programadores miden el tiempo que emplea un ordenador para ejecutar una instrucción en ciclos de reloj: Para que todos sus circuitos funcionen en sincronía, un ordenador tiene un reloj maestro, y sólo en cada "tictac" de este reloj los resultados de un conjunto de circuitos son aceptados por el siguiente.
Los ordenadores modernos tienen velocidades de reloj que se miden en gigahercios, es decir, miles de millones de ciclos por segundo para una mayor precisión).
El Mark II avanzaba a poco más de 4 kilohercios, es decir, cuatro mil ciclos por segundo.
La instrucción hoot tardaba cuatro ciclos en completarse, enviando un pulso de un ciclo de duración al altavoz en el cuarto ciclo. La instrucción de bucle también tardaba cuatro ciclos, por lo que al hacer el bucle, el pulso se enviaba cada ocho ciclos, o a una frecuencia de 521 hertzios, que está muy cerca de la nota C5. (El subíndice indica la octava; el Do central es el Do 4.)
Turing se dio cuenta de que utilizando múltiples instrucciones hoot dentro del bucle y/o instrucciones "ficticias" que el ordenador "desperdiciaba" ciclos en ejecutar, podía variar el tiempo entre pulsos, creando notas con diferentes frecuencias. Por ejemplo, dos hoots seguidos por la instrucción de bucle producirían F4.
El propio Turing no parece haber estado especialmente interesado en programar la máquina para que tocara piezas musicales convencionales. En su lugar, concibió las diferentes notas musicales como indicadores auditivos de los estados internos del ordenador:
- Una nota podría sonar para "trabajo terminado",
- Otra para "error al transferir datos desde el tambor magnético" o "dígitos desbordados en la memoria", etc.
Ejecutar uno de los programas de Turing debía de ser un "asunto ruidoso", con diferentes notas musicales y ritmos de clics que permitían al usuario "escuchar" (como decía Turing) lo que hacía el programa. Aunque realmente no se sabe con exactitud cuándo el ordenador de Manchester tocó su primera nota programada.
Geoff Tootill fue uno de los ingenieros eléctricos encargados de construir el hardware, y su cuaderno de laboratorio es uno de los pocos documentos que se conservan sobre la transición del Baby al Mark I. En el cuaderno, el código de instrucción de 5 dígitos del Mark I para el "hoot" 11110 aparece en una entrada de octubre de 1948, pero todavía no se corresponde con ninguna instrucción (incluso hoy en día, los diseñadores de procesadores informáticos apartan los códigos que no hacen nada en realidad, para poder añadir fácilmente nuevas instrucciones más adelante).
Pero a finales de noviembre, una entrada en el cuaderno mostró que para entonces, 11110 había sido emparejado con una instrucción. El cuaderno etiquetó esta nueva instrucción simplemente como "stop", pero el ordenador ya tenía una instrucción para parar (00010), así que parece probable que la nueva instrucción fuera el tipo especial de parada que más tarde se llamó "hoot-stop".
El programador lo utilizaba para depurar: Insertaba una instrucción hoot-stop en un programa para que el ordenador se detuviera en ese punto de la ejecución. El "hoot" (una nota constante y continua de do sostenido) avisaba a los operadores del Mark I de que el ordenador se había detenido según las instrucciones. Por supuesto, ahora no podemos concluir con certeza que la idea del hoot-stop se probara realmente en el ordenador en noviembre de 1948, pero si no se puso en práctica entonces, sin duda no pasó mucho tiempo antes de que Turing y Tootill hicieran que el ordenador emitiera su primera nota.
Tuvieron que pasar varios años más antes de que alguien encadenara estas notas pioneras para crear una pieza musical digital completa en el Mark II.
El código binario es la partitura musical de las computadoras
Ese alguien fue Christopher Strachey, que se presentó en el Laboratorio de Máquinas de Computación un día de verano de 1951. Strachey pronto se convirtió en uno de los programadores con más talento de Reino Unido, y acabaría dirigiendo el Grupo de Investigación en Programación de la Universidad de Oxford.
Strachey se sintió atraído por los ordenadores digitales en cuanto oyó hablar de ellos, eso fue en enero de 1951, más o menos. Antes de la guerra, había conocido a Turing en el King's College de Cambridge, y en abril de 1951 le escribió sobre el ordenador de Manchester. Turing le envió una copia de su Manual, y Strachey lo estudió con interés.
El Manual era "famoso en aquellos días por su incomprensibilidad", dijo Strachey.
Esta incomprensibilidad se debía en gran medida a la forma en que Turing había incorporado las convenciones del lector de cintas al software del sistema. Turing utilizó una variante del código internacional de teleimpresora para abreviar las instrucciones del código del ordenador.
El código Teleprinter, en uso desde hace décadas por aquel entonces, asocia letras, números y otros caracteres con cadenas de 5 bits; por ejemplo, A es 11000 y B es 10011 (es el antecesor de los códigos ASCII y UTF-8, que se utilizan hoy en día para almacenar texto digitalmente).
El código de teleimpresora era bien conocido por los ingenieros de la época; Turing estaba muy familiarizado con él por su trabajo en tiempos de guerra en Bletchley Park descifrando el cifrado de teleimpresora "Tunny" utilizado por Hitler y sus generales.
En el nivel más básico, las instrucciones de los ordenadores son, por supuesto, simples cadenas de bits. La instrucción del código de máquina Mark II que ordenaba el clic de la bocina era 0000001111. Las cadenas de bits son difíciles de recordar y fáciles de teclear erróneamente, por lo que Turing dividió sus instrucciones de código máquina en bloques de 5 dígitos, y escribió sus programas utilizando los correspondientes caracteres de teleimpresora como abreviaturas de las instrucciones de código máquina.
En el código de teleimpresora, 00000 es "/" y 01111 es "V"; por tanto, "/V" es la abreviatura en código de teleimpresora de la instrucción de 10 dígitos 0000001111 del Mark II. (La abreviatura en teleimpresora de la anterior instrucción hoot de 5 dígitos del Mark I, 11110, era simplemente K).
Lamentablemente, en este esquema la abreviatura no daba ninguna pista sobre la naturaleza de la instrucción que representaba. Peor aún, los números (como las direcciones de memoria) debían codificarse de la misma manera.
Por ejemplo, "B@" correspondería a 1001101000 en código binario. (El uso de "@" para abreviar 01000 es, de hecho, una idiosincrasia de Turing: su Manual señaló que en el "verdadero" código de teleimpresora, 01000 corresponde a una instrucción de salto de línea).
Más en Informática
- ¿Cómo eliminar una base de datos en MySQL fácil y rápido? Guía paso a paso
- Extensión de archivos de vídeo ¿Qué son, para qué sirven y qué tipos hay?
- ¿Cuáles son las diferencias entre extensión y formato de un archivo?
- ¿Cómo crear carpetas en cualquier ordenador? Guía paso a paso
- Extensión de archivos comprimidos ¿Qué son, para qué sirven y qué tipos hay?
SÍGUENOS EN 👉 YOUTUBE TV
Así, donde hoy en día un programador podría escribir "JMP 0616" para indicar al ordenador que "salte" a la dirección de memoria 616, un programador de Mark II escribiría "X /P", donde "/P" es la versión de Mark II de una instrucción de salto y "X" es una dirección de memoria expresada en código de teleimpresora.
La alegre aceptación de esta "notación de pesadilla" parece haber sido un sello distintivo de Turing: su pionero documento de 1936, que establecía los fundamentos de la computación, se basaba en gran medida en un tipo de letra gótica alemana difícil de leer.
Sin embargo, Strachey estaba motivado para persistir. Había realizado su primera visita al laboratorio de Manchester en julio de 1951, durante la cual Turing le sugirió que escribiera un programa para que el ordenador se comprobara a sí mismo.
Turing consideraba esta sugerencia como el equivalente a una novatada en el campo de la programación informática, como se desprende del comentario que hizo a su amigo Robin Gandy cuando Strachey se marchó:
"¡Eso le mantendrá ocupado!"
La línea temporal de los ordenadores "musicales"
Cuando Strachey se sumergió en el aprendizaje de lo que necesitaba para su tarea, su experiencia como pianista le permitió captar la página del manual dedicada al timbre y cómo podía hacerse para producir diferentes notas. Cuando Strachey regresó a Manchester unos meses más tarde, llevó consigo el programa principal en el que había estado trabajando llamado "Checksheet".
Checksheet tenía unas 20 páginas de código, lo que lo convertía en el programa más largo que había intentado.
Turing vino y me dio la típica descripción a gran velocidad y en tono alto de cómo utilizar la máquina.
Recordaba Strachey,
Luego Turing le dejó a su aire en la consola durante la noche. Fue un momento intimidante:
Me senté frente a esta enorme máquina con cuatro o cinco filas de 20 interruptores y otras cosas, en una habitación que parecía la sala de control de un acorazado"
Dijo Strachey
Pronto, Strachey tuvo a Checksheet en funcionamiento para mostrárselo a Turing, así como su pequeño extra: El ordenador interpretó el himno nacional británico, "God Save the King".
Un programador en ciernes no podría haber pensado en una forma mejor de llamar la atención. Unas semanas más tarde, Max Newman, fundador del Laboratorio de Máquinas de Computación y profesor de matemáticas en Manchester -y, de hecho, el jefe de Turing-, escuchó al ordenador repitiendo el himno. Newman se apresuró a escribir a Strachey sugiriéndole un trabajo de programación en el laboratorio. Pero Strachey tenía otros planes y aceptó un puesto en un departamento gubernamental.
Un ordenador musical patriótico no pasó desapercibido para la prensa; empezaron a aparecer titulares como "El cerebro electrónico ya puede cantar". La BBC entró pronto en acción enviando un equipo de grabación del popular programa de radio "Children's Hour".
El repertorio del Mark II se había ampliado y, además del himno, se grabó interpretando "Baa Baa Black Sheep" y "In the Mood" de Glenn Miller, aunque se estropeó a mitad de esta última pieza.
"Es evidente que la máquina no está de humor", exclamó el presentador de la BBC. Parece que la BBC volvió a visitar el laboratorio de informática de Manchester ese mismo año para grabar música navideña. El jefe de marketing de Ferranti, Vivian Bowden, informó de que una emisión de la BBC en diciembre de 1951 incluía las interpretaciones del ordenador de "Jingle Bells" y "Good King Wenceslas".
El Manchester Mark II no fue el único ordenador electrónico de programa almacenado de última generación que reproducía música. El CSIRAC de Trevor Pearcey, construido en Sidney, ejecutó por primera vez un programa de prueba hacia noviembre de 1949.
El ordenador parece haber estado parcialmente operativo a partir de finales de 1950 (unos meses después de que el Manchester Mark I, que reproducía notas, se apagara por última vez) y empezó a funcionar regularmente a partir de mediados de 1951. El CSIRAC tocó melodías en la primera Conferencia Australiana sobre Máquinas de Computación Automática, celebrada en la Universidad de Sydney en agosto de 1951.
No se sabe con exactitud cuándo el CSIRAC tocó por primera vez notas musicales; es de suponer que fue a finales de 1950 o en 1951. Un artículo de la BBC News de 2008, basado en fuentes australianas, afirmaba que el CSIRAC fue el primer ordenador en tocar música, diciendo que la actuación del CSIRAC en la conferencia de Sídney fue anterior a la fecha de la grabación de la BBC del ordenador de Manchester.
Lamentablemente, The Oxford Handbook of Computer Music también afirma que el CSIRAC fue "el primer ordenador en tocar música" Sin embargo, esto no fue ciertamente el caso.
Antes de que el CSIRAC ejecutara siquiera un programa de prueba, el BINAC estadounidense, construido por la Eckert-Mauchly Computer Corporation, estaba haciendo música. El BINAC se completó en agosto de 1949. El equipo lo celebró con una fiesta que incluyó una contribución musical del propio BINAC.
Uno de los ingenieros de Eckert-Mauchly presentes en la celebración, Herman Lukoff, explicó:
Alguien había descubierto que, programando el número correcto de ciclos, se podía producir un tono predecible. Así que el BINAC se equipó con un altavoz... y las melodías se reprodujeron por primera vez por control de programa.
Aunque Lukoff no menciona el nombre de la persona que creó este programa pionero en la reproducción de música (el primero del mundo, por lo que sabemos), fue de hecho la veterana programadora de ENIAC, Betty Snyder, más tarde Betty Holberton. Al igual que Strachey, Holberton escribió su programa de reproducción de música durante las horas nocturnas.
Recordando su época de programación de BINAC, dijo:
Estaba en la máquina 16 horas con 8 horas de descanso y dormía en el baño de mujeres.
La línea de tiempo queda así:
-
Manchester MARK1, Universidad de Manchester (GB, 1948).
-
EDSAC, Universidad de Cambridge (EUA, 1949).
-
BINAC, Eckert y Mauchly (EUA, 1949).
-
EDVAC, Universidad de Pennsylvania, (EUA,1948).
-
IAS, Universidad de Princeton (EUA,1951/52) .
¿Una Inteligencia Artificial musical?
Al escuchar la grabación inédita de la BBC del Mark II reproduciendo música en 1951, se tiene la sensación de que la gente está interactuando con algo totalmente nuevo. "La máquina se resintió", observó Muriel Levy, la presentadora, en un momento dado. La idea de una máquina "pensante", un cerebro electrónico, estaba en el aire en Manchester.
Turing avivó el fuego alegremente. Dijo provocativamente a un periodista del periódico British Times que no veía ninguna razón por la que el ordenador no pudiera "entrar en cualquiera de los campos normalmente cubiertos por el intelecto humano, y eventualmente competir en igualdad de condiciones"
El hecho de que los ordenadores se adentraran en el campo artístico de la interpretación musical ilustró de forma contundente que estas máquinas eran algo más que meros calculadores de números.
Turing se burló del miedo a la IA "fuera de control", aunque esperaba que las máquinas fueran más listas que nosotros al final.
Tanto la promesa como las limitaciones de la nueva tecnología fueron captadas por Max Newman en una conferencia de 1952. En su intervención en la conferencia anual de la Incorporated Society of Musicians, habló de la llegada de la música por ordenador.
Detalló cómo el ordenador Manchester reproducía melodías almacenadas en su memoria, y luego explicó que habían descubierto cómo hacer que el ordenador compusiera nuevas melodías. No consta cómo se hizo, pero es probable que las composiciones se basaran en un generador de números aleatorios creado por Turing e integrado en el Mark II.
En cuanto a su calidad musical, Newman señaló que eran "melodías muy malas"