EnglishDeutschPortuguês (Brasil)

Allan Valim Ribeiro da Fonseca

Mestrando em Ciência da Computação Aplicada na Hochschule Fulda (Universidade de Ciências Aplicadas de Fulda). Desenvolvo jogos, protótipos de VR, robôs que andam sozinhos e ferramentas que transcrevem fala e documentos antigos. Esta página reúne o que já está pronto o bastante para mostrar.

Jogos e VR

Versões jogáveis no itch.io. Código-fonte dos projetos em Multimedia-Projects.

Unity · C# · 2024

IPA Quest

Um metroidvania em que você coleta os símbolos do Alfabeto Fonético Internacional. Cada símbolo toca o som que representa. Chefes, habilidades e um mundo persistente.

Devlog: 123456
Unreal Engine 5.5 · OpenXR · Blueprints

NewVRDrums

Jogo de bateria em VR no estilo de Rock Band. Fases de treino, bateria no ar, duas fases de precisão e mais de 30 levadas de estilos diferentes.

Devlog: 123
Unreal Engine 5 · Blueprints

LAGAGA

Clone de Galaga com um toque de roguelike: as três primeiras fases repetem os padrões do original; depois, a cada 10 inimigos abatidos você ganha um upgrade.

Versões: inicialfinal
C++23 · OpenGL 4.6 · 2025/26

OpenGL Game Prototype

Jogo de plataforma 2D escrito do zero para a disciplina de Computação Gráfica: iluminação feita à mão, armadilhas de espinhos e um editor de fases.

GPS Tour Run no navegador: uma grade de pontos numerados e os controles do tour
Pure Data → navegador · 2025

GPS Tour Run

Tour em áudio no estilo de Zombies, Run!: narração e efeitos sonoros disparam quando o corredor chega a determinadas coordenadas. Prototipado em Pure Data e portado para uma única página web, com modo de GPS real.

A caixa impressa em 3D sendo tocada com uma baqueta
Arduino · impressão 3D

Arduino Drumming

Um sensor piezoelétrico dentro de um casco de caixa impresso em 3D dispara um sample de caixa. Uma versão em hardware, em pequena escala, do NewVRDrums.

Software e robótica

ROS 2 · Nav2 · slam_toolbox

Autonomous Volksbot

Configuração e ajuste fino que permitem a um robô Volksbot de tração diferencial mapear um ambiente interno desconhecido e escolher sozinho os próprios destinos por exploração de fronteiras. Nenhum nó novo: o trabalho está na integração e nos parâmetros.

Testes: 123
Desembarque: uma página digitalizada ao lado da transcrição linha a linha
Python · FastAPI · Next.js · VLM/OCR local

Desembarque

Transcrição e conferência lado a lado de listas de passageiros de navios que chegaram ao Brasil (Arquivo Nacional, Santos e Rio). A letra cursiva é lida por modelos de visão de pesos abertos, que nunca afirmam o que a página não diz.

Tabela: dez modelos de fala para IPA numa palavra islandesa, PER e PFER de estreito a amplo
Python · benchmark só em CPU

Phonetic Eval

Benchmark reprodutível de nove configurações de modelos de transcrição de fala para IPA sobre os mesmos áudios, avaliadas pela taxa de erro de fones (PER) e pela taxa de erro de traços fonológicos (PFER). Código que acompanha o artigo de revisão listado abaixo.

App Workout: um treino de inferiores com os músculos trabalhados destacados no mapa do corpo
Kotlin · Jetpack Compose · Room

Workout

Aplicativo Android offline-first para registrar treinos, com ciclos de treino importáveis. Feito orquestrando o Claude; um bom retrato do que esse fluxo de trabalho produz.

Zbor no celular: uma frase em português sendo corrigida e depois a tradução em macedônio
Kotlin · Compose · whisper.cpp · NLLB-200 / ONNX Runtime · eSpeak NG · 2026

Zbor

Tradutor offline para Android, para conversar pessoalmente com quem só fala macedônio, em lugares sem sinal. Você fala ou digita, corrige o que o reconhecimento de fala entendeu errado antes de qualquer tradução, e a tradução é falada em voz alta — inclusive em macedônio, que o Google Tradutor não fala mais. Reconhecimento de fala, tradução e voz rodam no próprio celular; o modo frente a frente vira a metade de cima para a pessoa do outro lado da mesa. Macedônio, português, inglês e alemão.

DigSiViz: topologia de rede com três roteadores e taxas dos enlaces ao vivo
containerlab · gNMI

DigSiViz e DigSiNet

Visualização em tempo real de gêmeos digitais de rede (DigSiViz) e um ambiente de gêmeos digitais com várias instâncias irmãs (DigSiNet). Projetos da universidade dos quais participei.

Dois arquivos com setas indo nos dois sentidos
Redes

Transferência de arquivos P2P

Transferência simples de arquivos peer-to-peer.

Ferramentas

Casus: a primeira frase de César como blocos coloridos por caso
Svelte · Python · WORDS de Whitaker · 2026

Casus

Um leitor de latim clássico. O texto fica na página; suas palavras viram blocos coloridos por caso que você arrasta, fixa e ordena até a estrutura da frase aparecer. Terminações ambíguas são mostradas como ambíguas, nunca adivinhadas. Dicionário em inglês e português, funciona no celular.

Cinco modelos de fala para IPA na palavra islandesa “bið”, em colunas alinhadas, com a faixa do consenso embaixo e o símbolo disputado destacado
onnxruntime-web · ONNX · Web Audio · 2026

Fala para IPA

Grave uma palavra em qualquer língua e receba a transcrição fonética estreita do que foi dito, não do que o dicionário diz. Cinco reconhecedores de fones (PhoneticXeus, POWSM, ZIPA, MultIPA, WhIPA) rodam no navegador e votam; símbolos sem maioria ficam destacados, e tocar num deles reproduz aquele trecho da gravação. A leitura de cada modelo fica em colunas alinhadas acima do consenso; um editor para corrigir à mão segue o desenho do quadro do IPA. Exporta um .zip com o áudio, o IPA de cada modelo, os tempos e um TextGrid do Praat, e importa de volta. Interface em oito línguas. Nada sai do aparelho; os modelos são baixados uma vez (cerca de 1,3 GB para os cinco). Feito sobre o benchmark phonetic-eval.

Editor de partitura de bateria: um groove com virada, o tempo em foco ampliado acima da partitura inteira
Svelte · Web Audio · Bravura (SMuFL) · 2026

Partitura de bateria

Editor de partitura de bateria para o navegador do celular, mais rápido que escrever no papel. Escolha a figura, toque na pauta na altura do instrumento; cabeças, hastes, barras e pausas são desenhadas para você. Células divididas uma a uma, fórmula de compasso por compasso, % e repetições, cabeças e técnicas de bateria, e reprodução com bateria gravada, sintetizada ou muda com metrônomo. Em português, inglês e alemão.

PokeType com Fogo e Voador selecionados
Java 2020 → web

PokeType

Calculadora de fraquezas por tipo para batalhas competitivas. Ao contrário de uma tabela 2×2, aceita qualquer número de tipos defensivos, que é justamente o necessário quando um golpe como Maldição da Floresta acrescenta um terceiro.

Pesquisa e textos

  • A Comparative Survey and Evaluation of Language-Agnostic Speech-to-IPA Transcription Systems (2026). Levantamento de sete abordagens autossupervisionadas de transcrição de fala para IPA, com as públicas reavaliadas em um mesmo benchmark por PER e PFER. Remover os diacríticos de transcrição estreita reduz a PER em 9 a 22 pontos, enquanto a PFER quase não se altera. Código: phonetic-eval.
  • Arbeits- und Führungstechniken im interkulturellen Vergleich: Brasilien und Deutschland (2026, em alemão). Liderança, comunicação e gestão do conhecimento comparadas entre as duas culturas de trabalho.
  • Machine Learning for Particle Counting (trabalho de conclusão do bacharelado, 2025). Contagem automática de íons medidos por um contador de cintilação em um síncrotron: rotulagem algorítmica dos casos claros, rotulagem manual dos demais e redes treinadas com ambos. A pesquisa foi feita em um centro de pesquisa de íons pesados; a base de código de ML já existia, e minha parte foi o pipeline de rotulagem, a rotulagem manual e a avaliação. Sem a capa e as páginas de declaração. Meus dois scripts: thesis-code.
  • Replaying Recorded Traffic in Network Digital Twins: Storage Granularity, Window Alignment, and Fidelity (com F. Stumpf e S. Rieger, em preparação, 2026). Armazenamento e reprodução de dados de monitoramento de rede em bancos de dados de séries temporais para a visualização do DigSiViz. Código: digsiviz.
  • Virgílio Marão Gramático: Tradução de uma Paródia (monografia de conclusão de curso em Letras, Universidade Federal do Paraná (UFPR), 2013). Tradução parcial, do latim para o português, dos quatro primeiros epítomes de Virgílio Marão Gramático, paródia da gramática latina do século VII, com cotejo com Donato e com uma tradução italiana.

Animação e vídeo

Blender · 2023

Curta em 3D

Curta-metragem feito para uma disciplina. Modelei e animei o trecho de 0:30 a 1:00 e fiz a montagem final com as partes de todos.

Fotografia

Fotos de ambientes feitas na disciplina de fotografia digital, em 2023. Em sua maioria, fusões HDR de 3 a 5 exposições, em ISO 100 e f/8.