I actually sample a lot of YouTube videos and it’s a cat and mouse game since YouTube keeps disabling it. Eventually I’m going to have to just grab my old phone with a jack and run an aux cord…
Could maybe have a simpler UI by default with an option for advanced as most people would be consumers, not creators.
Could be fun to browse other peoples work if ranked by current popularity.
32 step sequences, A/B pattern banks, bpm control, save/load pattern functionality, and what I'm most proud of - a page to share your patterns and load in patterns that other people have made.
I'm a musician (https://sweetpablo.bandcamp.com/) and aspiring web developer (https://andrew-boylan.com/) just hoping to get people using this thing before my AWS free trial runs out! Try it out and add your pattern ~
See this page (https://youtubesequencer.com/about) for an example video.
I'm curious about a few technical aspects: 1. How do you handle YouTube video loading latency, especially at higher BPM? 2. Have you considered implementing multi-track functionality, using different YouTube videos as separate tracks? 3. Regarding the AWS free tier expiration, have you thought about using GitHub Pages + frontend caching to reduce server load?
As a suggestion, perhaps adding a "Featured Patterns" section showcasing the community's most popular rhythm patterns could help new users quickly discover the tool's potential.
1. I don't do anything special to handle loading latency, but it doesn't seem to be too much of an issue so far. At each sequencer step I issue the pad command to the YT.Player. If that part of the video hasn't loaded yet, then it doesn't always sound right at first, but Youtube seems to handle it pretty well by caching "where" you've been in the video.
2. Yes, there are 4 sequencers. At each step, for each active sequencer, I call an executeCommand function. Right now, just in a for loop. At one point I tried doing this with a Promise but I think the overhead of creating Promises so many times a second outweighed any benefit in performance and I scrapped it.
3. The AWS free tier expiring is actually a matter of time rather than server load. I have essentially 10 more months of free EC2 usage left. Server stuff is just the pattern sharing which is pretty lightweight, just storing and serving text files. I would have just used MongoDB which would have been free but I wanted to learn EC2, GraphQL, RDS.
4. I don't have a Featured Patterns page but you can go to the Share Patterns page and sort by Most Liked. I do agree that it would be a good idea though, perhaps as the default option of the sorting dropdown. But first I need to get the word out so the community will actually make some rhythm patterns ;)