A simple DAW made by Johan Solbakken.
For macos
cd dependencies
cd macos
brew bundle
git clone --recursive https://github.com/johansolbakken/soundstation
cd soundstation
mkdir build
cd build
cmake ..
make
cd soundstation
./soundstation
-
Audio Recording: Users should be able to record audio from microphones and other sources. This includes support for multiple audio tracks.
-
MIDI Support: Incorporate MIDI sequencing capabilities, allowing users to create and edit MIDI data for virtual instruments and external MIDI devices.
-
Audio Editing: Implement basic audio editing features like cut, copy, paste, trim, fade in/out, and time-stretching to manipulate audio clips.
-
Virtual Instruments: Include some basic virtual instruments like synthesizers, samplers, and drum machines. These instruments should be MIDI controllable.
-
Audio Effects: Include a set of basic audio effects like EQ, reverb, delay, compression, and distortion that users can apply to audio tracks.
-
Mixing and Routing: Enable users to mix and route audio and MIDI tracks, including the ability to adjust volume, pan, and send tracks to buses.
-
Automation: Implement automation capabilities for controlling parameters of virtual instruments and effects over time.
-
Arrangement View: Provide a timeline or arrangement view where users can arrange and sequence audio and MIDI clips to create complete songs.
-
Time Signature and Tempo Control: Allow users to set different time signatures and tempos within their projects.
-
Basic File Management: Enable users to save and load projects, import audio files, and export their creations in common audio file formats.
-
User Interface: Design an intuitive and user-friendly interface with features like drag-and-drop functionality, resizable windows, and customizable layouts.
-
Keyboard Shortcuts: Implement keyboard shortcuts to streamline workflow and improve efficiency.
-
Plugin Support: Support for third-party VST/AU plugins, which expand the DAW's capabilities with additional instruments and effects.
-
Basic Mixing and Mastering Tools: Include tools for adjusting levels, panning, and basic mastering processing to ensure the final mix sounds polished.
-
Performance Optimization: Optimize your DAW for efficient CPU and RAM usage to ensure it runs smoothly even on less powerful systems.
-
Basic MIDI and Audio Export Options: Allow users to export their projects as MIDI files or audio files in various formats.
-
Undo/Redo: Implement an undo/redo feature to let users easily correct mistakes.
-
Help and Documentation: Provide user documentation and possibly tutorial resources to help users understand and utilize the software effectively.
-
Project Backup: Automatic project backup and recovery options to prevent data loss.
-
Cross-Platform Compatibility: Consider developing your DAW to run on multiple operating systems (e.g., Windows, macOS, and Linux) for a wider user base.
(Generated by ChatGPT)