Os comandos do script


Última atualização: 05/06/2011

Versão

Esta documentação se aplica ao Perceval versão 3.0.3.

Visão geral

Os comandos permitem produzir os eventos (p.ex.: exibição, produção sonora etc.) para cada prova. Todos os comandos são opcionais e dependem do planejamento do experimento.

Veja informações gerais sobre os comandos.

Lista dos comandos

Cada campo de seção define um comando.

Comandos comuns a PERCEVAL e LANCELOT

Comandos exclusivos para PERCEVAL

Comandos exclusivos para LANCELOT

Comandos comuns a PERCEVAL e LANCELOT

Sintaxe:
X10=BEGIN
X20=...
X30=REM faço um comentário para entender a sequência
X40=...
X50=END

Comandos exclusivos para PERCEVAL

Sintaxe:
Xn=PLAY_SOUND<nome_do_arquivo><VOLUME atenuação><TIME_BEGIN início><TIME_BEGIN fim><DURATION duração>
<nome_do_arquivo> é o nome do arquivo wave (necessariamente Windows PCM)
<VOLUME atenuação> define a intensidade do som (atenuação é por definição um valor negativo ou nulo e corresponde à atenuação em dB sobre o arquivo de áudio original)
<TIME_BEGIN início> define a posição temporal inicial de produção do arquivo de áudio (início é necessariamente um valor nulo ou positivo e inferior à duração do arquivo de áudio)
<TIME_END fim> define a posição temporal final de produção do arquivo de áudio (fim é necessariamente um valor nulo ou positivo e inferior à duração do arquivo de áudio)
<DURATION duração> define a duração de produção do arquivo de áudio (duração é necessariamente um valor inferior à duração do arquivo de áudio)
Observação: <TIME_BEGIN início>, <TIME_END fim> et <DURATION duração> são ligados pela relação:
duração = fim - begin

Figura 1: parâmetros de comando Perceval: PLAY_SOUND

Sintaxe:
Xn=DISPLAY_TEXT<texto>
<texto> definit a sequência de caracteres a exibir. É possível referir-se aos TRIAL_DATA.
Exemplos:
X20=DISPLAY_TEXT <#1> (ver exemplo)
X50=DISPLAY_TEXT <verdadeiro ou falso>
Sintaxe:
Xn=DISPLAY_FILEBMP <nome_do_arquivo.bmp>
<nome_do_arquivo.bmp> define o nome do arquivo bitmap a exibir. É possível referir-se aos TRIAL_DATA.
Sintaxe:
Xn=CLEAR_SCREEN <cor>
<cor> define a cor do fundo quando a tela é limpa.
Sintaxe:
Xn=WAIT <ms>
<ms> define a duração da espera em milissegundos. É possível referir-se aos TRIAL_DATA ou às variáveis calculadas $WAVE_DURATION.
Sintaxe:
Xn=GET_INPUT <DELAY ms>
<DELAY ms> define o tempo máximo de resposta autorizado ao sujeito. É possível referir-se aos TRIAL_DATA. Se o delay não for especificado, o tempo de resposta é "infinito".

Comandos exclusivos para LANCELOT

Sintaxe:
Xn=PLAY_SOUND <arquivo_de_som><SLEEP yes/no>
<arquivo_de_som> é o nome do arquivo wave (necessariamente Windows PCM)
<SLEEP yes/no> permite ou não (respectivamente yes, no) bloquear (sleep) o dispositivo durante a reprodução sonora.
Sintaxe:
Xn=SHOW_TEMPLATE <arquivo>
<arquivo> é o nome de uma página HTML.
Sintaxe:
Xn=START_CHRONO <WITHCOMMAND ID=nn>
<WITHCOMMAND ID=nn> é o identificador de um comando. O tempo de resposta será calculado entre o primeiro registro desse comando e a validação das respostas pelo ouvinte. Este tempo é aproximado (+/- 100 ms).
Sintaxe:
Xn=SHOW_MARK <marca1><marca2><marca3>...
<marca> é uma marca oculta na página HTML. É possível referir-se aos TRIAL_DATA ou às variáveis calculadas.
Sintaxe:
Xn=REPLACE_STRING <string1a string1b><string2a string2b>
<string> é uma sequência de caracteres. É possível referir-se:
- aos TRIAL_DATA que serão convertidos
- às variáveis calculadas que receberão o valor
Xn=REPLACE_STRING <@IDADE@ #IDADE><@SEX@ #SEX><@TITULO@ $TITULO_GRUPO>

Para evitar substituições involuntárias, impensadas, utilize sequências de caracteres não-ambiguas no texto da página HTML tais como, por exemplo, @IDADE@. Se você utilizar sequências ambiguas, como por exemplo err, a substituição de err por ERRO ocorrerá também em errado (caso também haja esta palavra na página) e errado será transformado em ERROado!

Figura 2:efeito de comando Lancelot : REPLACE_STRING <@AGE@ #AGE><@SEXE@ #SEXE><@TITRE@ $TITLE_GROUP>

Sintaxe:
Xn=GET_RESPONSES <RESPONSE_BLOCK bloco><NON_RESPONSE_AUTHORISED yes/no>
<RESPONSE_BLOCK bloco> define o bloco de respostas esperadas. O bloco deve ser coerente com as definições dos itens de resposta definidos nos SETTINGS.
bloc deve ter a seguinte forma:

5-10

itens de resposta de 5 a 10

51 8 15>

itens de resposta de 5, 8 e 15

Sintaxe :
Xn=SHOW_NEXT_TRIAL_MARK
Para tornar operacional esse comando, a página HTML em curso deve possuir o comando oculto:
<A NAME="COMMAND::NEXT_TRIAL"> Seguido de </A>

Os comandos interativos LANCELOT numa página HTML

A documentação abaixo necessita um mínimo de conhecimento da sintaxe HTML.

Para mais informações, consulte:

Sintaxe dos comandos interativos

É possível inserir os comandos numa página HTML. Para isso, quando da composição da página, basta criar um link de hipertexto e estabelecer que o alvo é:

COMMAND::NOME_DO_comando <param1> <param2>

Exemplo:

Figura 3: a imagem do alto-falante contém um link de hipertexto (code HTML : <AHREF=...></A>)
que aponta para um comando interativo PLAY_SOUND <#wave>¨...

Todos os comandos Lancelot descritos abaixo podem ser inseridos numa página HTML da mesma maneira.

Propriedades dos comandos interativos

A fim de identificar os comandos que são desencadeados de maneira interativa pelo usuário (e não sequencialmente como na seção dos comandos), é possível adicionar propriedades. Essas propriedades devem ser escritas da seguinte forma:

{ID=ii,RETRIGGERABLE=nn}COMMAND::NOME_DO_comando <param1> <param2> em que

Exemplo:

Figura 3: a imagem do alto-falante contém um link de hipertexto (code HTML : <AHREF=...></A>)
que aponta para um comando interativo PLAY_SOUND <#wave>¨... com as seguintes propriedades {ID=100,RETRIGGERABLE=3}

As propriedades ilustradas no exemplo permitem:

Lista complementar dos comandos interativos Lancelot

Sintaxe HTML:

<P><A HREF="COMMAND::INSTRUCTIONS_READ">Clique aqui para começar</A><P>
O link para COMMAND::INSTRUCTIONS_READ deve necessariamente ser inserido na página de instruções aos sujeitos a fim de iniciarem o teste.
Sintaxe HTML:

<P><A HREF="COMMAND::NEXT_TRIAL">Prova seguinte</A><P>
O link para COMMAND::NEXT_TRIAL pode ser inserido numa página HTML para passar à prova seguinte.
Esta solução pode ser embaraçosa, pois oferece a oportunidade de saltar para a próxima prova sem a realização de testes de ensaio. A alternativa é inserir a forma oculta de comando de âncora (bookmark):
<P><A NAME="COMMAND::NEXT_TRIAL">Prova seguinte</A><P>
(a balize <A NAME= indica uma âncora, que não se deve confundir com <A HREF= que indica um link)
A vantagem das âncoras reside no fato de que elas não são visíveis nem ativáveis. Para ativar o comando COMMAND::NEXT_TRIAL no momento certo (ao fim da prova), basta fazer referência ao comando SHOW_NEXT_TRIAL_MARK que transformará a âncora em link.

As respostas são fornecidas por um formulário HTML. Trata-se de um conjunto de campos (botões de opção, caixas de seleção, linhas de texto, campos de texto...) que é encerrado por um botão de validação.

Sintaxe HTML:

<FORM ACTION="COMMAND::POST_RESPONSES" METHOD="post">...</FORM>
A ação do formulário para COMMAND::POST_RESPONSES deve ser necessariamente inserido na página
<INPUT TYPE="RADIO" NAME="categoria1" VALUE="valor1">...
<INPUT TYPE="RADIO" NAME="categoria1" VALUE="valor2">...
Captura de resposta por um botão de opções do mesmo valor de uma categoria de resposta. Esta informação deve ser coerente com os RESPONSE_ITEM definidos na seção SETTINGS do script.
<INPUT TYPE="SUBMIT" VALUE="Validar">
</FORM>

Figura 4: princípios de captura e validação das respostas por meio de um formulário HTML

Sintaxe HTML:

<P><A HREF="COMMAND::FINISHED">Clique aqui para sair</A><P>
O link para o COMMAND::FINISHED pode ser inserido na página da mensagem final.

As marcas ocultas do LANCELOT numa página HTML

As marcas ocultas são âncoras HTML que se tornam visíveis pela ação do SHOW_MARK.

Sintaxe das marcas ocultas

<A NAME="MARKHIDDEN::marca"></A>

em que marca pode ser uma referência aos TRIAL_DATA ou às variáveis calculadas

Exemplos:

<B><I><FONT COLOR="#FF0000"><A NAME="MARKHIDDEN::$CORRECT1"></A></FONT></I></B>
que tomará a forma "normal" pela ação do comando SHOW_MARK <$CORRECT1> (se $CORRECT1=normal)

Figura 5: ação do comando SHOW_MARK sobre as marcas ocultas



© Versão brasileira: Rui Rothe-Neves - Laboratório de Fonética, FALE - UFMG, (Apoio: CNPq, Bolsa de Produtividade em Pesquisa - nº 311484/2009-3; CNPq, Modalidade: Auxílio a Pesquisa – nº 506337/2010-3). Edição: Cássia R. O. Ribeiro.