Speech Chord - A voice search app for music chords.

279 visualizações

Publicada em

A functional prototype App that enables users to search for music chord by speech recognition. A brief introduction is made about chords and audio processing.
https://github.com/heitornascimento/speech-chord

Publicada em: Celular
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
279
No SlideShare
0
A partir de incorporações
0
Número de incorporações
15
Ações
Compartilhamentos
0
Downloads
3
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Speech Chord - A voice search app for music chords.

  1. 1. Speech Chord: Dicionário de Acordes HEITOR NASCIMENTO - heitornsouza@gmail.com
  2. 2. C9#11
  3. 3. Heitor Nascimento Engenheiro de Software no CESAR, tem experiência com as aplicações móveis e web. Já trabalhou com as tecnologias como: Android, Java Web, Ruby on Rails e Salesforce. Atualmente desenvolve aplicações webs utilizando plataformas na nuvem.
  4. 4. 1 Speech Chord
  5. 5. OQUEÉ? 1. Dicionário de acordes de guitarra; 2. Baseado em cifras; 3. Reconhecimento de voz para busca de acordes; 4. Plataforma Android.
  6. 6. 2 TEORIa musical
  7. 7. ACORDES Acorde é uma combinação de sons simultâneos (acorde harmônico) ou sucessivos quando arpejados, tocados individualmente (acorde arpejado) [CHEDIAK, 1986].
  8. 8. TIPOSDEACORDES 1. Maiores; 2. Menores; 3. Sétima da dominante; 4. Sétima diminuta. Modo Acorde Cifrado Maior C Menor Cm Sétima Dominante C7 Sétima Diminuta Cº
  9. 9. CIFRAS 1. Notação musical baseada em acordes; 2. Não fornece informação detalhada sobre a música como: tonalidade, ritmo, altura da notas(grave, médio, agudo) e duração da notas; 3. Popular entre iniciantes.
  10. 10. 3 APPS MUSICAIS
  11. 11. SIMILARES
  12. 12. RECURSOSDAAPLICAÇÃO SPEECHCHORD 1. Plataforma Android; 2. Reconhecimento de voz (Speech Recognizer API); 3. Analisador Léxico e Sintático; 4. Áudio estático.
  13. 13. RECONHECIMENTO DEVOZAPI 1. Speech Recognizer Service (no dialog); 2. Recognizer Intent (dialog approach).
  14. 14. RECONHECIMENTODE VOZCOMDIALOG PackageManager packageManager = getPackageManager(); Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); List<ResolveInfo> activities = packageManager.queryIntentActivities(intent,0); if (activities.size() == 0) { /* Aparelho Nao Suporta Reconhecimento de Voz */ Toast.makeText(this, getResources().getString(R.string.notSupported), Toast.LENGTH_SHORT).show(); } else { intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM); intent.putExtra(RecognizerIntent.EXTRA_PROMPT, getResources() .getString(R.string.speak)); intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, "pt-BR"); startActivityForResult(intent, REQUEST_CODE_CHORD); }
  15. 15. RECONHECIMENTODE VOZCOMDIALOG @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == REQUEST_CODE_CHORD && resultCode == RESULT_OK) { ArratList<String> resultList = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS ); startScan(); } }
  16. 16. RESULTADODABUSCA
  17. 17. RESULTADODABUSCA/ ANALISELÉXICA Criação de tokens; Identificar se um conjuntos de palavras estão contidos em um alfabeto (Gramática livre de contexto); Repassa os tokens para analisador sintático. CRIA IDENTIFICA REPASSA
  18. 18. ANALISELÉXICA 1. Criação de tokens 2. Identificar se um conjuntos de palavras estão contidos em alfabeto(Gramática livre de contexto). 3. Repassa os tokens para analisador sintático. <acorde> ::=<nota><modalidade> <nota> ::= A | B | C | D | E | F | G <modalidade> ::= m | λ
  19. 19. ANALISESINTÁTICA 1. Criação da tabela de símbolos; 2. Análise de sequência de tokens gerados pelo analisador léxico. <acorde> ::=<nota><modalidade> <nota> ::= A | B | C | D | E | F | G <modalidade> ::= m | λ
  20. 20. NAPRÁTICA! CODE! LET’S
  21. 21. SPEECHCHORD- DRAWBACK
  22. 22. AUDIOCHORD DRAWBACK 1. Arquivos estáticos; 2. Um arquivo por acorde.
  23. 23. PROCESSAMENTODE AUDIODIGITAL Propriedades do audio: 1. Pitch ou Frequência; 2. Amplitude; 3. Timbre; 4. Duração; 5. Articulação ou Envelope; 6. Difusão.
  24. 24. PROCESSAMENTODE AUDIODIGITAL Propriedades do audio: 1. Pitch ou Frequência; 2. Amplitude; 3. Timbre; 4. Duração; 5. Articulação ou Envelope; 6. Difusão.
  25. 25. PROCESSAMENTODE AUDIODIGITAL Como tocar um acorde digitalmente?
  26. 26. PROCESSAMENTODE AUDIODIGITAL Vamos para matemática!
  27. 27. PROCESSAMENTODE AUDIODIGITAL 1. Notas A B C D E F G A 2. Oitava A B C D E F G A
  28. 28. PROCESSAMENTODE AUDIODIGITAL 1. Notas A B C D E F G A 2. Oitava A B C D E F G A Em uma oitava há 12 semitones
  29. 29. PROCESSAMENTODE AUDIODIGITAL Em uma oitava há 12 semitones.
  30. 30. PROCESSAMENTODE AUDIODIGITAL Oitava A B C D E F G A Oitavas crescem na razão 2 A = 440 hz A-oitavado = 880 hz
  31. 31. PROCESSAMENTODE AUDIODIGITAL Como calcular a frequência de uma nota? Resolvam a equação: 2 = x¹²
  32. 32. Valor corresponde a um semitone. PROCESSAMENTODE AUDIODIGITAL Como calcular a frequência de uma nota? Resolvam a equação: x¹² = 2 x = ¹²√2 x= 1.0594631
  33. 33. n PROCESSAMENTODE AUDIODIGITAL Cálculo de Frequência: Fn = F₀ * (st) A = 440 hz. note = 440 * (1.0594631)² note = 493.88330653 ≈ 494
  34. 34. PROCESSAMENTODE AUDIODIGITAL
  35. 35. Formação de acordes: Tríade Maior A tríade maior é formada pela fundamental (1° grau), terça maior (3° grau) e quinta justa (5° grau) da escala maior. PROCESSAMENTODE AUDIODIGITAL
  36. 36. PROCESSAMENTODE AUDIODIGITAL Formação de acordes: Tríade Maior A tríade maior é formada pela fundamental (1° grau), terça maior (3° grau) e quinta justa (5° grau) da escala maior. C = 262 hz E = 262 * (1.0594631)⁴ = 330 hz G = 262 * (1.0594631)⁷ = 392 hz
  37. 37. Sintetizar Audio: PROCESSAMENTODE AUDIODIGITAL
  38. 38. Sintetizar Audio: Fn = A Sin(2𝜫 ft) PROCESSAMENTODE AUDIODIGITAL
  39. 39. http://developer.android.com/reference/android/media/ AudioTrack.html Audio Track API PROCESSAMENTODE AUDIODIGITAL
  40. 40. obrigad0! heitornsouza@gmail.com linkedin.com/in/heitornsouza

×