Fetching the latest programs, projects, and workspace data.
Find open source projects actively accepting contributors. Search repositories, filter by program milestones, difficulty tags, or tech stack.
Use our Orbit AI Matcher to find out! Get instant matching scores based on your developer skills, preferred frameworks, and contribution experience.
Convert your selected open-source project into a winning GSoC, LFX, or Outreachy application using Proposal Studio.
Currently, Mixxx uses PortAudio as a high level abstraction over audio APIs across all supported platforms, which only exposes the common subset of all those APIs, missing Linux specific features and conventions. This implementation will add Pipewire audio API support to Mixxx for Linux, listen for PipeWire events to support soundcard hotplug and update routing UI according to changes made in an external patchbay. It will also allow Mixxx to route audio to and from any source/sink. This proposal also attempts to achieve ALSA comparable latency with the PipeWire backend.
<p>Shaka Streamer is a tool that simplifies media transcoding and packaging by utilizing FFmpeg and Shaka Packager and managing the command line arguments that should be fed to them using simple and reusable configuration files.</p> <h3>The two features concerning this project:</h3> <ul> <li>Adding a <strong><code>PeriodConcat</code></strong> node that will make Shaka Streamer capable of producing multi-period DASH manifests using the single-period manifests outputted by Shaka Packager(which yet doesn't support multi-period DASH). A workaround can be done for HLS since it doesn't support periods, by using <strong><code>#EXT-X-DISCONTINUITY</code></strong> tag as a separator between different periods.</li> <li>Bundling hermetic copies of FFmpeg and Shaka Packager and allowing the user to specify whether Shaka Streamer should use the hermetic versions or the system-wide versions instead.</li> </ul>
<p>EAC3 is one the most popular codecs for audio used nowadays, even been used as a base in the latest versions of object-based codecs. However, backwards compatibility is important, not everyone can be on the edge of technology or just feels comfortable with what they have. This project aims to achieve an automatic re encode from EAC3 to AC3, whenever a S/PDIF connection is been use, taking in consideration that the EAC3 codec was develop on top of the AC3 codec, so in best case scenario only a partial decode/encode would be required.</p>
<p>This project aims to revamp VLC’s user interface for macOS and improve the user experience. The introduction of the Media Center will provide users with new ways to browse audio and video files/content. Even though there are good controls for current video playback, there is always a room for improvement, we are going to implement a single control system for both fullscreen and windowed playback modes. Additionally adding full support for the Macbook Force Touch trackpad will create new controls for seeking media.</p>
This project aims to address the limitations of the current C-based development of the open-source VideoLAN Client (VLC) media player in terms of maintainability, safety, and security. Specifically, the project focuses on porting the playlist module under the "demux" modules of VLC into Rust, a systems programming language that offers high efficiency, safety, and memory safety. The main aim is to provide a safe Rust implementation of the playlist module that can serve as a reference for other modules and projects along with setting up the necessary VLC core features in Rust required to implement VLC Rust modules.
<p>The aim of my project is to make the VLC app incorporate new iOS APIs and to make it more accessible for enabling application wide support of Voice Control, Voice over and more.</p>
This project aims to expand the Qt Integration Tests by adding tests for Keyboard navigation, playback controls, playlist management, and other UI elements. Improve CI integration in Linux for better stability, and explore running the tests on Windows for VLC 3.
<p>In this project, I will study WebGPU, the upcoming standard for exposing the capabilities of the GPU hardware in web browsers, and its shading language WGSL. I will then try to test WGSL, by using a mutation based approach. Designing custom mutators can be done by either using the bijection between SPIR-V and WGSL and the existing spirv-fuzz tools, or by studying WGSL in isolation and generating new LibFuzzer custom mutators that operate on WGSL directly or in the output generated by Tint, which is a compiler for WGSL.</p>
The project implements the Pitch Shift effect for the Mixxx DJ Software Application. The Pitch Shift effect raises or lowers the original pitch of an audio signal. Before the effect was implemented, the pitch could be changed only using the deck's rate slider separately. Unfortunately, the mentioned Pitch Shifter has no wide range and imposes significant restrictions on ways other effects can interact with the sound. In this project, the new Pitch Shift effect is introduced in the built-in effects, which can be used in the effect chain. It implements the wish "Add a Transpose / Pitch Shift effect" for the Mixxx software. Primarily, it allows a user to use a much wider range, than the Pitch Shifter for the deck player and, of course, other useful options like Formant Preservation or semitone chromatic scale mode. Due to the produced latency based on the pitch processing, the production delay has to be handled for the Dry/Wet and Dry+Wet modes to ensure that the original (dry) and processed (wet) signals overlap. The project is expanded by the implementation of the Group Delay handling for the effect chain.
We experience video through seeing and hearing it. To make that experience as immersive as possible, I am developing audio filters that push the auditory side to its full potential. By using SRS WoW 3D effects, the filter transforms standard stereo into a wider, surround-like soundstage. Building on that, the upmixer filter intelligently expands stereo audio into 5.1 surround. It analyzes how sound is balanced between channels to reconstruct a full surround experience that was originally hidden within the stereo track. The final deliverables include working individual VLC audio filter modules, documentation and a demo.
<p><a href="https://github.com/KhronosGroup/SPIRV-Tools" target="_blank">SPIRV-Tools</a> is a collection of tools to work on <em>SPIR-V</em> modules. One of these tools is <em>spirv-fuzz</em>. It applies <em>semantics-preserving transformations</em> to a <em>SPIR-V</em> module, that we call the <em>reference</em> module, to obtain a modified <em>variant</em> module. Theoretically, a <em>semantics-preserving transformation</em> should not change the behaviour of the code. In this way, the <em>reference</em> and <em>variant</em> modules can be run, and the outputs compared. The output is usually an image. If the images differ, this probably indicates a shader compiler bug. This is a specialised form of <em>fuzzing</em> that uses a technique called <em>metamorphic testing</em>.</p> <p>This project involved using the metamorphic testing approach to extend <em>spirv-fuzz</em> by adding new transformations to cover instructions and patterns of <em>SPIR-V</em> that were not previously covered by existing <em>spirv-fuzz</em> transformations. Also, the project used tools such as <a href="https://github.com/ChrisLidbury/CLSmith" target="_blank">CLSmith</a> and <a href="https://github.com/google/clspv" target="_blank">clspv</a> to improve <em>spirv-fuzz</em>.</p>
<p>This proposal aims to describe a set of transformations to implement for the spirv-fuzz tool. It provides a high-level overview of the transformations as well as specific implementation details that might be important to mention.</p>
The aim of this project is to provide an API in libVLC so users can embed the media player in their programs. Although there’s already a support for x11 and Windows API, wayland doesn’t work in the same way. In this project, I implemented a native wayland back-end enabling integration of VLC’s rendering capabilities into wayland-based applications. I wrote a simple demo that explains how this backend can be used and tested it on different wayland compositors.
I aim to revamp VLC's iOS User Interface and make it easier to use. This includes incorporating native Apple API's such as Local File access, Picture-in-Picture support, as well as a revamp of the UI elements within the VLC app to make the user's media more simple and easy to use (such as Audio file organizing and sorting).
VLC contains hand-written SSE2/SSSE3 assembly for performance-critical paths but has no automated correctness testing for them. This project integrates the checkasm framework into VLC's Meson build and CI pipeline, adds test coverage for all existing assembly routines, and implements new SIMD kernels for audio/video format conversions — with initial RISC-V vector groundwork.
<p>The VideoLAN organisation has transformed the digital audio and media space since its inception over 10 years ago. The ease of use of its forerunning product, VLC Media Player, has made it the number one choice for millions of users around the world for viewing and interacting with media. Yet, despite this VLC Media Player’s design is relatively outdated. Features should be readily obvious to users, not hidden in multiple menus so that they can be accessed quickly and easily.</p> <p>As an avid VLC Media Player fan, this forms the motivation behind my proposal. I propose to update VLC Media Player by leveraging Qt/QML to design a more modern and elegant interface. Specifically, I plan to redesign and implement a new welcome screen which is visible upon first opening of VLC Media Player. This includes the relevant Privacy and Metadata Consent passages for users as well as the ability to alter some commonly changed settings through an easily accessible modal.</p>
Mixxx currently allows assigning a single free-text genre to each track, which often leads to inconsistencies such as duplicate or fragmented categories (e.g., "Hip-Hop", "Hip Hop", "Hiphop"). This project proposes a complete rework of genre metadata handling, introducing three key features: local genre autocompletion with fuzzy matching, support for assigning multiple genres to a single track, and optional online genre suggestions using MusicBrainz and Discogs APIs. As a long-term extension, the project also explores a customizable genre mapping layer, enabling users to define how external genres are grouped or renamed according to personal preferences. Deliverables include: a redesigned genre database schema, enhanced UI for editing and filtering genres, API integration for genre lookups, and internal tools for mapping and translation of genre labels.
VLC’s 4.0 redesign on the Mac has clearly seen many of the same changes as its counterpart for Linux and Windows, but with a more native-feeling UI on macOS. However, there are also hints that this UI requires some additional work before the release and that this proposal could assist with. VLC on macOS, for example, does not quite look like other macOS applications yet, though it’s obvious that this is an objective of the Mac team. Navigation does not work the same way as other AppKit applications and is structured in an unconventional manner. Additionally, there are visual divergences from the Apple HIG. The proposal contains visual examples of this. This proposal therefore seeks to assist in the redesign of the macOS UI for VLC by altering the aspects of the current implementation that clash with established human interface guidelines in macOS applications. Specifically, this proposal suggests: 1. A redesign of the playlist to resemble collapsible sidebars used in other macOS applications (such as the Music app’s playlist sidebar) 2. Changes to navigation elements within main views, such as the aforementioned double tab bar 3. Attention to detail and ensuring visual polish (correct alignment of elements, proper use of separators and view coloration to distinguish between parts of the app Lastly, the current nightly version of the VLC player lacks the ability to control playback, volume, etc. from the video reproduction window. A set of playback controls such as QuickTime’s, which are inconspicuous and relocatable, would be a great addition to VLC and would make the transition for QuickTime users seamless. There would still be opportunities here for VLC’s branding to come through, mainly with the use of accent colours.
Demucs v4 is a state-of-the-art open-source music source separation model developed by Antoine Défossez. While it provides exceptional quality in separating audio into stems, it is currently implemented in PyTorch and therefore cannot be used directly in C++ applications or run efficiently on hardware accelerators through ONNX Runtime. This project aims to bridge that gap. Exporting the model to ONNX will allow Mixxx to integrate stem separation directly into its platform, opening up use cases like live stem manipulation, AI-assisted mixing, and educational visualization tools. Moreover, embedding the model in a minimal C++ command-line application will serve as a reference for further integration into audio applications.
This project aims to improve VLC media player's performance and reliability by rewriting some of its modules, particularly the demuxers, in Rust programming language. By leveraging Rust's speed, safety, and reliability, the project seeks to enhance VLC's error-handling capabilities and improve its stability. The project will involve analysing existing modules, designing and implementing new Rust-based demuxers, integrating them into VLC, and thoroughly testing them.
<p>VLC has been a very functional media player with great UX since its very beginning. However, it's UI has not been changed much and does not look great on modern systems. After many years of development, VLC has been improved much but its legacy UI remained almost the same. Rivals of VLC currently have a much more modern look and this makes VLC fall behind of its rivals in terms of visual beautiness.</p> <p>The ultimate goal is to make VLC stand out from its rivals regarding its look. This project consists of a set of contributions to VLC Qt GUI module for the purpose of renovating its UI / UX and helping transition from the old UI to the new QML based UI. The project is mostly focused on Playlist and Miniplayer parts of the new proposed UI.</p>
The VLC interface is quite outdated on Linux and Windows. It has a lot of features, but some are not properly exposed. Scope of the tasks to do: Use the new designs shared on the mailing list, and help developping part of those, using Qml. This new interface is simpler, more user friendly, and has a better "media center" feel into it. It requires integration with the media library and with the current interface. Qml is the technology needed to improve the current UI.