P. 1
canto_gregoriano

canto_gregoriano

|Views: 42|Likes:

More info:

Published by: Thatiane Cristina Dos Santos on Mar 26, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as TXT, PDF, TXT or read online from Scribd
See more
See less

01/12/2013

pdf

text

original

LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.

ALL; -- Definição das notas musicais PACKAGE partitura IS TYPE notasTipo IS (do, re, mi, fa, sol, la, si, xxx); END partitura; USE work.partitura.ALL; ENTITY gregoriano IS PORT(vogal : IN CHARACTER; nota_canto : OUT notasTipo); END gregoriano; ARCHITECTURE escala SIGNAL indiceA : SIGNAL indiceE : SIGNAL indiceI : SIGNAL indiceO : SIGNAL indiceU : BEGIN PROCESS (vogal) BEGIN IF vogal = 'a' or vogal = 'A' THEN letra da música CASE indiceA IS WHEN 0 => nota_canto <= do; WHEN 1 => nota_canto <= la; WHEN 2 => nota_canto <= fa; WHEN OTHERS => nota_canto <= xxx; END CASE; IF indiceA < 2 THEN indiceA <= indiceA + 1; ELSE indiceA <= 0; END IF; -- Encontra uma letra 'a' ou 'A' na OF gregoriano IS INTEGER := 0; INTEGER := 0; INTEGER := 0; INTEGER := 0; INTEGER := 0; -- caracter da letra da música -- nota correspodente a música

ELSIF vogal = 'e' or vogal = 'E'THEN -- Encontra uma letra 'e' ou 'E' na letra da música CASE indiceE IS WHEN 0 => nota_canto <= re; WHEN 1 => nota_canto <= si; WHEN 2 => nota_canto <= sol; WHEN OTHERS => nota_canto <= xxx; END CASE; IF indiceE < 2 THEN indiceE <= indiceE + 1; ELSE indiceE <= 0; END IF; ELSIF vogal = 'i' or vogal = 'I' THEN -- Encontra uma letra 'i' ou 'I' na letra da música CASE indiceI IS WHEN 0 => nota_canto <= mi; WHEN 1 => nota_canto <= do; WHEN 2 => nota_canto <= la; WHEN OTHERS => nota_canto <= xxx; END CASE;

IF indiceI < 2 THEN indiceI <= indiceI + 1. ELSIF vogal = 'u' or vogal = 'U' THEN -.Encontra uma letra 'o' ou 'O' na letra da música CASE indiceO IS WHEN 0 => nota_canto <= fa. -. IF indiceO < 2 THEN indiceO <= indiceO + 1. END CASE. IF indiceU < 2 THEN indiceU <= indiceU + 1. END IF. ELSE indiceI <= 0.Faz uma pausa se o que encontra é al go diferente a uma vogal END IF. END IF. WHEN 1 => nota_canto <= mi. END IF. WHEN 2 => nota_canto <= si. ELSE nota_canto <= xxx. ELSE indiceU <= 0. WHEN OTHERS => nota_canto <= xxx. ELSE indiceO <= 0. ELSIF vogal = 'o' or vogal = 'O' THEN -.Encontra uma letra 'u' ou 'U' na letra da música CASE indiceU IS WHEN 0 => nota_canto <= sol. . WHEN OTHERS => nota_canto <= xxx. END escala. WHEN 1 => nota_canto <= re. END CASE. WHEN 2 => nota_canto <= do. END PROCESS.

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->