Programacion Phyton

Terminado

Publicado: Hace 3 meses Plazo: No definido Propuestas: 1 Freelancers interesados: 2

Abierto

Descripción:

Instrucciones

En 1980, los computadores tenían 1KB de RAM. 1024 8-bit bytes. Es decir, un programa podía tener sólo 1024*8 = 8192 unos y ceros en la memoria. Y así y todo se las arreglaban para hacer código interesante.

Estos códigos se guardaban en cassettes, y tardaban una eternidad en cargar. Estaban codificados en cuatro pulsos (representando un bit en 0), y 9 pulsos (representando un bit en 1). Cada pulso estaba separado por 150us, y cada conjunto de pulsos por 1300us.

El proyecto consiste en lo siguiente: Dado un archivo wav (sonido), encontrar los bits y bytes de ese programa.

El objetivo de este proyecto es encontrar una función que tome un archivo wav, identifique los bytes, guardandolos como números de 0 a 255 en una lista llamada ram (por Random Access Memory)

Entregables

Un script en Python para correr en consola (no notebook) al que se le pase un archivo wav y devuelva los bytes en stdout, separados por comas. Por ejemplo:
$ python zx80wav2bytes.py file.wav
0, 0, 124, 255, 8, 22, ...
El script se llamará zx80wav2bytes.py y tomará una opción -s que no imprime los bytes sino una serie de estadísticas sobre el archivo, con al menos: duración en segundos, número de bytes, número total de bits en 1, de bits en 0 y total de bytes. Piense en alguna otra métrica.

Explicación del código y cómo utilizarlo en un notebook. Mientras mejor explicado, más puntaje.

Algunas notas

Code golf! Si el código está bien y funciona, el código más corto (en número de caracteres del fichero original) y limpio (no hay "pauta", más subjetivo) es el que gana el 7.
El proyecto es en parejas. Si hay alguien que quiera hacerlo solo, por favor nos lo dice. Si no, un grupo tendrá 3 integrantes.
Recursos

el archivo wav
Pauta de evaluación

El script vale 70 puntos
Si functiona el identificar bytes, 40 puntos
Si funciona el flag -s, 10 puntos
Creatividad de la "estadística", 10 puntos
Code golf, 10 puntos
El documento vale 30 puntos
Orden, 10 puntos
Relevancia del contenido, 10 puntos
Uso de notebooks?
NOTA: No existe una solución en la web para este ejercicio

Categoría: IT & Programación
Subcategoría: Otros
Tamaño del proyecto: Pequeño
Es un proyecto o una posición?: Un proyecto
Actualmente tengo: Tengo las especificaciones
Experiencia en este tipo de proyectos: No (No he administrado este tipo de proyectos anteriormente)
Disponibilidad requerida: Según se necesite
Integraciones de API: Otros (Otras APIs)

Freelancers que ya aplicaron para este trabajo

William Y. Profesional en el área de Informática con amplia experiencia en el diseño, desarrollo, implantación y gestión de proyectos de Tecnologías de Información, orientado al área de ingeniería de software, administración de ... + detalles

Crea tu propio proyecto

¿Buscas un freelancer para realizar un proyecto similar? Crea tu propio proyecto y recibirás ofertas de los mejores freelancers.

Otros proyectos de este cliente

Para ver más detalles del cliente

Ingresa a Workana