[FEAT] Allow negative playback speeds in SoundPlayer
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 48/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Tranquilla
- Stack tecnologico
- csharp
- Ambito
- audio-video-rtc
Direzione di ricerca
Inizia dalla proprietà SoundPlayer.PlaybackSpeed e dalla validazione che genera l’eccezione “Playback speed must be greater than zero”. Traccia il percorso di riproduzione per determinare come supportare l’audio inverso senza compromettere le velocità positive; il lavoro è completato quando i valori negativi riproducono l’audio all’indietro mentre la riproduzione in avanti esistente continua a funzionare.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Requirements
- I have searched the existing issues to ensure this feature has not already been requested.
- I have clearly described the problem and the proposed solution.
- I have considered alternative solutions.
1. Is your feature request related to a problem? Please describe.
I'm working on a realistic simulation of a vinyl record turntable for my app Vinyl Desktop.
The app is made using Godot with C# and is currently using FMOD Core as its audio engine. I wanted to try out SoundFlow as an open source replacement. Refactoring the audio system code was generally straightforward, but I ran into one major blocker.
Users can rewind (and scratch) the record while it is playing, making the audio play backwards. In FMOD I do this by changing the frequency of the sound channel to a negative value, like so:
_channel.setFrequency(_defaultFrequency * playbackSpeed)
Where _defaultFrequency is the original sample rate of the sound (eg: 48000Hz), and playbackSpeed can be either positive or negative.
But in SoundFlow trying to set the PlaybackSpeed property on an SoundPlayer to negative throws a Playback speed must be greater than zero. exception.
2. Describe the Solution You'd Like
Allow SoundPlayer.PlaybackSpeed to be set to a negative value, causing the audio to play backwards.
3. Describe Alternatives You've Considered
I also tried setting the AudioFormat.SampleRate of the SoundPlayer as a hack, but the Format property is read-only.
4. Proposed API (if applicable)
5. Benefits
This would allow SoundFlow to be used in a wider range of application, like for example a DJ application.
6. Potential Drawbacks/Challenges
No response
7. Additional Context
No response
- Lingua principale
- C#
- Stelle
- 520
- Fork
- 56
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di LSXPrime/SoundFlow
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
-
[BUG] WebRtcApmModifier: AEC silently does nothing - far-end (reverse) stream is never fed to APMApertabug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 52/100
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
-
question
Difficoltà 5/5 Più di una settimana Idoneità per principianti 30/100
-
bug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
Tutte le issue di LSXPrime/SoundFlow
Issue simili
-
ASP.NET Core container quickstart: `docker-run: debug` task sample is missing its closing braceAperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
microsoft/vscode-docs#10499 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
python triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
microsoft/semantic-kernel#14615 ·
I maintainer di solito rispondono entro 3 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
vzeol/DeployCraft#125 ·
I maintainer di solito rispondono entro 1 giorno