• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Tharis

[Python || E muito mais] Hino Nacional

6 mensagens neste tópico

Bem, depois do rolando2424 me falar da aplicação beep que pode ser instalada em Ubuntu pelo comando sudo apt-get install beep ou então podem sacar o source aqui e compilá-lo, extraindo o ficheiro beep.c para um directoria e executando o comando sudo gcc -Wall beep.c -o beep (acho que era preciso sudo para compilar). (não sei se funciona em Win32, é só testar :) )

Fiz um código que é baseado nas frequências das notas musicais e passei o Hino Nacional "A Portuguesa" para código. É muito simples: temos um dicionario ao qual cada nota, por exemplo "fa" tem um valor (frequência) correspondente. Depois vou chamando a função que faz uma system call ao beep para a nota (frequência) e duração que eu quero.

# Beep Python Lib

import os
from time import sleep

fundamental={"do":16.35, "do2":17.32,
             "re":18.35, "re2":18.35,
             "mi":20.6,
             "fa":21.83, "fa2":23.12,
             "sol":24.5, "sol2":25.96,
             "la":27.5, "la2":27.5,
             "si":30.87, "si2":30.87
             }
# Length = Second / 1 Time
def sound(key,length,scale):
    base='os.system("beep -f %d -l %d")' % (fundamental[key]*scale,length*500)
    eval(base)

do="do"
re="re"
mi="mi"
fa="fa"
sol="sol"
la="la"
si="si"

sound(mi,2,8)
sound(sol,2,8)
############
sound(fa,2,8)
sound(mi,1,8)
sound(la,1,8)
############
sound(sol,1,8)
sound(do,0.75,8)
sound(re,0.25,8)
sound(mi,1,8)
sound(re,1,8)
############
sound(do,2.5,8)
sleep(0.25)
sound(sol,0.25,8)
sound(mi,0.75,8)
sound(do,0.25,8)
# FIM PRIMEIRA LINHA
sound(la,2,8)
sound(sol,1.75,8)
sound(la,0.25,8)
############
sound(sol,1,8)
sound(fa,1,8)
sound(mi,0.75,8)
sound(do,0.25,8)
sound(si,0.75,4)
sound(do,0.25,8)
############
sound(mi,2,8)
sound("fa2",0.75,8)
sound(sol,0.25,8)
sound(la,0.75,8)
sound(si,0.25,8)
# FIM SEGUNDA LINHA
sound(sol,2,8)
sleep(0.5)
sound(sol,0.75,8)
sound(si,0.25,8)
############
sound(re,2,16)
sound(si,1,8)
sound(sol,0.5,8)
sound(fa,0.5,8)
############
sound(fa,2,8)
sound(mi,1,8)
sound(sol,0.75,8)
sound(mi,0.25,8)
# FIM TERCEIRA LINHA
sound(do,2.5,8)
sound(re,0.5,8)
sound(mi,0.5,8)
sound(sol,0.5,8)
sound(re,2.5,8)
sleep(0.75)
############
sound(re,1.5,8)
sound(mi,0.5,8)
sound(do,1,8)
sound(do,1,8)
# FIM QUARTA LINHA
sound(fa,1.5,8)
sound(sol,0.5,8)
sound(mi,1,8)
sound(mi,0.5,8)
sound(sol,0.5,8)
############
sound(do,1.5,16)
sound(sol,0.5,8)
sound(sol,0.5,8)
sound("la2",1,8)
sound("sol2",0.5,8)
############
sound(sol,1,8)
sound(re,2,8)
sleep(0.25)
sound(fa,0.5,8)
# FIM QUINTA LINHA
sound("re2",1,8)
sound(sol,1,8)
sound(sol,1,8)
sound(fa,0.5,8)
sound(mi,0.5,8)
############
sound(re,3,8)
sleep(0.25)
sound(fa,0.5,8)
############
sound("re2",1,8)
sound(sol,0.75,8)
sound(sol,0.25,8)
sound(sol,1,8)
sound(fa,0.5,8)
sound(mi,0.5,8)
# FIM SEXTA LINHA
sound(sol,1.75,8)
sound(sol,0.25,8)
sound(sol,1,8)
sleep(0.375)
sound(sol,0.25,8)
############
sound(do,2,16)
sound(si,1.5,8)
sleep(0.125)
sound(fa,0.25,8)
############
sound(la,2,8)
sound(sol,1,8)
sound(do,0.5,8)
sound(re,0.5,8)
# FIM SETIMA LINHA
sound(mi,1,8)
sound(mi,1,8)
sound(sol,1,8)
sound(mi,1,8)
############
sound(re,2.5,8)
sleep(0.625)
sound(sol,0.25,8)
############
sound(do,2,16)
sound(si,1.5,8)
sleep(0.075)
sound(fa,0.25,8)
# FIM OITAVA LINHA
sound(la,2,8)
sound(sol,1,8)
sleep(0.125)
sound(sol,0.5,8)
sound(do,0.5,16)
############
sound(mi,2,16)
sound(re,1.75,16)
sound(do,0.25,16)
############
sound(do,2.5,16)
sound(mi,0.5,8)
sound(fa,0.5,8)
sound(sol,0.5,8)
# FIM NONA LINHA
sound(la,1,8)
sound(la,1,8)
sound(sol,1.5,8)
sound(sol,0.5,8)
############
sound(do,2.5,16)

Quem sabe, fazer uma lib qualquer a partir disto? :(

Cumps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Porra Tharis és o meu orgulho, vou colocar isto no crontab a tocar todas as manhãs para acordar :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
from winsound import Beep
from time import sleep

fundamental={"do":16.35, "do2":17.32,
             "re":18.35, "re2":18.35,
             "mi":20.6,
             "fa":21.83, "fa2":23.12,
             "sol":24.5, "sol2":25.96,
             "la":27.5, "la2":27.5,
             "si":30.87, "si2":30.87
             }
# Length = Second / 1 Time
def sound(key,length,scale):
    Beep(fundamental[key]*scale, int(length*500))

do="do"
re="re"
mi="mi"
fa="fa"
sol="sol"
la="la"
si="si"

sound(mi,2,8)
sound(sol,2,8)
############
sound(fa,2,8)
sound(mi,1,8)
sound(la,1,8)
############
sound(sol,1,8)
sound(do,0.75,8)
sound(re,0.25,8)
sound(mi,1,8)
sound(re,1,8)
############
sound(do,2.5,8)
sleep(0.25)
sound(sol,0.25,8)
sound(mi,0.75,8)
sound(do,0.25,8)
# FIM PRIMEIRA LINHA
sound(la,2,8)
sound(sol,1.75,8)
sound(la,0.25,8)
############
sound(sol,1,8)
sound(fa,1,8)
sound(mi,0.75,8)
sound(do,0.25,8)
sound(si,0.75,4)
sound(do,0.25,8)
############
sound(mi,2,8)
sound("fa2",0.75,8)
sound(sol,0.25,8)
sound(la,0.75,8)
sound(si,0.25,8)
# FIM SEGUNDA LINHA
sound(sol,2,8)
sleep(0.5)
sound(sol,0.75,8)
sound(si,0.25,8)
############
sound(re,2,16)
sound(si,1,8)
sound(sol,0.5,8)
sound(fa,0.5,8)
############
sound(fa,2,8)
sound(mi,1,8)
sound(sol,0.75,8)
sound(mi,0.25,8)
# FIM TERCEIRA LINHA
sound(do,2.5,8)
sound(re,0.5,8)
sound(mi,0.5,8)
sound(sol,0.5,8)
sound(re,2.5,8)
sleep(0.75)
############
sound(re,1.5,8)
sound(mi,0.5,8)
sound(do,1,8)
sound(do,1,8)
# FIM QUARTA LINHA
sound(fa,1.5,8)
sound(sol,0.5,8)
sound(mi,1,8)
sound(mi,0.5,8)
sound(sol,0.5,8)
############
sound(do,1.5,16)
sound(sol,0.5,8)
sound(sol,0.5,8)
sound("la2",1,8)
sound("sol2",0.5,8)
############
sound(sol,1,8)
sound(re,2,8)
sleep(0.25)
sound(fa,0.5,8)
# FIM QUINTA LINHA
sound("re2",1,8)
sound(sol,1,8)
sound(sol,1,8)
sound(fa,0.5,8)
sound(mi,0.5,8)
############
sound(re,3,8)
sleep(0.25)
sound(fa,0.5,8)
############
sound("re2",1,8)
sound(sol,0.75,8)
sound(sol,0.25,8)
sound(sol,1,8)
sound(fa,0.5,8)
sound(mi,0.5,8)
# FIM SEXTA LINHA
sound(sol,1.75,8)
sound(sol,0.25,8)
sound(sol,1,8)
sleep(0.375)
sound(sol,0.25,8)
############
sound(do,2,16)
sound(si,1.5,8)
sleep(0.125)
sound(fa,0.25,8)
############
sound(la,2,8)
sound(sol,1,8)
sound(do,0.5,8)
sound(re,0.5,8)
# FIM SETIMA LINHA
sound(mi,1,8)
sound(mi,1,8)
sound(sol,1,8)
sound(mi,1,8)
############
sound(re,2.5,8)
sleep(0.625)
sound(sol,0.25,8)
############
sound(do,2,16)
sound(si,1.5,8)
sleep(0.075)
sound(fa,0.25,8)
# FIM OITAVA LINHA
sound(la,2,8)
sound(sol,1,8)
sleep(0.125)
sound(sol,0.5,8)
sound(do,0.5,16)
############
sound(mi,2,16)
sound(re,1.75,16)
sound(do,0.25,16)
############
sound(do,2.5,16)
sound(mi,0.5,8)
sound(fa,0.5,8)
sound(sol,0.5,8)
# FIM NONA LINHA
sound(la,1,8)
sound(la,1,8)
sound(sol,1.5,8)
sound(sol,0.5,8)
############
sound(do,2.5,16)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu sei fnds, só que o winsound como o próprio nome diz, só funciona em windows. :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

OH MY GOD!!! Praxem este gajo forte e feio!

Ah esquece... É só daqui a 2 anos... lol

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora