signal is a user-friendly music sequencer application developed using web technology, designed for seamless, cross-platform use.
- Cross-Platform Compatibility: Ensure accessibility across various devices and operating systems.
- Simple User Interface: Focus on an intuitive, non-complicated user interface for ease of use.
- MIDI Compatibility: Support for MIDI format to facilitate a wide range of music production needs.
signal is conceptualized not as a replacement for a Digital Audio Workstation (DAW), but as a complementary tool. It excels during the initial stages of music composition and sketching, allowing artists to quickly and efficiently lay down their musical ideas. To keep the focus on composition without distractions, signal comes with intentional limitations:
- Basic Sound Quality: Prioritizes simplicity over high-quality sound production.
- No Effects (Fx): Excludes sound effects to streamline the music creation process.
- Lightweight Design: Optimized for minimal resource usage, ensuring a fast and responsive user experience.
By setting these constraints, signal aims to offer a streamlined and distraction-free environment, ideal for artists focusing on the core aspects of musical composition and idea development.
- Open your terminal.
- Clone the repository by running:
git clone https://github.com/ryohey/signal.git
- Navigate into the project directory:
cd signal
- This project uses Firebase. If you haven't already, create a Firebase project at the Firebase Console.
- Once your Firebase project is set up, navigate to the project settings in the Firebase Console.
- Under the 'General' tab, you will find your Firebase configuration settings (API key, Auth domain, etc.).
- Keep this information handy as you will need it to set up your environment variables.
- Locate the
.env.example
file in the root directory of the project. - Copy the contents of
.env.example
into a new file named.env
in the same directory. - Replace the placeholder values in the
.env
file with your Firebase configuration values:FIREBASE_API_KEY
- Your Firebase API keyFIREBASE_AUTH_DOMAIN
- Your Firebase Auth domainFIREBASE_PROJECT_ID
- Your Firebase project IDFIREBASE_STORAGE_BUCKET
- Your Firebase storage bucketFIREBASE_MESSAGING_SENDER_ID
- Your Firebase messaging sender IDFIREBASE_APP_ID
- Your Firebase app ID
- In the project root directory, run the following command to install the required dependencies:
npm install
- To start the application, run:
npm start
- The application should now be running on http://localhost:3000.
As the creator of signal, I, @ryohey, welcome any form of contribution to this music sequencer application. Your support, whether it's through code improvements, bug fixes, or feedback, is invaluable in enhancing and evolving signal.
- Encountered a bug? Please use GitHub Issues to report it. Your reports are crucial in identifying and resolving problems, ensuring a smoother experience for everyone.
- I've set up a Discord community for signal users. It's a space for mutual support, sharing tips, and discussing music production. Your participation would be a wonderful addition to our growing community.
- signal is a personal project that I've been passionately developing. If you like what you see and wish to support my efforts, you can do so through GitHub Sponsors. Even the smallest contribution can make a significant difference and is deeply appreciated.
Your engagement, big or small, contributes greatly to the development of signal. Thank you for being a part of this journey, and I'm eager to see the impact of your contributions on this application.