Okay, I have now got a functional program and don't need to do any further programming till I have tested on a real life scenario. But I am curious about how the internal clock of the PIC12F683 decides when to repeat the mainloop: (sub-routines omitted for clarity)

#CONFIG
__config _INTRC_OSC_NOCLKOUT & _WDT_OFF & _MCLRE_OFF & _CP_OFF
#ENDCONFIG


clear
DEFINE OSC 4


TRISIO.4 = 0 ' GPIO.4 as output
ANSEL = 0
CMCON0 = 7
OPTION_REG.7 = 0 ' Enable individual pullups
WPU=%000101 ' Enable weak pullups on GPIO.0 & GPIO.2


LEDIN VAR GPIO.3 ' Assign name "LEDIN" to GPOI 3 INPUT (yoctop green led)
RECPB var GPIO.4 ' Assign name "RECPB" to GPIO 4 OUTPUT
CYCLE var GPIO.0 ' Assign name "CYCLE" to GPIO 0 INPUT
TRIG var GPIO.2 ' Assign name TRIG to GPIO 2 (from manual trigger) INPUT


LC var word ' timing auto loop counter 0 - 60000
k var word
TT var word ' TRIG hold down time


high RECPB
low gpio.1


Mainloop:


pause 1 'run cycle at approx 1.73 ms intervals (I thought 1 = 1 second intervals?)

if LEDIN = 0 then 'Invert green LED of yoctop
low gpio.1 'to new red LED
endif '
if LEDIN = 1 and LC > 4500 then 'only show red LED in 57s silent phase
high gpio.1 '
endif '

TT = 0 ' Reset trigger timer

If CYCLE = 0 then ' START ONE MINUTE LOOP
LC = LC+1
endif
if LC > 1 and LC < 500 then 'press RECPB to start snippet recording
low RECPB
endif
if LC > 499 and LC < 1900 then '1900 counts give 3.0 sec recording
high RECPB
endif
if LC > 1899 and LC < 2400 then 'press RECPB to end snippet recording
low RECPB
endif
if LC > 2399 then 'release RECPB
high RECPB
endif
if LC > 34650 then ' 34650 loop counts over 1 minute (this equates to 60 seconds)
LC = 0
endif

if CYCLE = 1 and LC > 1 and LC <1950 then '
low RECPB ' Switch off CYCLE while recording
Pause 500 ' hold button down a little
high RECPB
LC = 0
endif

if TRIG = 0 and LC < 2400 then ' Press TRIG while already recording
LC = 0
gosub ManRecordExtend 'Extend an active recording
endif

if TRIG = 0 and LC > 2399 then 'Manual record in silent phase
LC = 2401
gosub ManRecordSilent
endif

GOTO Mainloop ' END ONE MINUTE LOOP