Jump to content

Sky Slate Blueberry Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate
Photo

A Clock that shows the time with Brasilian birds warbling


  • Please log in to reply
7 replies to this topic
nilsonrdg
  • Members
  • 31 posts
  • Last active: Jul 06 2014 04:02 PM
  • Joined: 27 Mar 2010
Autor: Nilson Rodrigues

The notes is in portuguese, but it's easy to understand.

It's a amateur code, but it's easy to understand and anyone can change it.

The MP3's is in the 4Shared: <!-- m -->http://www.4shared.c... ... _com_.html<!-- m -->

; Script para um relógio que mostra a hora (traytip) ao som de cantos de pássaros brasileiros.
  
; Você pode modificar este Script como quiser, principalmente melhorá-lo.

; Web: http://nilsonrblog.blogspot.com/

; Definindo o caminho onde o script e sons devem ser colocados.

CaminhoBase = %A_ScriptDir%

; Função que reproduz o som selecionado

Cantar(Canto)  
{

  #Persistent
    
  Agora = %A_Hour%:%A_Min% 
       
  TrayTip, São %Agora% horas, Você está ouvindo o canto: %Canto%
  
  SoundGetWaveVolume, VolumeAtual
  SoundSetWaveVolume, 10
  SoundPlay, %CaminhoBase%Cantos\%Canto%.mp3, wait
  SoundSetWaveVolume, %VolumeAtual%  
       
  SetTimer, RemoveTrayTip, 5000
  return

  RemoveTrayTip:
  SetTimer, RemoveTrayTip, Off
  TrayTip
  return


}
          
; Scripts para checar a hora a cada segundo e escolher o som a toca

ChecarHoras:  
  
  SetTimer, ChecarHoras, 500
  
  ComputerHours = %A_Hour%
  ComputerMinutes = %A_Min%
  ComputerSeconds = %A_Sec%
  Agora = %A_Hour%:%A_Min%:%A_Sec% 
                                               
  if (Agora = "00:00:00")
  {
  Cantar("Urutau")
  }
  else if (Agora = "00:30:00")
  {
  Cantar("Sabiá")
  }
  else if (Agora = "01:00:00")
  {
  Cantar("Curiango")
  }
  else if (Agora = "01:30:00")
  {
  Cantar("João-de-barro")
  }
  else if (Agora = "02:00:00")
  {
  Cantar("Jaó")
  }
  else if (Agora = "02:30:00")
  {
  Cantar("João Teneném")
  }
  else if (Agora = "03:00:00")
  {
  Cantar("Coleiro - Fibra")
  }
  else if (Agora = "03:30:00")
  {
  Cantar("Garibaldi")
  }
  else if (Agora = "04:00:00")
  {
  Cantar("Sanhaço Frade")
  }
  else if (Agora = "04:30:00")
  {
  Cantar("Trinca Virando - Canto e Dando Boi")
  }
  else if (Agora = "05:00:00")
  {
  Cantar("Corruíra do Brejo")
  }
  else if (Agora = "05:30:00")
  {
  Cantar("Trinca Ferro")
  }
  else if (Agora = "06:00:00")
  {
  Cantar("Coleiro Paulistinha - Tui Tui - Canto Flautado")
  }
  else if (Agora = "06:30:00")
  {
  Cantar("Rouxinol")
  }
  else if (Agora = "07:00:00")
  {
  Cantar("Coleiro - Tui-Tui Puro")
  }
  else if (Agora = "07:30:00")
  {
  Cantar("Pitiguari ou Gente-de-fora-vem")
  }
  else if (Agora = "08:00:00")
  {
  Cantar("Sabiá Laranjeira Peito Laranja")
  }
  else if (Agora = "08:30:00")
  {
  Cantar("Juruviara")
  }
  else if (Agora = "09:00:00")
  {
  Cantar("uirapuru")
  }
  else if (Agora = "09:30:00")
  {
  Cantar("Gavião Carijó")
  }
  else if (Agora = "10:00:00")
  {
  Cantar("Azulão")
  }
  else if (Agora = "10:30:00")
  {
  Cantar("Trinca-Ferro Classico")
  }
  else if (Agora = "11:00:00")
  {
  Cantar("Coleiro - Zeo Zeo Zeo")
  }
  else if (Agora = "11:30:00")
  {
  Cantar("Patativa")
  }
  else if (Agora = "12:00:00")
  {
  Cantar("Pássaro Preto")
  }
  else if (Agora = "12:30:00")
  {
  Cantar("Galo de Campina")
  }
  else if (Agora = "13:00:00")
  {
  Cantar("Sanhaço da Amoreira")
  }
  else if (Agora = "13:30:00")
  {
  Cantar("Curió Avinhado")
  }
  else if (Agora = "14:00:00")
  {
  Cantar("Tico-Tico")
  }
  else if (Agora = "14:30:00")
  {
  Cantar("Cravina - Cabeca de Fogo")
  }
  else if (Agora = "15:00:00")
  {
  Cantar("Tui Tui Classico do Coleiro")
  }
  else if (Agora = "15:30:00")
  {
  Cantar("Cotovia")
  }
  else if (Agora = "16:00:00")
  {
  Cantar("Sabiá - Canto Aguirre")
  }
  else if (Agora = "16:30:00")
  {
  Cantar("Tiziu")
  }
  else if (Agora = "17:00:00")
  {
  Cantar("Pintassilgo")
  }
  else if (Agora = "17:30:00")
  {
  Cantar("Choro Boi")
  }
  else if (Agora = "18:00:00")
  {
  Cantar("Choquinha Carijo")
  }
  else if (Agora = "18:30:00")
  {
  Cantar("Cardeal do Sul")
  }
  else if (Agora = "19:00:00")
  {
  Cantar("Bigodinho")
  }
  else if (Agora = "19:30:00")
  {
  Cantar("Coleiro - Apito")
  }
  else if (Agora = "20:00:00")
  {
  Cantar("Canario da Terra - Metralha")
  }
  else if (Agora = "20:30:00")
  {
  Cantar("Bico de Veludo")
  }
  else if (Agora = "21:00:00")
  {
  Cantar("Bem-te-vi")
  }
  else if (Agora = "21:30:00")
  {
  Cantar("Bico de Pimenta")
  }
  else if (Agora = "22:00:00")
  {
  Cantar("Curió Paracambi")
  }
  else if (Agora = "22:30:00")
  {
  Cantar("Corocoxó")
  }
  else if (Agora = "23:00:00")
  {
  Cantar("Coleiro - Tiu Vi Vi")
  }
  else if (Agora = "23:30:00")
  {
  Cantar("Sací")
  }
    
return

  
SetTimer, ChecarHoras, 1000


; Scripts para atalho para verificar a hora: Tecla Win + Q

#q::
  ComputerHours = %A_Hour%
  ComputerMinutes = %A_Min%
  ComputerSeconds = %A_Sec%
  
  ComputerDay = %A_DD%
  ComputerMonth = %A_MM%
  ComputerYear = %A_YYYY% 
  
  Agora = %ComputerHours%:%ComputerMinutes%:%ComputerSeconds%  
  Hoje =  %ComputerDay%/%ComputerMonth%/%ComputerYear%
  Momento =  %Agora% do dia %Hoje%
  TrayTip , Agora, %Momento%, 3
return


MasterFocus
  • Moderators
  • 4323 posts
  • Last active: Jan 28 2016 01:38 AM
  • Joined: 08 Apr 2009
Your script can be improved a lot, indeed.
The following modification has not been tested, but should work:
;=====================================================================================
;
; Modified by: Antonio França - http://tiny.cc/itunis
; Originally by: Nilson Rodrigues - http://nilsonrblog.blogspot.com/
; MP3 files can be found here: www.4shared.com/file/Drynebkn/Relgio_que_anuncia_a_hora_com_.html
; Forum topic: http://www.autohotkey.com/forum/viewtopic.php?t=57598
;
;=====================================================================================

SetTimer, lab_CheckTime, 1000
Return

;===================================================
; === Label to check current time
;===================================================

lab_CheckTime:
  f_CheckToSing(A_Hour,A_Min,A_Sec)
Return

;===================================================
; === Hotkey to display current time
;===================================================

#q::
  FormatTime, g_CurrentTime,, HH:mm::ss' do dia 'dd/MM/yyyy
  TrayTip , Agora, %g_CurrentTime%, 3
Return

;===================================================
; === Function to validate and parse bird names
;===================================================

f_CheckToSing(l_Hour,l_Min,l_Sec)
{
  static st_List := "Urutau,Sabiá,Curiango,João-de-barro,Jaó,João Teneném,Coleiro - Fibra,Garibaldi,Sanhaço Frade,Trinca Virando - Canto e Dando Boi,Corruíra do Brejo,Trinca Ferro,Coleiro Paulistinha - Tui Tui - Canto Flautado,Rouxinol,Coleiro - Tui-Tui Puro,Pitiguari ou Gente-de-fora-vem,Sabiá Laranjeira Peito Laranja,Juruviara,uirapuru,Gavião Carijó,Azulão,Trinca-Ferro Classico,Coleiro - Zeo Zeo Zeo,Patativa,Pássaro Preto,Galo de Campina,Sanhaço da Amoreira,Curió Avinhado,Tico-Tico,Cravina - Cabeca de Fogo,Tui Tui Classico do Coleiro,Cotovia,Sabiá - Canto Aguirre,Tiziu,Pintassilgo,Choro Boi,Choquinha Carijo,Cardeal do Sul,Bigodinho,Coleiro - Apito,Canario da Terra - Metralha,Bico de Veludo,Bem-te-vi,Bico de Pimenta,Curió Paracambi,Corocoxó,Coleiro - Tiu Vi Vi,Sací"
  If !( Mod(l_Min,30) + l_Sec == 0 )
    Return
  l_Count := ( Mod(l_Hour,24)+1 + (l_Min==30) )
  StringSplit, l_TempArray, st_List, `,
  f_Sing( l_TempArray%l_Count% )
  Return
}

;===================================================
; === Function to play the selected file
;===================================================

f_Sing(l_Choice)
{
  l_SoundPath := "Cantos\" l_Choice ".mp3"
  FormatTime, l_CurrentTime,, HH:mm
  TrayTip, São %l_CurrentTime% e você está ouvindo o canto: %l_Choice%
  SoundGetWaveVolume, l_CurrentVolume
  SoundSetWaveVolume, 10
  SoundPlay, %l_SoundPath%, wait
  SoundSetWaveVolume, %l_CurrentVolume%
  SetTimer, __internalRemoveTraytip, -5000
  Return

  __internalRemoveTraytip:
    TrayTip
  Return
}
Next time, use code tags when posting your code.

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Antonio França -- git.io -- github.com -- ahk4.net -- sites.google.com -- ahkscript.org

Member of the AHK community since 08/Apr/2009. Moderator since mid-2012.


nilsonrdg
  • Members
  • 31 posts
  • Last active: Jul 06 2014 04:02 PM
  • Joined: 27 Mar 2010
Thanks, Antonio França!

It worked very well and is more easy to handle.

I made some changes because the traytip wasn't showed.

And thanks for the last tip: "Code tags" helped me improved my post.

The problem with the new script is:
In the original, I could change the sound and know the related time.


;=====================================================================================
;
; Modified by: Antonio França - http://tiny.cc/itunis
; Originally by: Nilson Rodrigues - http://nilsonrblog.blogspot.com/
; MP3 files can be found here: www.4shared.com/file/Drynebkn/Relgio_que_anuncia_a_hora_com_.html
; Forum topic: http://www.autohotkey.com/forum/viewtopic.php?t=57598
;
;=====================================================================================

SetTimer, lab_CheckTime, 1000
Return

;===================================================
; === Label to check current time
;===================================================

lab_CheckTime:
  f_CheckToSing(A_Hour,A_Min,A_Sec)
Return

;===================================================
; === Hotkey to display current time
;===================================================

#q::
  FormatTime, g_CurrentTime,, HH:mm::ss' do dia 'dd/MM/yyyy
  TrayTip , Agora, %g_CurrentTime%, 3
Return

;===================================================
; === Function to validate and parse bird names
;===================================================

f_CheckToSing(l_Hour,l_Min,l_Sec)
{
  static st_List := "Urutau,Sabiá,Curiango,João-de-barro,Jaó,João Teneném,Coleiro - Fibra,Garibaldi,Sanhaço Frade,Trinca Virando - Canto e Dando Boi,Corruíra do Brejo,Trinca Ferro,Coleiro Paulistinha - Tui Tui - Canto Flautado,Rouxinol,Coleiro - Tui-Tui Puro,Pitiguari ou Gente-de-fora-vem,Sabiá Laranjeira Peito Laranja,Juruviara,uirapuru,Gavião Carijó,Azulão,Trinca-Ferro Classico,Coleiro - Zeo Zeo Zeo,Patativa,Pássaro Preto,Galo de Campina,Sanhaço da Amoreira,Curió Avinhado,Tico-Tico,Cravina - Cabeca de Fogo,Tui Tui Classico do Coleiro,Cotovia,Sabiá - Canto Aguirre,Tiziu,Pintassilgo,Choro Boi,Choquinha Carijo,Cardeal do Sul,Bigodinho,Coleiro - Apito,Canario da Terra - Metralha,Bico de Veludo,Bem-te-vi,Bico de Pimenta,Curió Paracambi,Corocoxó,Coleiro - Tiu Vi Vi,Sací"
  If !( Mod(l_Min,30) + l_Sec == 0 )
    Return
  l_Count := ( Mod(l_Hour,24)+1 + (l_Min==30) )
  StringSplit, l_TempArray, st_List, `,
  f_Sing( l_TempArray%l_Count% )
  Return
}

;===================================================
; === Function to play the selected file
;===================================================

f_Sing(l_Choice)
{
  l_SoundPath := "Cantos\" l_Choice ".mp3"
  FormatTime, l_CurrentTime,, HH:mm
  TrayTip, São %l_CurrentTime%, Você está ouvindo o canto: %l_Choice%
  SoundGetWaveVolume, l_CurrentVolume
  SoundSetWaveVolume, 10
  SoundPlay, %l_SoundPath%, wait
  SoundSetWaveVolume, %l_CurrentVolume%
  TrayTip
  Return
}


MasterFocus
  • Moderators
  • 4323 posts
  • Last active: Jan 28 2016 01:38 AM
  • Joined: 08 Apr 2009

In the original, I could change the sound and know the related time.

Yeah, that's the only "problem" that I see in my code, indeed.

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Antonio França -- git.io -- github.com -- ahk4.net -- sites.google.com -- ahkscript.org

Member of the AHK community since 08/Apr/2009. Moderator since mid-2012.


nilsonrdg
  • Members
  • 31 posts
  • Last active: Jul 06 2014 04:02 PM
  • Joined: 27 Mar 2010

Antonio França;

I think it's simple to change the script to do what I want:

static st_List := "00:00,Urutau,00:30,Sabiá,01:00,Curiango,01:30,João-de-barro, ..."

So, the increment to read the list must be 2... but I haven't knowledge to do this. I think I need to read more the Help files...

Somebody called nick sent me this script by a private message. It solved the "problem" and made easy to change the sounds.



;------------------------------------------------------------------------------------------
; Created by: Nilson Rodrigues - www.autohotkey.com/forum/profile.php?mode=viewprofile&u=44370
; Modified by: nick - www.autohotkey.com/forum/profile.php?mode=viewprofile&u=1142
; MP3 files can be found here: www.4shared.com/file/Drynebkn/Relgio_que_anuncia_a_hora_com_.html
;------------------------------------------------------------------------------------------


#NoEnv
#Persistent
; Script para um relógio que mostra a hora (traytip) ao som de cantos de pássaros brasileiros.
; Você pode modificar este Script como quiser, principalmente melhorá-lo.
; Web: http://nilsonrblog.blogspot.com/
; Definindo o caminho onde o script e sons devem ser colocados.
CaminhoBase = %A_ScriptDir%
Cantos =
(
000000|Urutau
003000|Sabiá
010000|Curiango
013000|João-de-barro
020000|Jaó
023000|João Teneném
030000|Coleiro - Fibra
033000|Garibaldi
040000|Sanhaço Frade
043000|Trinca Virando - Canto e Dando Boi
050000|Corruíra do Brejo
053000|Trinca Ferro
060000|Coleiro Paulistinha - Tui Tui - Canto Flautado
063000|Rouxinol
070000|Coleiro - Tui-Tui Puro
073000|Pitiguari ou Gente-de-fora-vem
080000|Sabiá Laranjeira Peito Laranja
083000|Juruviara
090000|uirapuru
093000|Gavião Carijó
100000|Azulão
103000|Trinca-Ferro Classico
110000|Coleiro - Zeo Zeo Zeo
113000|Patativa
120000|Pássaro Preto
123000|Galo de Campina
130000|Sanhaço da Amoreira
133000|Curió Avinhado
140000|Tico-Tico
143000|Cravina - Cabeca de Fogo
150000|Tui Tui Classico do Coleiro
153000|Cotovia
160000|Sabiá - Canto Aguirre
163000|Tiziu
170000|Pintassilgo
173000|Choro Boi
180000|Choquinha Carijo
183000|Cardeal do Sul
190000|Bigodinho
193000|Coleiro - Apito
200000|Canario da Terra - Metralha
203000|Bico de Veludo
210000|Bem-te-vi
213000|Bico de Pimenta
220000|Curió Paracambi
223000|Corocoxó
230000|Coleiro - Tiu Vi Vi
233000|Sací
)
Loop, Parse, Cantos, `n
{
  StringSplit, S, A_LoopField, |
  Canto%S1% := S2
}
SetTimer, ChecarHoras, On
Return
; ------------------------------------------------------------------------------
; Scripts para checar a hora a cada segundo e escolher o som a toca
ChecarHoras: 
  Agora := A_Hour . A_Min . A_Sec
  If (Canto%Agora%)
    Cantar(Canto%Agora%)
Return
; ------------------------------------------------------------------------------
; Função que reproduz o som selecionado
Cantar(Canto) 
{
  Global CaminhoBase
  TrayTip, São %A_Hour%:%A_Min% horas, Você está ouvindo o canto: %Canto%
  SoundGetWaveVolume, VolumeAtual
  SoundSetWaveVolume, 10
  SoundPlay, %CaminhoBase%\Cantos\%Canto%.mp3, Wait
  SoundSetWaveVolume, %VolumeAtual% 
  Sleep, 1000
  TrayTip
  Return
}
; ------------------------------------------------------------------------------
; Scripts para atalho para verificar a hora: Tecla Win + Q
#q::
  TrayTip , Agora, %A_Hour%:%A_Min%:%A_Sec% do dia %A_DD%/%A_MM%/%A_YYYY%, 3
Return


garry
  • Spam Officer
  • 3219 posts
  • Last active: Sep 20 2018 02:47 PM
  • Joined: 19 Apr 2005
thank you for the nice script, use it to listen news (radio) when i heard "bird-song" ...
also the help from masterfocus and nick
and the nice "bird-songs"
like also the (bird) music from
Teixeirinha : Amor aos passarinhos, Canarinho cantador, Passarinho canta
Elba Ramalho: Sabia, Canta passarinho ....
Inezita Barroso: Azulao , ...

nilsonrdg
  • Members
  • 31 posts
  • Last active: Jul 06 2014 04:02 PM
  • Joined: 27 Mar 2010

thank you for the nice script, use it to listen news (radio) when i heard "bird-song" ...
also the help from masterfocus and nick
and the nice "bird-songs"
like also the (bird) music from
Teixeirinha : Amor aos passarinhos, Canarinho cantador, Passarinho canta
Elba Ramalho: Sabia, Canta passarinho ....
Inezita Barroso: Azulao , ...


Teixeirinha and Inezita Barroso made songs about birds but Elba Ramalho...

Some musics of Elba Ramalho is just like bird's song. I know it because I feel happy when I heard birds. It's a mix of peace, energy and joy. Just like axé, techno and eletronic music. Someone could create a program to remix birds sounds...

An interessant brazilian music is "Passaredo" of Chico Buarque.
It's about the threat we are to these little beeings.
I hope the script don't encourage people want to imprison birds.

Thanks, Garry.

garry
  • Spam Officer
  • 3219 posts
  • Last active: Sep 20 2018 02:47 PM
  • Joined: 19 Apr 2005

Folder Cantos with MP3-files ( brasilian birds )

http://s000.tinyuplo...345508891555675