-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.tex
237 lines (186 loc) · 10.5 KB
/
main.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
\documentclass[12pt,twoside,a4paper]{book}
% ---------------------------------------------------- %
% Pacotes
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[brazil]{babel}
\usepackage[pdftex]{graphicx} % usamos arquivos pdf/png como figuras
\usepackage{setspace} % espaçamento flexível
\usepackage{indentfirst} % indentação do primeiro parágrafo
\usepackage{makeidx} % índice remissivo
\usepackage[nottoc]{tocbibind} % acrescentamos a bibliografia/indice/conteudo no Table of Contents
\usepackage{courier} % usa o Adobe Courier no lugar de Computer Modern Typewriter
\usepackage{type1cm} % fontes realmente escaláveis
\usepackage{listings} % para formatar código-fonte (ex. em Java)
\usepackage{titletoc}
%\usepackage[bf,small,compact]{titlesec} % cabeçalhos dos títulos: menores e compactos
\usepackage[fixlanguage]{babelbib}
\usepackage[font=small,format=plain,labelfont=bf,up,textfont=it,up]{caption}
\usepackage[usenames,svgnames,dvipsnames]{xcolor}
\usepackage[a4paper,top=2.54cm,bottom=2.0cm,left=2.0cm,right=2.54cm]{geometry} % margens
%\usepackage[pdftex,plainpages=false,pdfpagelabels,pagebackref,colorlinks=true,citecolor=black,linkcolor=black,urlcolor=black,filecolor=black,bookmarksopen=true]{hyperref} % links em preto
\usepackage[pdftex,plainpages=false,pdfpagelabels,pagebackref,colorlinks=true,citecolor=DarkGreen,linkcolor=NavyBlue,urlcolor=DarkRed,filecolor=green,bookmarksopen=true]{hyperref} % links coloridos
\usepackage[all]{hypcap} % soluciona o problema com o hyperref e capitulos
\usepackage[round,sort,nonamebreak]{natbib} % citação bibliográfica textual(plainnat-ime.bst)
\usepackage{emptypage} % para não colocar número de página em página vazia
\usepackage[output-decimal-marker={,}]{siunitx}
\fontsize{60}{62}\usefont{OT1}{cmr}{m}{n}{\selectfont}
% ------------------------------------------------------------------ %
% Cabeçalhos similares ao TAOCP de Donald E. Knuth
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\renewcommand{\chaptermark}[1]{\markboth{\MakeUppercase{#1}}{}}
\renewcommand{\sectionmark}[1]{\markright{\MakeUppercase{#1}}{}}
\renewcommand{\headrulewidth}{0pt}
% ------------------------------------------------------------------ %
\graphicspath{{./figuras/}} % caminho das figuras (recomendável)
\frenchspacing % arruma o espaço: id est (i.e.) e exempli gratia (e.g.)
\urlstyle{same} % URL com o mesmo estilo do texto e não mono-spaced
\makeindex % para o índice remissivo
\raggedbottom % para não permitir espaços extra no texto
\fontsize{60}{62}\usefont{OT1}{cmr}{m}{n}{\selectfont}
\cleardoublepage
\normalsize
% -------------------------------------------------------- %
% Opções de listing usados para o código fonte
% Ref: http://en.wikibooks.org/wiki/LaTeX/Packages/Listings
\lstset{ %
language=Ruby, % choose the language of the code
basicstyle=\footnotesize, % the size of the fonts that are used for the code
numbers=left, % where to put the line-numbers
numberstyle=\footnotesize, % the size of the fonts that are used for the line-numbers
stepnumber=1, % the step between two line-numbers. If it's 1 each line will be numbered
numbersep=5pt, % how far the line-numbers are from the code
showspaces=false, % show spaces adding particular underscores
showstringspaces=false, % underline spaces within strings
showtabs=false, % show tabs within strings adding particular underscores
frame=single, % adds a frame around the code
framerule=0.6pt,
tabsize=2, % sets default tabsize to 2 spaces
captionpos=b, % sets the caption-position to bottom
breaklines=true, % sets automatic line breaking
breakatwhitespace=false, % sets if automatic breaks should only happen at whitespace
escapeinside={\%*}{*)}, % if you want to add a comment within your code
backgroundcolor=\color[rgb]{1.0,1.0,1.0}, % choose the background color.
rulecolor=\color[rgb]{0.8,0.8,0.8},
extendedchars=true,
xleftmargin=10pt,
xrightmargin=10pt,
framexleftmargin=10pt,
framexrightmargin=10pt
}
% ----------------------------------------------- %
% custom package for math:
\usepackage{amsmath}
% ----------------------------------------------- %
% Corpo do texto
\begin{document}
\frontmatter
% cabeçalho para as páginas das seções anteriores ao capítulo 1 (frontmatter)
\fancyhead[RO]{{\footnotesize\rightmark}\hspace{2em}\thepage}
\setcounter{tocdepth}{2}
\fancyhead[LE]{\thepage\hspace{2em}\footnotesize{\leftmark}}
\fancyhead[RE,LO]{}
\fancyhead[RO]{{\footnotesize\rightmark}\hspace{2em}\thepage}
\onehalfspacing % espaçamento
% ----------------------------------------------------- %
% CAPA
\thispagestyle{empty}
\begin{center}
\vspace*{2.3cm}
Universidade de São Paulo\\
Instituto de Matemática e Estatística\\
Bacharelado em Ciência da Computação
\vspace*{3cm}
\Large{Carlos Augusto Motta de Lima}
\vspace{3cm}
\textbf{\Large{Reconhecimento Automatizado de Acordes \\ em Sinais de Áudio}}
\vskip 5cm
\normalsize{São Paulo}
\normalsize{Fevereiro de 2018}
\end{center}
% ------------------------------------------------------ %
% Página de rosto
%
\newpage
\thispagestyle{empty}
\begin{center}
\vspace*{2.3 cm}
\textbf{\Large{Reconhecimento Automatizado de Acordes \\ em Sinais de Áudio}}
\vspace*{2 cm}
\end{center}
\vskip 2cm
\begin{flushright}
Monografia final da disciplina \\
MAC0499 -- Trabalho de Formatura Supervisionado.
\end{flushright}
\vskip 5cm
\begin{center}
Supervisor: Prof. Dr. Marcelo Queiroz
\vskip 5cm
\normalsize{São Paulo}
\normalsize{Fevereiro de 2018}
\end{center}
\pagebreak
\pagenumbering{roman} % começamos a numerar
\chapter*{Resumo}
O reconhecimento automatizado de acordes é um processo no qual, dado um sinal de áudio de uma música, se produz uma sequência de etiquetas, cada uma representando um acorde, acompanhadas dos respectivos tempos de início e fim de cada acorde que é tocado na música. Neste trabalho, se descreverá o problema de forma detalhada, passando pelos conceitos teóricos envolvidos, e se estudará e implementará uma solução particular, proposta em \cite{muller}. Também se discutirá um método de avaliação do algoritmo, através da obtenção de estatísticas comparativas entre dados rotulados automaticamente e dados de treinamento previamente rotulados, usando estratégias como validação cruzada e a medida de precisão, típica de recuperação de informação. A melhor precisão média obtida nos experimentos foi de 52\%, usando CQT para extração de cromagramas e suavização temporal dos cromas antes da etapa de casamento de padrões do algoritmo apresentado. \\
\noindent \textbf{Palavras-chave:} processamento de sinais digitais, recuperação de informação musical, reconhecimento de acordes.
% ------------------------------------------- %
% Abstract
\chapter*{Abstract}
Chord recognition is the process where, given an audio signal representing of a song, a label sequence is produced, where each label represents a chord and its respective onset and offset times. In this work, we describe the problem of chord recognition in a detailed way, going through the involved concepts, and discuss and implement a particular solution presented in \cite{muller}. We also discuss a method for evaluating such an algorithm, through the computation of comparison statistics between automatically labeled data and ground-truth data, using strategies such as k-fold cross-validation and the measure of precision, typical in the information retrieval field. The best average precision obtained in the experiments were 52\%, using CQT for chromagram extraction and temporal smoothing of chromas before the pattern matching step of the presented algorithm. \\
\noindent \textbf{Keywords:} digital signal processing, musical information retrieval, chord recognition.
% -------------------------------------------------------- %
% Sumário
\tableofcontents
%% % -------------------------------------------------- %
%% \chapter{Lista de Abreviaturas}
%% \begin{tabular}{ll}
%% CFT & Transformada contínua de Fourier (\emph{Continuous Fourier Transform})\\
%% DFT & Transformada discreta de Fourier (\emph{Discrete Fourier Transform})\\
%% EIIP & Potencial de interação elétron-íon (\emph{Electron-Ion Interaction Potentials})\\
%% STFT & Tranformada de Fourier de tempo reduzido (\emph{Short-Time Fourier Transform})\\
%% \end{tabular}
%% % ---------------------------------------------- %
%% \chapter{Lista de Símbolos}
%% \begin{tabular}{ll}
%% $\omega$ & Frequência angular\\
%% $\psi$ & Função de análise \emph{wavelet}\\
%% $\Psi$ & Transformada de Fourier de $\psi$\\
%% \end{tabular}
%% % ------------------------------------------- %
%% % Listas de figuras e tabelas criadas automaticamente
%% \listoffigures
%% \listoftables
% ----------------------------------------------------- %
% Capítulos do trabalho
\mainmatter
% cabeçalho para as páginas de todos os capítulos
\fancyhead[RE,LO]{\thesection}
\singlespacing % espaçamento simples
%\onehalfspacing % espaçamento um e meio
\input cap1-introducao
\input cap2-fundamentacao
\input cap3-desenvolvimento
\input cap4-conclusoes
% cabeçalho para os apêndices
\renewcommand{\chaptermark}[1]{\markboth{\MakeUppercase{\appendixname\ \thechapter}} {\MakeUppercase{#1}} }
\fancyhead[RE,LO]{}
\appendix
\include{ape-exemplo} % associado ao arquivo: 'ape-conjuntos.tex'
% -------------------------------------------------------------- %
% Bibliografia
\backmatter \singlespacing % espaçamento simples
\bibliographystyle{plainnat-ime} % citação bibliográfica textual
\bibliography{bibliografia}
%%% -------------------------------------------------- %
%% % Índice remissivo
%% \index{TBP|see{periodicidade região codificante}}
%% \index{DSP|see{processamento digital de sinais}}
%% \index{STFT|see{transformada de Fourier de tempo reduzido}}
%% \index{DFT|see{transformada discreta de Fourier}}
%% \index{Fourier!transformada|see{transformada de Fourier}}
%% \printindex % imprime o índice remissivo no documento
\end{document}