1 00:00:06,830 --> 00:00:15,609 Cuando accedas a la url de la aplicación v2-learningml.org al reconocimiento de textos, 2 00:00:15,609 --> 00:00:20,690 de imágenes y de números, verás que hay un nuevo tipo de reconocimiento que es de sonido. 3 00:00:20,690 --> 00:00:30,230 Veamos cómo funciona. Hacemos clic en él y aparecen las tres fases del aprendizaje supervisado, 4 00:00:30,230 --> 00:00:34,310 igual que en el resto de los reconocimientos. La fase de entrenamiento para recoger datos, 5 00:00:34,310 --> 00:00:40,469 aprendizaje para construir el modelo y la fase de pruebas. Vamos a construir un modelo que será 6 00:00:40,469 --> 00:00:46,350 capaz de reconocer mi voz de un silbido y del ruido de fondo que haya en la habitación. Pues 7 00:00:46,350 --> 00:01:00,170 creamos las tres clases que necesitamos, en este caso voz, silbido y fondo. Bien, y ahora se trata 8 00:01:00,170 --> 00:01:10,650 de añadir ejemplos de sonido de voz o de silbido de fondo. Voy a empezar por la voz porque así mientras hablo y os explico cómo funciona la grabación 9 00:01:10,650 --> 00:01:22,109 pues vamos a ir recogiendo muestras de la voz. Cuando queremos recoger muestras de sonido simplemente hacemos clic en grabar y entonces veréis que va a ir recogiendo 10 00:01:22,109 --> 00:01:26,069 muestra grabaciones de un segundo de duración 11 00:01:26,069 --> 00:01:30,590 más o menos y de una manera automática, es decir, va a seguir grabando hasta que lo paremos 12 00:01:30,590 --> 00:01:33,629 si vamos a detener, la grabación se detiene 13 00:01:33,629 --> 00:01:37,950 en este caso, pues ha recogido 12 grabaciones 14 00:01:37,950 --> 00:01:42,109 de aproximadamente un segundo de mi voz, si queremos reproducirla para ver 15 00:01:42,109 --> 00:01:43,790 que es lo que ha grabado, hacemos clic aquí 16 00:01:43,790 --> 00:01:50,530 y vemos pues como ha ido recogiendo 17 00:01:50,530 --> 00:01:52,909 pues las distintas cosas que yo he ido diciendo 18 00:01:52,909 --> 00:01:55,530 aquí lo interesante es recoger más bien el timbre 19 00:01:55,530 --> 00:01:57,609 porque es lo que esto reconoce bastante bien 20 00:01:57,609 --> 00:01:58,609 el timbre de los sonidos 21 00:01:58,609 --> 00:02:01,650 si alguna de las muestras no nos gusta 22 00:02:01,650 --> 00:02:03,750 pues simplemente podemos borrarla 23 00:02:03,750 --> 00:02:05,430 imaginemos que la 12 no la queremos 24 00:02:05,430 --> 00:02:09,590 hacemos clic en el botoncito de la papelera y se borra 25 00:02:09,590 --> 00:02:12,310 ahora vamos a tomar muestras de sonido 26 00:02:12,310 --> 00:02:15,490 es muy importante que las muestras que cojamos 27 00:02:15,490 --> 00:02:16,370 como son de un segundo 28 00:02:16,370 --> 00:02:19,050 pues que durante ese segundo más o menos que está grabando 29 00:02:19,050 --> 00:02:27,610 pues que realmente grabe lo que nosotros queremos. Por eso está bien repasar después cómo han sido recogidas las muestras 30 00:02:27,610 --> 00:02:34,449 para ver si realmente ha grabado lo que nosotros queramos. Siempre tenemos que tener en cuenta que la calidad de los datos es fundamental 31 00:02:34,449 --> 00:02:43,409 para después obtener un buen modelo. Bueno, pues vamos a recoger sonidos de silbido. Hago clic en grabar y cuando vayan más o menos unas 12 muestras 32 00:02:43,409 --> 00:03:05,969 lo pararé. Bueno, 13 muestras. Como eso del número 13 da mala suerte y vamos a ser un 33 00:03:05,969 --> 00:03:10,930 poquito supersticiosos, aprovechamos y borramos la última muestra. Bien, y ahora vamos a 34 00:03:10,930 --> 00:03:17,889 coger 12 muestras del fondo. Simplemente le daré a grabar, me callaré y se cogerán 35 00:03:17,889 --> 00:03:23,069 el ruido ambiente que hay, un poco el motorcillo del ventilador, en fin, siempre hay ruido 36 00:03:23,069 --> 00:03:40,039 en todo sitio donde nos metamos. Bien, 12 muestras 37 00:03:40,039 --> 00:03:43,000 más o menos. Recordad que es importante que el 38 00:03:43,000 --> 00:03:45,900 número de muestras del dato que sea 39 00:03:45,900 --> 00:03:48,840 ya sea sonido, textos, números o en este caso 40 00:03:48,840 --> 00:03:51,759 sonido, pues es importante que cada clase 41 00:03:51,759 --> 00:03:54,699 tenga más o menos el mismo número de muestras, lo que se llama un conjunto 42 00:03:54,699 --> 00:03:58,080 de datos balanceado. Bien, ya tenemos el conjunto de datos 43 00:03:58,080 --> 00:04:00,319 de ejemplo, ahora toca 44 00:04:00,319 --> 00:04:03,840 el aprendizaje, es decir, la construcción del modelo. Hacemos 45 00:04:03,840 --> 00:04:06,379 clic aquí y bueno, pues 46 00:04:06,379 --> 00:04:14,780 El algoritmo de Machine Learning va a analizar esos datos para construir un modelo que sea capaz de reconocer esos tres timbres. 47 00:04:15,060 --> 00:04:19,100 Bien, ya ha sido entrenado, ha tardado 9,3 segundos y ahora vamos a probarlo. 48 00:04:19,420 --> 00:04:22,279 Para probarlo, bueno, pues hacemos lo mismo que cuando recogíamos datos. 49 00:04:22,439 --> 00:04:27,399 Le damos al botón grabar, en este caso de la fase de prueba y vemos qué pasa. 50 00:04:27,899 --> 00:04:30,819 Bueno, primero nos quedamos callados a ver si recoge el fondo. 51 00:04:33,600 --> 00:04:35,740 Perfecto, ha recogido el ruido de fondo. 52 00:04:35,740 --> 00:04:59,259 Ahora voy a hablar. Hola, hola, hola. Y de nuevo ha acertado, ha reconocido la voz. Y ahora voy a hacer un pequeño silbido. Y vemos que ha reconocido el silbido. Y bueno, pues esto es la forma de construir modelos de reconocimiento de sonido. 53 00:04:59,259 --> 00:05:10,649 Bien, pues a continuación voy a hacer un programa con Scratch que utiliza el modelo que acabamos de realizar de reconocimiento de sonidos 54 00:05:10,649 --> 00:05:18,689 Hacemos clic en el gatito y veremos que en los bloques de LearningML hay un nuevo bloque que se llama grabar audio 55 00:05:18,689 --> 00:05:22,670 Este bloque funciona muy parecido a este botón de grabar 56 00:05:22,670 --> 00:05:30,050 Cuando se ejecuta, graba un sonido de un segundo aproximadamente de duración 57 00:05:30,050 --> 00:05:34,750 entonces ese sonido se convierte en un vector 58 00:05:34,750 --> 00:05:36,389 un vector que es multidimensional 59 00:05:36,389 --> 00:05:41,029 que es el que realmente se va a pasar al algoritmo de Machine Learning 60 00:05:41,029 --> 00:05:41,970 para reconocerlo 61 00:05:41,970 --> 00:05:43,790 ¿y cómo se realiza la clasificación? 62 00:05:44,129 --> 00:05:47,889 pues como hacemos con el resto de los problemas de clasificación 63 00:05:47,889 --> 00:05:50,689 con el bloque este de clasificar ítem 64 00:05:50,689 --> 00:05:55,990 lo que pasa es que aquí vamos a colocar como argumento el audio 65 00:05:55,990 --> 00:05:58,209 vamos a ver, vamos a probarlo 66 00:05:58,209 --> 00:06:01,149 primero vamos a ejecutarlo con silencio 67 00:06:01,149 --> 00:06:02,370 a ver si detecta el fondo 68 00:06:02,370 --> 00:06:07,790 muy bien, ahora voy a ejecutarlo mientras hablo 69 00:06:07,790 --> 00:06:09,730 hola, hola, hola, hola 70 00:06:09,730 --> 00:06:11,850 y ahora voy a ejecutarlo mientras silbo 71 00:06:11,850 --> 00:06:16,810 como vemos, pues funciona exactamente igual 72 00:06:16,810 --> 00:06:18,829 que el resto de los reconocimientos 73 00:06:18,829 --> 00:06:23,170 pero en este caso grabando muestras de un segundo de duración 74 00:06:23,170 --> 00:06:27,350 y con esto podríamos hacer algún tipo de programa 75 00:06:27,350 --> 00:06:34,670 Por ejemplo, imaginaos hacer un modelo que reconozca las palabras arriba, abajo, izquierda y derecha. 76 00:06:35,290 --> 00:06:42,610 Y después con Scratch hacer un programa que mueva al gatito en función de lo que el usuario esté diciendo. 77 00:06:43,009 --> 00:06:46,350 Que vaya para arriba cuando se diga arriba, para abajo cuando vaya abajo, etc. 78 00:06:47,029 --> 00:06:51,449 Bueno, eso será el objeto de otro vídeo posterior. 79 00:06:51,449 --> 00:06:58,930 Por lo pronto nos quedamos con esto para que os hagáis una idea de cómo funciona esta nueva funcionalidad de Learning ML.