libretro / libretro/libretro-common

Audio input API extension

Open
#86 1 comment 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C
Stars
180
Forks
98
Avg merge
7h 16m
Merged PRs (30d)
1

Description

Some platforms support microphone input devices, the most well-known being the original Famicom controller. Emulators currently handle it via button presses, but true audio input could be made available through the API, which would allow emulators to at least implement some basic processing without having to handle capture themselves.

My initial thought is to simply provide raw audio frames with metadata (number of channels, frequency range, depth, etc.). Alternatively, resample/normalize input and provide data in a simpler representation, e.g. amplitude mean and extrema for each frame. I would like to open a discussion with this issue.

<Autechre> if we do add it hough
<Autechre> it has to become a Privacy feature
<Autechre> that people have to give permission to

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

This issue names no files, entry points, or tests and is framed as an open discussion. Start by locating the existing emulator input API and reviewing how microphone permissions would be represented. Before implementation, the project needs agreement on audio representation, metadata, resampling or normalization, and privacy permission behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
api, audio-video-rtc
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.