Smule adota o Oboe do Google para melhorar a qualidade da gravação e as taxas de conclusão
[ad_1]
Postado pela equipe Smule Engineering: David Gayle, Chris Manchester, Mark Gills, Trayko Traykov, Randal Leistikow, Mariya Ivanova.
Sumário executivo
Como o aplicativo de canto mais baixado de todos os tempos, Smule A Inc. vem investindo no Android para melhorar a qualidade geral do áudio e, mais especificamente, para melhorar a latência mais baixa, ou seja, permitir que os cantores ouçam suas vozes no fone de ouvido enquanto tocam. As equipes especializadas em Áudio e Vídeo destinaram uma parte significativa de 2021 para fazer as mudanças necessárias para converter o aplicativo Smule usado por mais de dez milhões de usuários do Android da API de áudio OpenSL para a biblioteca de áudio Oboe, permitindo um aumento de aproximadamente 10% taxa de conclusão da gravação.
Introdução
A Smule Inc. é líder em karaokê, com um aplicativo que ajuda milhões de pessoas a cantar suas músicas favoritas e compartilhar apresentações diariamente. O aplicativo Smule vai além do karaokê tradicional, focando na cocriação, oferecendo aos usuários a oportunidade única de compartilhar músicas e colaborar com amigos, outros cantores da plataforma e seus artistas musicais favoritos. A qualidade do áudio é primordial e, em 2020, a equipe da Smule viu potencial para aprimorar a experiência no Android.
A implementação OpenSL herdada da Smule não generation adequada para alavancar o {hardware} ultrarrápido de novos dispositivos, ao mesmo pace em que suportava os diversos dispositivos em seu mercado mundial. A equipe de desenvolvimento da Smule determinou que a atualização do sistema de áudio generation uma melhoria necessária e lógica.
Estratégia de lançamento do oboé
A Smule se deparou com dois caminhos possíveis para melhoria: direcionamento direto AÁudio, uma API de áudio Android C de alto desempenho introduzida no Android O projetada para aplicativos que exigem baixa latência ou Oboé, que envolve AAudio e OpenSL internamente. Após avaliação cuidadosa, a equipe de desenvolvimento da Smule optou pela base de código fácil de usar do Oboe, ampla compatibilidade de dispositivos e suporte robusto da comunidade, que alcançou a menor latência e fez o melhor uso do áudio nativo disponível.
A conversão para Oboé representou uma evolução arquitetônica e tecnológica significativa. Como resultado, a Smule abordou o processo de implantação de forma conservadora, com uma liberação planejada e sluggish que começou com uma pequena seleção de modelos de dispositivos para validar a qualidade. Semana após semana, a equipe habilitou mais dispositivos (revertendo um número limitado de dispositivos que apresentavam problemas no Oboe de volta ao OpenSL). Essa abordagem incremental e metódica ajudou a minimizar o risco e permitiu que a equipe de engenharia lidasse com problemas específicos do dispositivo à medida que ocorriam.
Melhorando a experiência de qualidade de áudio
O Smule mudou para o Oboe para ajudar a melhorar a experiência do aplicativo. Eles esperavam reduzir drasticamente as falhas de reprodução de áudio, eliminar problemas como eco e estalos durante a gravação e reduzir a latência de áudio. UMA artigo recente no weblog Android Builders mostra que a latência média dos vinte dispositivos mais populares diminuiu de 109 ms em 2017 para 39 ms hoje usando o Oboe. Enquanto um atraso de monitoramento de 109ms é ouvido como um eco distinto que intervene no canto ao vivo, 39ms está abaixo do limite aceitável para aplicações em pace actual. As latências dos principais dispositivos hoje estão todas a 22ms umas das outras, e essa consistência é uma grande vantagem.
O aumento na taxa de conclusão de gravação que o Smule viu usando o Oboe é provavelmente devido a essa latência mais baixa, permitindo que os cantores ouçam suas vozes no fone de ouvido enquanto tocam com os efeitos de áudio de classe mundial do Smule aplicados, mas sem eco.
Usando um portal colaborativo eficaz do GitHub dedicado a Oboé, a equipe do Google desempenhou um papel significativo na integração do Smule com o Oboe, fornecendo informações e suporte importantes. Trabalhando juntas, as duas equipes conseguiram lançar a maior implantação do Oboe até hoje, alcançando milhões de usuários ativos. A equipe do Smule contribuiu para resolver alguns problemas de código do Oboe, e a equipe do Google coordenou com certos fabricantes de dispositivos móveis para melhorar ainda mais a compatibilidade do Oboe.
A qualidade do áudio é de extrema importância para nossa comunidade de cantores, e somos gratos por nosso compromisso compartilhado em oferecer a melhor experiência possível, além de capacitar a criação musical no Smule. – Eric Dumas, CTO da Smule.
Dada a enorme escala da operação, generation herbal enfrentar problemas específicos do dispositivo. Um exemplo notável foi uma funcionalidade interna do sistema operacional que injetava efeitos sonoros de eco no fluxo de áudio bruto, o que impedia o Smule de aplicar corretamente seus próprios algoritmos DSP e filtros de áudio patenteados. A equipe do Google veio em socorro, fornecendo atualizações e patches rápidos para a biblioteca. O processo de relatar problemas do Oboe foi direto, bem definido e tratado em pace hábil pela equipe do Google.
O Smule superou outros obstáculos específicos do dispositivo juntos, incluindo erros com chipsets específicos. Por exemplo, quando o Oboe estava pedindo entrada de microfone mono, alguns dispositivos forneceram entradas estéreo misturadas em uma entrada de microfone mono falsa. A Smule criou um price ticket em GitHub do Oboé, fornecendo exemplos e reproduzindo o problema usando o aplicativo testador Oboe.
O desenvolvido pelo Google Aplicativo testador de oboé foi uma ferramenta útil na resolução e identificação de problemas ao longo da implementação. Ele se mostrou especialmente útil para testar muitos dos recursos do Oboe, AAudio e OpenSL ES, além de testar dispositivos Android, medir latência e falhas e muito mais. O aplicativo oferece uma infinidade de recursos que podem ajudar a simular praticamente qualquer configuração de áudio. O testador Oboe também pode ser usado em testes automatizados, iniciando-o a partir de um shell script usando um Android Intent. A Smule confiou fortemente nos testes de automação, dado o grande número de dispositivos cobertos pela integração.
Uma vez que o Smule estava confiante de que os problemas específicos do dispositivo foram resolvidos e o áudio do Oboe estava estável o suficiente, o Smule mudou para uma abordagem mais ampla de distribuição de testes divididos. Em apenas algumas semanas, a Smule aumentou a população usando o Oboe de 10% para 100% por cento dos dispositivos de sucesso, o que só foi possível devido ao comments positivo e às métricas verdes de KPI que o Oboe recebeu continuamente ao longo da jornada de lançamento.
Os resultados falam por si. Os usuários do Smule no Oboe estão cantando mais – é simples assim. Gravações exclusivas de karaokê e junções de efficiency, ou duetos, aumentados por uma enorme 8,07%, Uploads únicos em 3,84% e apresentações de músicas foram concluídas por 4,10% mais. A Smule observou no terceiro e 4to trimestres de 2021 um aumento na taxa de conclusão de gravação em mais de 10%.
Usando o Firebase Crashlytics ferramenta do Google, o Smule viu um declínio nas falhas relacionadas ao áudio desde o lançamento completo do Oboe, tornando o aplicativo mais estável – mesmo em dispositivos de baixo custo. A equipe dedicada de suporte ao cliente da Smule ficou entusiasmada em relatar um 33% redução de reclamações relacionadas a áudio, incluindo problemas como voz e eco de robôs (não intencionais).
A decisão de mudar para o Oboe valeu a pena. O aplicativo está funcionando melhor do que nunca e o Smule está bem equipado para enfrentar novos avanços em áudio e {hardware} com a tecnologia atualizada. Mais importante ainda, os usuários do Smule estão felizes e fazendo música, que é o que importa.
[ad_2]
Fonte da Notícia



