|
||
#1
|
||||
|
||||
Mezclar dos audios
Hola.
Estoy haciendo unas tareas para grabar las conversaciones que tengo en el telefono. El caso es que cuando cojo la accion "Grabar audio" me permite seleccionar varias fuentes de grabacion. En unas consigo grabarme a mi y en otras solo consigo grabar al interlocutor. Como no consigo grabar las dos voces a la vez he pensado crear dos perfiles con dos tareas: una me graba a mi y la otra al otro interlocutor. Esto generara dos ficheros de audio. Y ahora viene la pregunta: ¿sabeis alguna forma o existe algun plugin para mezclar estos dos ficheros de audio en uno solo? Gracias por vuestra atencion. |
|
#2
|
||||
|
||||
Yo en mis perfiles me graba perfectamente ambos interlocutores......los usaba en un xiaomi red rice...y ahora en un lenovo k3 note y no he tenido que cambiar nada....en elforo ya hay explicación de perfiles de ese tipo....puedes buscar en el recopilatorio...hay unos muy buenos del maestro @Caravantes....yo en la acción grabar audio tengo origen "micrófono"...supongo que dependerá también del teléfono...
Saludos! |
#3
|
||||
|
||||
Asi es como lo tengo yo, origen microfono, y asi solo me graba a mi. Si durante la llamada activo el altavoz entonces si graba a los dos interlocutores.
|
#4
|
||||
|
||||
Pues supongo que dependerá del tipo de teléfono y modelo, marca etc....
Te pongo los perfiles como los tengo yo por si te sirven de algo.... Perfil: GRABAR llamadas ENTRANTES (26) Estado: Llamada [ Tipo:Entrante Número:* ] Entrada: INICIA grabación ENTRANTES (29) <(guardo la fecha)> A1: Establecer variable [ Nombre:%fecha A:%DATE Calcular:Apagado Añadir:Apagado ] <(uso guión para separar día, mes y año)> A2: Separar variable [ Nombre:%fecha Separador:- Eliminar base:Apagado ] A3: Establecer variable [ Nombre:%file A:/storage/sdcard1/GRABACIONES TASKER/ Calcular:Apagado Añadir:Apagado ] <(ordenar cronológicamente los archivos)> A4: Establecer variable [ Nombre:%file A:/storage/sdcard1/GRABACIONES TASKER/%fecha3-%fecha2-%fecha1 Calcular:Apagado Añadir:Apagado ] <(se añade la hora, los minutos y los segundos)> A5: Establecer variable [ Nombre:%file A:/storage/sdcard1/GRABACIONES TASKER/%fecha3-%fecha2-%fecha1 %TIME %TIMES Calcular:Apagado Añadir:Apagado ] A6: Esperar [ MS:0 Segundos:1 Minutos:0 Horas:0 Días:0 ] <(añadir número llamado al archivo)> A7: Establecer variable [ Nombre:%file A:%file in %CNUM Calcular:Apagado Añadir:Apagado ] <(al nombre del archivo le añado el nombre del contacto si existe)> A8: Establecer variable [ Nombre:%file A:%file %CNAME Calcular:Apagado Añadir:Apagado ] Si (if) [ %CNUM !~ %CNAME ] A9: Notificación [ Título:GRABANDO %file Texto: Icono:null Número:0 Permanente:Apagado Prioridad:3 ] A10: Grabar audio [ Archivo:%file Origen:Micrófono Tamaño Máx:0 Códec:AMR Narrowband Formato:MP4 ] Salida: FINALIZA GRABACIÓN llamadas (15) A1: Detener grabación audio A2: Notificación [ Título:FIN GRABACIÓN %TIME Texto: Icono:null Número:0 Permanente:Apagado Prioridad:3 ] Perfil: GRABAR llamadas SALIENTES (6) Estado: Llamada [ Tipo:Saliente Número:* ] Entrada: INICIA grabación SALIENTES (10) <(guardo la fecha)> A1: Establecer variable [ Nombre:%fecha A:%DATE Calcular:Apagado Añadir:Apagado ] <(uso guión para separar día, mes y año)> A2: Separar variable [ Nombre:%fecha Separador:- Eliminar base:Apagado ] A3: Establecer variable [ Nombre:%file A:/storage/sdcard1/GRABACIONES TASKER/ Calcular:Apagado Añadir:Apagado ] <(ordenar cronológicamente los archivos)> A4: Establecer variable [ Nombre:%file A:/storage/sdcard1/GRABACIONES TASKER/%fecha3-%fecha2-%fecha1 Calcular:Apagado Añadir:Apagado ] <(se añade la hora, los minutos y los segundos)> A5: Establecer variable [ Nombre:%file A:/storage/sdcard1/GRABACIONES TASKER/%fecha3-%fecha2-%fecha1 %TIME %TIMES Calcular:Apagado Añadir:Apagado ] A6: Esperar [ MS:0 Segundos:1 Minutos:0 Horas:0 Días:0 ] <(añadir número llamado al archivo)> A7: Establecer variable [ Nombre:%file A:%file out %CONUM Calcular:Apagado Añadir:Apagado ] <(al nombre del archivo le añado el nombre del contacto si existe)> A8: Establecer variable [ Nombre:%file A:%file %CONAME Calcular:Apagado Añadir:Apagado ] Si (if) [ %CONUM !~ %CONAME ] A9: Notificación [ Título:GRABANDO %file Texto: Icono:null Número:0 Permanente:Apagado Prioridad:3 ] A10: Grabar audio [ Archivo:%file Origen:Micrófono Tamaño Máx:0 Códec:AMR Narrowband Formato:MP4 ] Salida: FINALIZA GRABACIÓN llamadas (15) A1: Detener grabación audio A2: Notificación [ Título:FIN GRABACIÓN %TIME Texto: Icono:null Número:0 Permanente:Apagado Prioridad:3 ] Saludos! |
Gracias de parte de: | ||
#5
|
||||
|
||||
Gracias. Algo parecido encontre por este foro y asi lo implemente. Pero no hay manera. Seguramente sera el telefono que no es capaz de grabar los dos interlocutores. Por eso pense en grabar dos audios y mezclarlos luego.
|
#6
|
||||
|
||||
¿Qué contexto usas como disparador de la tarea de inicio la grabación?
Te lo digo porque, en mi caso, si utilizo uno de tipo "Estado > Teléfono > Llamada" (el más evidente) me pasa lo mismo que a ti. En cambio, si utilizo un contexto de tipo "Evento > Teléfono > Teléfono descolgado" la grabación funciona perfectamente seleccionando como origen para la grabación "Llamada". Usando el evento en vez del estado (y un par de trucos más) mi sistema de grabación funciona perfectamente en todos los casos. Y sin perder ese primer segundo provocado por la espera para que se carguen los datos de la llamada en las variables de Tasker. |
#7
|
||||
|
||||
¿Qué contexto usas como disparador de la tarea de inicio la grabación?
Te lo digo porque, en mi caso, si utilizo uno de tipo "Estado > Teléfono > Llamada" (el más evidente) me pasa lo mismo que a ti. En cambio, si utilizo un contexto de tipo "Evento > Teléfono > Teléfono descolgado" la grabación funciona perfectamente seleccionando como origen para la grabación "Llamada". Usando el evento en vez del estado (y un par de trucos más) mi sistema de grabación funciona perfectamente en todos los casos. Y sin perder ese primer segundo provocado por la espera para que se carguen los datos de la llamada en las variables de Tasker. ![]() ![]() |
#8
|
||||
|
||||
Sistema de grabación de llamadas
Aquí lo tienes ... espero que te resulte de utilidad
![]() Mi sistema tiene tres perfiles (LlamadaE, LlamadaS y LlamadaC) y una tarea (Llamada) asociada a esos tres perfiles. Estos son los tres perfiles... Perfil: LlamadaE (111) Estado: Llamada [ Tipo:Entrante Número:* ] Evento: Teléfono descolgado Perfil: LlamadaS (222) Estado: Llamada [ Tipo:Saliente Número:* ] Evento: Teléfono descolgado Perfil: LlamadaC (333) Evento: Teléfono inactivo * Se puede cambiar sus nombres siempre que se mantenga la última letra mayúscula, en otro caso será necesario revisar la tarea. El propósito de cada uno de ellos es evidente por sus contextos. Lo único digno de mención es que me he visto obligado a usar el evento de teléfono descolgado como disparador porque durante mis pruebas con el estado de llamada (entrante, saliente o cualquiera) solamente se registraba el audio de un interlocutor (el otro o yo). Curiosamente al activar la grabación con el evento de teléfono descolgado se registraba el audio de ambos interlocutores perfectamente. El tercer perfil está motivado porque al no poder usar el estado de la llamada ya no es posible usar el sistema de tarea de entrada/salida para iniciar/parar la grabación, así que no queda otra para detectar el fin de la llamada. Y antes de que alguien lo pregunte ... ¿si el estado de la llamada no me vale por qué lo uso en los dos primeros perfiles? ... Pues la verdad es que no es imprescindible, pero he modificado el sistema recientemente por dos motivos; así puedo activar la grabación de las llamadas entrantes y salientes por separado, y en la tarea se hace más sencillo saber si la llamada es entrante o saliente. Aclarado el tema de los perfiles (o eso espero ![]()
Llamada (666) A1: Establecer variable [ Nombre:%carpeta A:%MisCosas/Llamadas Calcular:Apagado Añadir:Apagado ] A2: Establecer variable [ Nombre:%datos A:%carpeta/datos.llamada.txt Calcular:Apagado Añadir:Apagado ] A3: Si (if) [ %caller1 ~ *E/*S/ui ] A4: Establecer variable [ Nombre:%tipo A:E Calcular:Apagado Añadir:Apagado ] Si (if) [ %caller1 ~ *E ] A5: Establecer variable [ Nombre:%tipo A:S Calcular:Apagado Añadir:Apagado ] Si (if) [ %caller1 ~ *S/ui ] A6: Establecer variable [ Nombre:%date A:%DATE Calcular:Apagado Añadir:Apagado ] A7: Separar variable [ Nombre:%date Separador:- Eliminar base:Apagado ] A8: Establecer variable [ Nombre:%amd A:%date3-%date2-%date1 Calcular:Apagado Añadir:Apagado ] A9: Establecer variable [ Nombre:%seg A:%TIMES % 60 Calcular:Encendido Añadir:Apagado ] A10: Establecer variable [ Nombre:%seg A:0%seg Calcular:Apagado Añadir:Apagado ] Si (if) [ %seg < 10 ] A11: Establecer variable [ Nombre:%hms A:%TIME.%seg Calcular:Apagado Añadir:Apagado ] A12: Establecer variable [ Nombre:%graba A:%amd %hms %tipo Calcular:Apagado Añadir:Apagado ] A13: Grabar audio [ Archivo:%carpeta/%graba Origen:Llamada Tamaño Máx:0 Códec:AMR Narrowband Formato:AMR Narrowband ] A14: Escribir archivo [ Archivo:%datos Texto:%tipo %amd %hms %graba Añadir:Apagado Añadir Nueva Línea:Encendido ] A15: Fin si (End if) A16: Si (if) [ %caller1 ~ *C/ui ] A17: Detener grabación audio A18: Probar Archivo [ Tipo:Tipo Datos:%datos Almacenar Resultado en:%archivo Usar Root:Apagado Continuar Tarea Tras Error:Encendido ] A19: Detener [ Con error:Apagado Tarea: ] Si (if) [ %archivo No ajust. ] A20: Leer línea [ Archivo:%datos Línea:1 A la variable:%tipo ] A21: Leer línea [ Archivo:%datos Línea:2 A la variable:%amd ] A22: Leer línea [ Archivo:%datos Línea:3 A la variable:%hms ] A23: Leer línea [ Archivo:%datos Línea:4 A la variable:%graba ] A24: Eliminar archivo [ Archivo:%datos Nivel de Borrado:0 Usar Root:Apagado Continuar Tarea Tras Error:Encendido ] A25: Si (if) [ %tipo ~ E ] A26: Establecer variable [ Nombre:%date A:%CDATE Calcular:Apagado Añadir:Apagado ] A27: Establecer variable [ Nombre:%time A:%CTIME Calcular:Apagado Añadir:Apagado ] A28: Establecer variable [ Nombre:%num A:%CNUM Calcular:Apagado Añadir:Apagado ] A29: Establecer variable [ Nombre:%name A:%CNAME Calcular:Apagado Añadir:Apagado ] A30: Else Si (if) [ %tipo ~ S ] A31: Esperar [ MS:0 Segundos:1 Minutos:0 Horas:0 Días:0 ] A32: Establecer variable [ Nombre:%date A:%CODATE Calcular:Apagado Añadir:Apagado ] A33: Establecer variable [ Nombre:%time A:%COTIME Calcular:Apagado Añadir:Apagado ] A34: Establecer variable [ Nombre:%num A:%CONUM Calcular:Apagado Añadir:Apagado ] A35: Establecer variable [ Nombre:%name A:%CONAME Calcular:Apagado Añadir:Apagado ] A36: Fin si (End if) A37: Flash [ Texto:%tipo %date %time %num %name Largo:Encendido ] A38: Establecer variable [ Nombre:%name A: Desconocido Calcular:Apagado Añadir:Apagado ] Si (if) [ %num ~ %name ] A39: Establecer variable [ Nombre:%archivo A:%amd %hms %tipo %num %name Calcular:Apagado Añadir:Apagado ] A40: Mover [ Desde:%carpeta/%graba.amr A:%carpeta/%archivo.amr Usar Root:Apagado Continuar Tarea Tras Error:Encendido ] A41: Fin si (End if) La tarea que inicia la grabación comienza en A3 y termina en A15. La que para la grabación comienza en A16 y termina en A41. Las acciones A1 y A2 definen variables comunes a las dos tareas. En A1 utilizo una de las pocas variables globales que tengo definidas en la que guardo un nombre de carpeta común a varias tareas y que resulta bastante evidente. Que cada uno ajuste esa acción a su configuración. Las tareas A14 y A37 tienen retornos de carro en su interior, por eso tienen ese aspecto. Al iniciarse una llamada (A3): se determina de qué tipo es (A4-A5), se compone la parte del nombre AAAAMMDD (A6-A8), se compone la parte del nombre HHMMSS (A9-A11), se compone un nombre temporal de archivo de grabación (A12), se inicia la grabación en ese archivo (A13) y se guardan todos los datos anteriores en un archivo de texto (A14). En este punto la tarea termina y no queda ningún perfil activo. Al terminar la llamada (A16): se detiene la grabación (A17), se recuperan los datos del archivo de texto y se elimina (A18-A24), dependiendo del tipo de llamada se obtienen los datos de las correspondientes variables globales (A25-A29 para entrantes) (A30-A35 para salientes), se muestran los datos en un flash (A37), se evita repetir el número dos veces si no se tiene un nombre (A38), se compone un nombre de archivo de grabación definitivo con todos los datos (A39), y se nombra el archivo de grabación temporal con el nombre definitivo. En este punto la tarea termina y no queda ningún perfil activo. ¿Por qué las acciones A19 y A24? ... el evento de teléfono inactivo no sólo puede darse como consecuencia de colgar tras una llamada y esas dos acciones ayudan a controlar esa situación. ¿Por qué la pausa de A31? ... en el caso de las llamadas salientes parece que Tasker tarda un poco en actualizar las correspondientes variables globales con los datos de la llamada después de colgar y con esa pequeña pausa se solventa. ¿De dónde sale la variable %caller1? ... es un array local que Tasker mantiene automáticamente y que contiene toda la secuencia de llamadas entre perfiles y tareas. El valor %caller1 tiene el nombre del perfil desde el que se ha llamado a la tarea. En algunas de las acciones en que se comprueba el valor de %caller1 he añadido también un "ui" (user interface) para poder hacer pruebas directamente mientras estaba editando la tarea sin tener que hacer o recibir llamadas. Eso es todo. Hasta la próxima ... ![]() Última edición por WillyWeb Día 11/06/15 a las 20:05:42. |
Los siguientes 6 usuarios han agradecido a WillyWeb su comentario: | ||
#9
|
||||
|
||||
Gracias WillyWeb. Voy a probarlo.
|
#10
|
||||
|
||||
Yo había borrado mis tareas de grabar llamadas porque cuando cambié el celular ya no me funcionaban y me parecía un embrollo probar donde fallaban. Ahora probaré esta.
Gracias |
#11
|
||||
|
||||
Ya recuerdo, había borrado mis tareas de grabar audio porque me aparecía esta advertencia: fallo al inicializar el grabador multimedia. y no pude solucionarlo. Con esta tarea me produce el mismo error, debe ser el teléfono.
|
#12
|
||||
|
||||
Curioso
![]() ¿De qué teléfono se trata? ¿No puedes activar ningún tipo de grabación de audio? |
#13
|
||||
|
||||
Revisa con un explorador de archivos tipo ES file explorer cuál es la ruta donde quieres guardar la grabación y cómo lo tienes en la tarea... Saludos! |
Gracias de parte de: | ||
#14
|
||||
|
||||
Y además de lo que comenta ruco..
-Comprueba que no estás intentando grabar directamente en la SD si utilizas KitKat -Prueba con distintas combinaciones de Codec y Formato |
#15
|
||||
|
||||
Hola: gracias por tantas respuestas, tengo tarea para un rato, cuando vea de que se trata lo publico, gracias.
|
#16
|
||||
|
||||
Sí, es cierto lo que dicen ambos (WillyWeb y ruco1980), en la acción A1 cambié donde dice "%Llamadas/Mis cosas" por la ruta que copié con el ES File Explorer y la tarea se ejecutó perfectamente, tanto en la memoria interna como en la tarjeta SD gracias a la aplicación NextApp SDFix.
Gracias |
Gracias de parte de: | ||
#17
|
||||
|
||||
Excelente
![]() ¿Entiendo entonces que el sistema de grabación te funciona correctamente? ¿En qué móvil lo has probado (además de en tu Galaxy)? |
#18
|
||||
|
||||
|
#19
|
||||
|
||||
Hola, en mi viejo perfil tenía la opción de no guardar la llamada, por si era equivocado, vendedor, no me interesaba, etc, entonces a este perfil le agregué luego de la línea A40
A41 Menú Título Guardar? Ítems con 2 opciones Sí Acción: establecer variable %guardar a si No Acción: establecer variable %guardar a no A42 Esperar hasta %guardar Ajuste A43 Eliminar archivo %carpeta/%archivo.amr si %guardar~no A44 Limpiar variable %guardar A45 Fin si (End if) Seguro, muy seguro que se puede mejorar, jajaja pero así funciona |
Los siguientes 2 usuarios han agradecido a leromaro su comentario: | ||
|
#20
|
||||
|
||||
Creo que te sobra A44
![]() A parte de eso me parece una idea estupenda que me apunto con tu permiso ![]() |
Los siguientes 2 usuarios han agradecido a WillyWeb su comentario: | ||