Notebooks em Python para fundamentos do processamento musical
(audiolabs-erlangen.de)- Os FMP notebooks são materiais educacionais baseados em Jupyter para aprender e ensinar Fundamentals of Music Processing, com foco em áudio
- Com base em cenários de aplicação de Music Information Retrieval (MIR), conectam teoria, fórmulas, figuras, exemplos de áudio e exemplos de código em Python em um fluxo contínuo
- O HTML estático pode ser visto imediatamente sem instalação, mas para executar o código é preciso baixar os notebooks e os dados, além de configurar um ambiente com servidor Jupyter
- A versão atual é 1.2.6; o texto e as figuras são fornecidos sob CC BY-NC-SA 4.0, e o pacote Python
libfmpsob licença MIT - Seguindo os 8 capítulos do material, o conteúdo vai de representações musicais, análise de Fourier, sincronização e análise estrutural até reconhecimento de acordes, rastreamento de tempo e batida, busca de áudio e decomposição de áudio
Objetivo dos FMP notebooks
- FMP notebooks é uma coleção de materiais educacionais para aprendizado e ensino de Fundamentals of Music Processing
- O foco está no domínio de áudio, usando temas bem conhecidos de Music Information Retrieval (MIR) como cenários de aplicação
- Integra os seguintes elementos em um único framework baseado em Jupyter notebooks
- introdução a cenários de MIR
- figuras e exemplos sonoros
- conceitos técnicos e detalhes matemáticos
- exemplos de código em Python que mostram a implementação da teoria
- Estudantes podem aprender teoria e prática juntos, professores podem usar o material em aula, e pesquisadores podem consultar implementações de referência para tarefas de MIR
Como ler e executar
- Se você só precisa da visualização estática, pode usar diretamente a versão HTML exportada, sem instalação
- explicações, figuras e exemplos de áudio podem ser acessados seguindo os links em HTML
- Para executar as células de código Python, é necessário o seguinte processo
- baixar os notebooks e os dados
- criar o ambiente de execução
- iniciar o servidor Jupyter
- usar os links IPYNB dentro da sessão do Jupyter
- O procedimento detalhado de execução está resumido em Get Started
Versão e licença
- Os FMP notebooks são atualizados continuamente, e a versão atual é 1.2.6
- O texto e as figuras dos notebooks são distribuídos sob a licença Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License
- O pacote Python
libfmpusa a licença MIT e está disponível no GitHub - Cada material de áudio segue sua licença original correspondente
- O site inclui parte do texto e das figuras do livro Fundamentals of Music Processing
Estrutura dos notebooks
- Os FMP notebooks seguem os 8 capítulos do material
-
Basics
- aborda como começar, framework Jupyter, Anaconda, multimídia, programação em Python, visualização, áudio, Numba, anotações,
libfmpe recursos de MIR
- aborda como começar, framework Jupyter, Anaconda, multimídia, programação em Python, visualização, áudio, Numba, anotações,
-
Music Representations
- aborda notação musical, MIDI, sinais de áudio, forma de onda, pitch, loudness e timbre
-
Fourier Analysis of Signals
- aborda sinais discretos e analógicos, ondas senoidais, funções exponenciais, transformada de Fourier, representação de Fourier, DFT, FFT e STFT
-
Music Synchronization
- aborda características cromáticas, programação dinâmica, dynamic time warping (DTW), alinhamento e interface do usuário
-
Music Structure Analysis
- aborda matriz de similaridade, repetição, thumbnail, homogeneidade, novidade, avaliação, precision, recall, F-measure, visualização e scape plot
-
Chord Recognition
- aborda harmonia, teoria musical, acordes, escalas, templates, hidden Markov model (HMM) e avaliação
-
Tempo and Beat Tracking
- aborda onset, novelty, tempo, tempogram, beat, periodicity, análise de Fourier e autocorrelação
-
Content-Based Audio Retrieval
- aborda identificação, fingerprint, correspondência de áudio, identificação de versões e cover song
-
Musically Informed Audio Decomposition
- aborda separação harmônica/percussiva, reconstrução de sinal, instantaneous frequency, fundamental frequency (F0), trajectory e nonnegative matrix factorization (NMF)
Referências e pacote
- Ao usar o material, recomenda-se citar o livro Fundamentals of Music Processing – Using Python and Jupyter Notebooks
- As referências relacionadas são as seguintes
- Meinard Müller, Fundamentals of Music Processing – Using Python and Jupyter Notebooks, 2nd edition, Springer Verlag, 2021
- Meinard Müller and Frank Zalkow, FMP Notebooks: Educational Material for Teaching and Learning Fundamentals of Music Processing, ISMIR 2019
- Meinard Müller and Frank Zalkow, libfmp: A Python Package for Fundamentals of Music Processing, JOSS 2021
- Meinard Müller, An Educational Guide Through the FMP Notebooks for Teaching and Learning Fundamentals of Music Processing, Signals 2021
- Alguns exemplos de código foram influenciados por outras coleções de código, especialmente LibROSA, Notes on Music Information Retrieval e o curso Fundamentals of Music Processing
1 comentários
Comentários do Hacker News
"Raspberry Pi for Dummies" tem um capítulo sobre SonicPi e PyGame
SonicPi é um ambiente de live coding para criação musical e educação e, pelo que entendi, é parecido com ChucK
PyGame aparentemente tem o
pygame.mixer, baseado no SDL mixerO engine de jogos Godot oferece suporte a efeitos de áudio: https://docs.godotengine.org/en/stable/tutorials/audio/audio...
O BespokeSynth tem um módulo
"script"que permite usar Python para sintetizar notas e acordes e transformar streams de áudio: https://github.com/BespokeSynth/BespokeSynth/blob/main/resou... ( https://github.com/BespokeSynth/BespokeSynth/blob/main/bespo... )Os notebooks do AllenDowney/ThinkDSP usam NumPy, freesound etc.: https://github.com/AllenDowney/ThinkDSP
Ajudou muito a construir um modelo mental para pensar sobre processamento de som, e este repositório também tem muito material bom: https://github.com/BillyDM/Awesome-Audio-DSP
O foco é música, mas também é bastante relevante para outros tipos de áudio, como fala ou sons ambientes
Tirando esse ponto, serve sim