O TEMA DO FÓRUM ESTÁ EM MANUTENÇÃO. FEEDBACKS AQUI: ACESSAR

[HTML5] MIDI em navegadores modernos usando W3C Web Audio

Iniciado por Crixus, 25/05/2017 às 23:51

25/05/2017 às 23:51 Última edição: 05/03/2019 às 17:24 por Crixus
Muitos já devem ter notado que o formato MIDI deixou de ser usado à anos atrás e para Web somente o Internet Explorer ainda suporta.
Pois bem, durante esse tempo todo apareceram vários desenvolvedores Web com alternativas, mas nenhum que permitisse usar as MIDIs que conhecemos, e como fariamos isto então?

Bem um site com um API em JAVASCRIPT baseada em W3C Web Audio apareceu com uma ferramenta que realmente faz sentido e permite interpretar e repassar para o navegador qualquer arquivo midi.   :*-*:

Veja aqui os exemplos usando MIDIS de jogos de SUPERNINTENDO (Super Famicom):
https://rpgmaker.000webhostapp.com/webmaster/midi/

Site oficial: http://www.midijs.net

Mas fica a pergunta, "dependeremos de um site sempre?", claro, não é um simples javascript que vai resolver tudo, existem mais de 100 arquivos além do JS principal, bem, foi fácil baixar todos os arquivos de uma única vez, mas descobrir seus nomes e diretórios (PASTAS) não, enfim estão salvos na minha máquina.

Todos os arquivos JS necessários:


Todos os arquivos PAT necessários:





O melhor de tudo, roda em vários navegadores e Smartphones.

Por que não passei os arquivos todos para Download, pelo simples motivo que respeito o trabalho desse cara, e quero ver a possibilidade de pagar uma licença para usar o recurso, eu apenas baixei para testar no modo OFFLINE, como usa requesições funcionou somente no FF e IE em modo offline (file:///).

Tudo bem, todos os arquivo da API juntos pesam 80Mb, mas se levar em consideração ainda sim é menos da 1/2 (metada) dos arquivo padrões de áudio da RTP e permite o uso de várias músicas clássicas dos consoles antigos, claro que isso dependeria de um PLUGIN ou modificação do RpgMV para funcionar, mas ainda sim, ninguém conseguiu fazer antes e é perfeito pro meu novo sistema:
http://www.condadobraveheart.com/forum/index.php?topic=2522.0

Compatibilidade:
Navegadores que foram feitos os testes, segundo o desenvolvedor nem todos os navegadores foram testados, por que é bem provavelmente que os navegadores afrentes dos listados funcionaram.

Os que funcionaram:
Microsoft Windows

  • Chrome 30, 31, 54
  • Firefox 24 (fallback)
  • Firefox 25, 26, 50
  • Internet Explorer 7, 8, 9, 11 (fallback)
  • Microsoft Edge 38

MacOS

  • Safari 5.1.10 (fallback)
  • Safari 6.2.8
  • Safari 10.0.2
  • Google Chrome 56
  • Firefox 50

Linux

  • Firefox 25 on Ubuntu 13
  • Firefox 50 on Ubuntu 16
  • Chromium 30 on Ubuntu 13
  • Chromium 53 on Ubuntu 16

Android

  • Google Chrome 31 on Android 4.1.1
  • Google Chrome 31 (Standard Browser) on Android 4.4
  • Google Chrome 32 (Standard Browser) on Android 4.4
  • Mozilla Firefox 26.0.1 on Android 4.1.1

iOS

  • Safari on iPhone and iPad on iOS 7
  • Google Chrome 31 on iOS 7

Os que não funcionaram
Windows

  • Safari 5.1.7

Android

  • Standard browser on Android version 4.3 and previous versions
  • Chrome 26 on Android 4.1.2 on Galaxy S3, probably a Samsung specific Problem
(Vale lembrar que navegadores de ANDROID com WebView antigos podem executar MIDI sem essa API, através da tag aposentada "EMBED")

MacOS

  • Firefox 7.0.1

iOS

  • Safari on iOS 6, due to very limited Web Audio Api support and no available fallback

Pessoal, eu praticamente não mexi neste sistema, apenas o obtive de maneira informal, ainda estou tentando solucionar o problema da falta de looping.