Dawrio
An experimental DAW for Android
Install / Use
/learn @ParsleyJ/DawrioREADME
<a name="readme-top"></a>
<!-- PROJECT SHIELDS --> <!-- PROJECT LOGO --> <br /> <div align="center"> <a href="https://github.com/ParsleyJ/dawrio"> <img src="dawrio_logo.png" alt="Logo" width="128" height="128"> </a> <h3 align="center">Dawrio</h3> <p align="center"> An experimental DAW for Android <!-- <br /> <a href="https://github.com/ParsleyJ/dawrio"><strong>Explore the docs »</strong></a> --> <br /> <a href="https://github.com/ParsleyJ/dawrio/issues">Report Bug/Request Feature</a> </p> </div> <!-- ABOUT THE PROJECT -->About the project
Dawrio (Prototype) represents my personal week-long summer project (August 14th to 21st, 2023). Its primary objective was to explore and learn modern Android development technologies and practices, including Jetpack Compose and the MVVM architectural pattern. This was also my first experience in writing algorithms for digital signal processing with the Android AAudio framework.
In this one-week timeframe, I developed a prototype UI for the core technology of the app, the Voice Editor.
(WARNING: VOLUME)
https://github.com/ParsleyJ/dawrio/assets/3945726/9f558dcf-a8d3-411e-8c2c-3c64ad1b38fe
To ensure full functionality, I also created the audio engine and essential components for audio processing in C++.
In Dawrio, Voices are similar to what are usually referred as tracks in popular DAWs. Looking ahead, the app will support the creation and playback of multiple Voices in the same Dawrio Project. Each voice of will produce audio streams which can be mixed together to create music.
In Dawrio, a Voice is a set of interconnected Devices, each capable of transmitting signals to other devices. In this prototype version of the app, there are two types of signals - Modulation and Audio - and two types of devices - LFO (Low Frequency Oscillators) and SawOSC (Sawtooth-wave-based Oscillators).
Every device in the Voice editor displays adjustable parameters manipulated through dragging gestures on knobs. Some knobs (indicated by a distinct color at the center) can be configured to receive Modulation signals from other devices.
Even with just these initial two devices and their capabilities, Dawrio provides the means to synthesize some interesting sounds.
https://github.com/ParsleyJ/dawrio/assets/3945726/f4a13aaf-532d-4d47-a04a-fa4257e3f0aa
<!-- CONTRIBUTING -->Contributing
If you have a suggestion that would make this better,
simply open an issue with the tag enhancement.
License
Distributed under the MIT License. See LICENSE.txt for more information.
Contact
Giuseppe Petrosino - parsleyjoe@gmail.com
Project Link: https://github.com/ParsleyJ/dawrio
<p align="right">(<a href="#readme-top">back to top</a>)</p> <!-- MARKDOWN LINKS & IMAGES -->Related Skills
node-connect
343.3kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
92.1kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
343.3kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
343.3kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
