Closed msampaio closed 10 years ago
Professor, postei já o arquivo como diogo 05, fiz algumas experiências com formação de triades maiores e possiveis mas quanto ao vetor intervalar não consigui realiza-lo ainda pois apesar das fontes que procurei não consegui entende-lo como fuinciona, ainda estou tentando.
Em 27 de outubro de 2013 07:19, Marcos da Silva Sampaio < notifications@github.com> escreveu:
Instruções gerais
- Verificar o prazo de entrega da tarefa (milestone)
- Verificar manual de procedimentoshttp://genosmus.com/pesquisa/flauta-solo/manual/
- A página da pesquisa http://genosmus.com/pesquisa/flauta-solo/contém outras informações adicionais
- Toda a discussão acerca desta tarefa deverá ser feita usando os comentários da tarefa. O GitHub organiza a discussão e deixa registrada. É fácil encontrar depois.
Instruções específicas
A tarefa consiste em elaborar uma calculadora musical com as operações básicas da Teoria Pós-Tonal em Python. A calculadora deverá incluir funções para:
- calcular a retrogradação de conjuntos de notas
- calcular a transposição de conjuntos de notas
- calcular a inversão de conjuntos de notas
- calcular o vetor intervalar de conjuntos de notas
Cada uma dessas operações deverá ser calculada por uma função como retrogradar([0, 2, 1]). Essas funções deverão aceitar listas de inteiros como valores de entrada e de saída.
Todas as dúvidas referentes à tarefa deverão ser tiradas por aqui.
— Reply to this email directly or view it on GitHubhttps://github.com/GenosResearchGroup/FlautaSolo/issues/112 .
@drakoor, você precisa trabalhar de um modo mais "pythônico". Veja este documento e vamos fazer uma aula de Python de 10 minutos. É necessário organizar o estilo do seu código antes de seguir em frente.
professor estou buscando outras fontes para entender como deve ser o lay-out da linguagem de programação pois estou tendo dificuldades de distinguir cálculos das funções, e fazer o programa rodar corretamente.
Em 4 de novembro de 2013 11:34, Marcos da Silva Sampaio < notifications@github.com> escreveu:
@drakoor https://github.com/drakoor, você precisa trabalhar de um modo mais "pythônico". Veja este documentohttp://python.net/%7Egoodger/projects/pycon/2007/idiomatic/handout.htmle vamos fazer uma aula de Python de 10 minutos. É necessário organizar o estilo do seu código antes de seguir em frente.
— Reply to this email directly or view it on GitHubhttps://github.com/GenosResearchGroup/FlautaSolo/issues/112#issuecomment-27715322 .
@drakoor, veja como organizo o código Python nestes arquivos:
https://github.com/msampaio/MusiContour/blob/master/contour/auxiliary.py https://github.com/msampaio/MusiContour/blob/master/contour/diagonal.py https://github.com/GenosResearchGroup/FlautaSolo/blob/master/analysis/core.py
Professor, veja ai o novo arquivo diogo05 modifiquei o arquivo q já existia, ele não possui as alterações que o senhor me mostrou no genos pq esse arquivo o senhor não postou ainda no copy, mas gostaria q desse uma olhada na organização desse arquivo que acabei de postar para saber se estou seguindo no caminho correto.
2013/11/8 Marcos da Silva Sampaio notifications@github.com
@drakoor https://github.com/drakoor, veja como organizo o código Python nestes arquivos:
https://github.com/msampaio/MusiContour/blob/master/contour/auxiliary.py https://github.com/msampaio/MusiContour/blob/master/contour/diagonal.py
https://github.com/GenosResearchGroup/FlautaSolo/blob/master/analysis/core.py
— Reply to this email directly or view it on GitHubhttps://github.com/GenosResearchGroup/FlautaSolo/issues/112#issuecomment-28058882 .
@drakoor, você está no caminho certo. Por alguma razão o Copy não sincronizou a alteração que fiz na máquina do Genos. Eu inseri uma docstring em sua função triades_maiores
. Veja como fiz. Há uma descrição do objetivo da função e um exemplo de como funciona. Para treinar, recomendo que documente todas as suas funções, ainda que sejam óbvias demais. Essa documentação é uma das principais atividades do seu plano de trabalho.
@drakoor, qual o estado desta tarefa? Observei que a última atualização do arquivo ocorreu há 2 semanas.
há algo mais a calcular?? pensei q os únicos problemas eram a falta de referência das formulas a respeito de suas funções. Agora estou tentando me familiarizar com as declarações de estruturas, pois apesar de ter feito algumas funções com elas ainda não me sinto seguro em manuseá-las.
2013/11/24 Marcos da Silva Sampaio notifications@github.com
@drakoor https://github.com/drakoor, qual o estado desta tarefa? Observei que a última atualização do arquivo ocorreu há 2 semanas.
— Reply to this email directly or view it on GitHubhttps://github.com/GenosResearchGroup/FlautaSolo/issues/112#issuecomment-29155704 .
@drakoor, observe na descrição desta tarefa que há quatro funções para programar. Ainda na descrição há um exemplo de como a função deve ser chamada.
Professor estou tendo problemas, o codigo editado no genos não está rodando, por isso criei um outro arquivo chamado experimento2, já postei ele no copy mas não estou conseguindo realizar algumas funções. O idlex a tela preta não consegui utilisa-la porém surge uma outra janela semelhante ao idle mas com a numeração de linhas.
Em 27 de novembro de 2013 04:58, Marcos da Silva Sampaio < notifications@github.com> escreveu:
@drakoor https://github.com/drakoor, observe na descrição desta tarefa que há quatro funções para programar. Ainda na descrição há um exemplo de como a função deve ser chamada.
— Reply to this email directly or view it on GitHubhttps://github.com/GenosResearchGroup/FlautaSolo/issues/112#issuecomment-29382350 .
Sobre o idlex, você olhou o arquivo README e os arquivos demo?
Observe o seu código logo abaixo. Você está usando docstrings como comentários. Docstrings servem para documentar uma função. Você não usou para documentar a única função do arquivo, mod12
. Se quer criar comentários locais, use #
.
def mod12(notas):
return notas %12
"""Amostragem de notas, onde cada nota da escala é um numero correspondente neste
conjunto"""
notas = range(12)
print 'notas:', notas
"""Criação de conjunto de notas derivado do primeiro conjunto"""
conjunto = [2, 4, 7, 8, 11]
print 'conjunto:', conjunto
retrogradar = conjunto.reverse()
print retrogradar
"""Esta formula faz invercao """
inversas = input('Nota: ')
eixo = input('Eixo da inversao: ')
i = 2 * eixo - inversas
print 'inversoes de notas:', i
Por que você não seguiu o modelo do arquivo que criamos na última quinta-feira? Por exemplo, havíamos definido uma função para retrogradação, mas ao invés de usá-la você usou isso no seu código:
retrogradar = conjunto.reverse()
print retrogradar
Conforme falei na quinta-feira, recomendo que defina uma função para cada ação. Por exemplo, ao invés de:
i = 2 * eixo - inversas
Faça algo como:
def inverter_nota(nota, eixo):
"""Retorna a inversão da nota sobre um eixo dado.
>>> inverter_nota(2, 5)
8
"""
return 2 * eixo - nota
Ai professor o print que o senhor pediu, este outro arquivo eu fiz para testar a formula que o senhor tinha me passado da inversão, já que o arquivo editado no genos não está rodando de jeito nenhum. Quando abro o idlex fica assim: como a primeira imagem E quando peço para roda-lo apertando F5 fica como na segunda imagem.
Em 3 de dezembro de 2013 13:44, Marcos da Silva Sampaio < notifications@github.com> escreveu:
Sobre o idlex, você olhou o arquivo README e os arquivos demo?
Observe o seu código logo abaixo. Você está usando docstrings como comentários. Docstrings servem para documentar uma função. Você não usou para documentar a única função do arquivo, mod12. Se quer criar comentários locais, use #.
def mod12(notas): return notas %12 """Amostragem de notas, onde cada nota da escala é um numero correspondente neste conjunto""" notas = range(12) print 'notas:', notas
"""Criação de conjunto de notas derivado do primeiro conjunto""" conjunto = [2, 4, 7, 8, 11] print 'conjunto:', conjunto
retrogradar = conjunto.reverse() print retrogradar
"""Esta formula faz invercao """ inversas = input('Nota: ') eixo = input('Eixo da inversao: ') i = 2 * eixo - inversas print 'inversoes de notas:', i
Por que você não seguiu o modelo do arquivo que criamos na última quinta-feira? Por exemplo, havíamos definido uma função para retrogradação, mas ao invés de usá-la você usou isso no seu código:
retrogradar = conjunto.reverse() print retrogradar
Conforme falei na quinta-feira, recomendo que defina uma função para cada ação. Por exemplo, ao invés de:
i = 2 * eixo - inversas
Faça algo como:
def inverter_nota(nota, eixo): """Retorna a inversão da nota sobre um eixo dado.
inverter_nota(2, 5) 8 """
return 2 * eixo - nota
— Reply to this email directly or view it on GitHubhttps://github.com/GenosResearchGroup/FlautaSolo/issues/112#issuecomment-29754601 .
@drakoor, vamos usar esta tarefa para tirar as dúvidas específicas da calculadora musical. Responda o email que enviei sobre o idlex com os screenshots que você fez, pois as imagens não chegaram por aqui.
Aqui as imagens professor.
Em 4 de dezembro de 2013 05:20, Marcos da Silva Sampaio < notifications@github.com> escreveu:
@drakoor https://github.com/drakoor, vamos usar esta tarefa para tirar as dúvidas específicas da calculadora musical. Responda o email que enviei sobre o idlex com os screenshots que você fez, pois as imagens não chegaram por aqui.
— Reply to this email directly or view it on GitHubhttps://github.com/GenosResearchGroup/FlautaSolo/issues/112#issuecomment-29803677 .
@drakoor, acho que nao fui claro na outra mensagem. Vamos usar esta conversa no GitHub para tratar apenas da calculadora musical. Procure o email que enviei para voce e Alisson com o link do idlex e envie as imagens em resposta por la.
Professor acho que eu que não fui muito claro, quando eu instalei o idlex não tive nenhum problema não surgiu nenhuma mensagem de erro, nem mesmo quando eu abri o arquivo da calculadora o fato é que o arquivo da calculadora não está rodando nem mesmo sem o idlex por essa razão fiz aquele arquivo experiência 2 para poder testar as informações que o senhor me passou a respeito da calculadora
professor tirei um print da tela com o programa que eu baixei para utilizar o Ipython, ele se chama canopy. Eu pedi para importar o diogo05 e o resultado foi esse.
@drakoor, agora que resolveu o problema com o interpretador Python no Windows, qual o estado da calculadora? Recomendo que crie um subdiretório 'diogo' na pasta Code, no Copy e renomeie o seu arquivo 'diogo05' para 'calculadora'. Vamos finalizar logo essa tarefa.
professor já fiz a pasta com meu nome em código, mas estou tendo dificuldades na hora de invocar as funções, a mensagem que surge é q as funções não foram definidas. Como na imagem em anexo.
Em 15 de dezembro de 2013 04:00, Marcos da Silva Sampaio < notifications@github.com> escreveu:
@drakoor https://github.com/drakoor, agora que resolveu o problema com o interpretador Python no Windows, qual o estado da calculadora? Recomendo que crie um subdiretório 'diogo' na pasta Code, no Copy e renomeie o seu arquivo 'diogo05' para 'calculadora'. Vamos finalizar logo essa tarefa.
— Reply to this email directly or view it on GitHubhttps://github.com/GenosResearchGroup/FlautaSolo/issues/112#issuecomment-30603098 .
Ao invés de copiar a imagem, copie o texto e cole aqui. O github nao anexa mensagens enviadas por email.
On Tuesday, December 17, 2013, Diogo Cerqueira wrote:
professor já fiz a pasta com meu nome em código, mas estou tendo dificuldades na hora de invocar as funções, a mensagem que surge é q as funções não foram definidas. Como na imagem em anexo.
Em 15 de dezembro de 2013 04:00, Marcos da Silva Sampaio < notifications@github.com <javascript:_e({}, 'cvml', 'notifications@github.com');>> escreveu:
@drakoor https://github.com/drakoor, agora que resolveu o problema com o interpretador Python no Windows, qual o estado da calculadora? Recomendo que crie um subdiretório 'diogo' na pasta Code, no Copy e renomeie o seu arquivo 'diogo05' para 'calculadora'. Vamos finalizar logo essa tarefa.
— Reply to this email directly or view it on GitHub< https://github.com/GenosResearchGroup/FlautaSolo/issues/112#issuecomment-30603098>
.
— Reply to this email directly or view it on GitHubhttps://github.com/GenosResearchGroup/FlautaSolo/issues/112#issuecomment-30810067 .
Sent from my Mobile
Professor a mensagem que aparece quando tento testar uma função é essa:
NameError Traceback (most recent call last)
@drakoor, você precisa importar o módulo calculadora
e em seguida rodar as funções do módulo:
import calculadora
calculadora.retrogradar([5, 3, 8])
Para maiores informações procure por módulos e pacotes no Python.
Postei o arquivo novo. Com as funções retrogradar, transpor e inverter.
Ótimo. Veja como calcular o vetor intervalar no tutorial e tese de Bordini.
Professor não há uma fonte mais detalhada a respeito, o conteúdo é muito vago e resumido. Consegui entender como um conjunto de notas [7, 1, 11, 5] possui um conjunto de intervalos 6, 2, 6. Mas como este resulta em um vetor intervalar 020202 ?
2014/1/7 Marcos da Silva Sampaio notifications@github.com
Ótimo. Veja como calcular o vetor intervalar no tutorial e tese de Bordini.
— Reply to this email directly or view it on GitHubhttps://github.com/GenosResearchGroup/FlautaSolo/issues/112#issuecomment-31788264 .
@drakoor, pensei melhor e resolvi deixar o cálculo de vetor intervalar para outra tarefa. Eu observei que há um passo intermediário para calcular. Apenas para você saber, o vetor intervalar contém 6 números. Cada um representa o número de intervalos dentro de um dado conjunto. Por exemplo, o conjunto de notas [0, 2, 4] tem um vetor 020100. Não há intervalos de segunda menor, terça menor, quarta justa nem quarta aumentada (os valores 0). Há 2 intervalos de segunda maior (entre 0-2 e 2-4) e um intervalo de terça maior (entre 0-4). Cada classe de conjunto tem um vetor específico. Ele seria equivalente, em música tonal, a dizer que um acorde é maior, menor, aumentado, etc.
Instruções gerais
Instruções específicas
A tarefa consiste em elaborar uma calculadora musical com as operações básicas da Teoria Pós-Tonal em Python. A calculadora deverá incluir funções para:
Cada uma dessas operações deverá ser calculada por uma função como
retrogradar([0, 2, 1])
. Essas funções deverão aceitar listas de inteiros como valores de entrada e de saída.Todas as dúvidas referentes à tarefa deverão ser tiradas por aqui.