¿Grabar clips de audio en un temporizador?

Estoy trabajando en un proyecto que requiere que grabe una gran cantidad de clips de audio de 20 segundos (el formato de archivo no es importante, que yo sepa). Me gustaría poder hacer esto sin presionar un botón para detener cada grabación; es decir, espero que haya una manera de poder usar un temporizador para detener la grabación automáticamente cada vez que transcurran 20 segundos. ¿Puedo gestionar esto en QuickTime? Si no, estoy abierto a cualquier sugerencia que la comunidad pueda tener. Gracias de antemano.

¿Ha intentado usar AppleScript para hacer esto?
Debería haber mencionado que soy un nuevo usuario de Mac... aún no he profundizado en AppleScript. ¿Es una solución sencilla, en este caso?
Bueno, "simple" es un término relativo y ser nuevo en OS X puede ser difícil; sin embargo, si está buscando automatizar el proceso, puede hacerlo. Publicaré un ejemplo como respuesta.

Respuestas (1)

Este es un guión de muestra para tratar de satisfacer las necesidades/deseos que expresó. Tal como está codificado, hará 3 grabaciones de cinco segundos en su escritorio llamadas "Recording_n.m4a" cuando la 'n' en el nombre se incremente automáticamente de 1 a 3, por ejemplo, "Recording_1.m4a", "Recording_2.m4a", etc. a lo que sea. howMany está establecido en.

Abra el Editor de secuencias de comandos y copie y pegue el código a continuación y presione el botón "Compilar".

set howMany to 3 -- The number of recordings to make.

set recordingNumber to 1 -- 'recordingNumber' is used to increment the recording number in the filename when exporting.

tell application "QuickTime Player"
    activate
    close (every document whose name contains "Untitled") saving no -- I set this just to have no other Untitled windows open when starting the recordings, especially if having broken out of the repeat loop.
    repeat howMany times
        set savePath to (the path to the desktop folder as text) & "Recording_" & recordingNumber & ".m4a"
        set recording to new audio recording
        start recording
        delay 6 -- Add an additional second to the wanted value, e.g. for 20 second recording set delay to 21.
        stop recording
        export document "Untitled" in file savePath using settings preset "Audio Only"
        delay 2 -- Set appropraite delay to allow export to complete.
        close (every document whose name contains "Untitled") saving no
        set recordingNumber to recordingNumber + 1 -- Increments recording number by one.
        -- Close "Export Progress" window.
        tell application "System Events" to click menu item "Hide Export Progress" of menu "Window" of menu bar 1 of process "QuickTime Player"
        display dialog "Click OK or press Enter to start next recording."
    end repeat
end tell

Ejecute el script tal como está una o dos veces para que pueda ver lo que está haciendo y luego puede cambiar el valor de cuántos a la cantidad de grabaciones que desea/necesita realizar, cambie el valor del primer retraso de '6' a ' 21' para una grabación de 20 segundos y el valor del segundo retardo de '2' a, por ejemplo, '5'. Deberá determinar el valor del segundo retraso con anticipación configurando el valor de cuántos en 1 o 2 y el valor del primer retraso de '6' a '21' para que tenga una grabación de 20 segundos para ver cómo cuántos segundos se tarda en exportar. Este valor (del segundo retardo) puede ser más alto de lo que realmente se necesita, por ejemplo, si desea un pequeño descanso entre grabaciones para recuperar el aliento y ordenar sus pensamientos para la siguiente grabación, aunque hay otro control en forma de cuadro de diálogo entre cada grabación.

Tenga en cuenta la línea display dialog "Click OK or press Enter to start next recording.", está ahí como un mecanismo de control para iniciar la siguiente grabación o para salir del ciclo de repetición . Hay muchas formas diferentes de codificar y realizar una tarea como esta y esto solo tiene la intención de brindarle un marco de inicio para construir si desea usar AppleScript para realizar una tarea automatizada como la que ha mencionado.

No hay ningún error al verificar escrito en este script tal como está, lo que significa que si el script se ejecuta por segunda vez, se sobrescribirá, por ejemplo, "Recording_1.m4a", "Recording_2.m4a", etc. Entonces, si necesita salir del ciclo de repetición al hacer clic en "Cancelar" en el cuadro de mensaje de diálogo o "Detener" en el Editor de secuencias de comandos, asegúrese de configurar recordingNumberel número apropiado, que sería el número utilizado del último archivo exportado + 1. Además, la primera close (every document whose name contains "Untitled") saving nolínea cerrará cualquier archivo abierto en QuickTime Player cuyo nombre contiene "Sin título" sin guardarlo ni solicitar que se guarde. Se puede comentar colocándolo --delante si lo desea, aunque si salió de la repeticiónloop, tendrá que limpiarlo manualmente antes de reiniciar, por lo que es posible que desee dejarlo como está. Justo cuando use este script, solo use QuickTime Player para la tarea en cuestión si no entiende por qué lo codifiqué de esta manera.

Wow gracias. Esto hace el truco. También estoy impresionado por lo legible que es AppleScript. Me pregunto... ¿cómo especificaría una determinada carpeta en el escritorio (por ejemplo, "Grabaciones") para las grabaciones guardadas?
@hrbellemare, se puede agregar de diferentes maneras, aquí hay una forma. En la set savePath tolínea... agregue & "Recordings:"delante de & "Recording_"para que esa línea se lea, set savePath to (the path to the desktop folder as text) & "Recordings:" & "Recording_" & recordingNumber & ".m4a".
Gracias. Una cosa que agregaría, para cualquiera que lea, es que la carpeta debe existir para que esto funcione, no será creada por el script.
@Harold Bellemare, ¡de nada! Como dije, " no hay ningún error al verificar lo escrito en este script tal como está " y aunque lo mencioné en el contexto de sobrescribir archivos que crea, también era aplicable en general. Recuerde que la secuencia de comandos que proporcioné era una " secuencia de comandos de muestra " y también dijo " y esto solo tiene la intención de brindarle un marco de inicio para construir " para que el manejo adecuado de errores y la funcionalidad adicional ciertamente se puedan integrar en la secuencia de comandos a elección de uno. :)