☁️ Audio Renderer (YouTube audio) ✦ plays any YouTube audio in Scratch
by TimMcCool
Instructions
(09/02/2024) Made this project that can play any audio YOU upload to an external website: https://scratch.mit.edu/projects/864001370/ This is the first Scratch project that can download and play the audio of any YouTube video! Try it out: https://turbowarp.org/808060233?clones=Infinity&limitless&fps=120 - Double click green flag. - Recommended browser: Firefox (much better audio quality than Chrome for some reason) - youtu.be links are not supported. Use youtube.com links or just enter the video id. - The project might not play audio on all devices (reducing quality settings sometimes fixes this). Please comment whether the project worked for you! I highly recommend using TurboWarp for better quality. Run the project at 120 FPS and with infinite clones enabled (automatically done when using the above link). ➥ Notes: [space] to change visualizer style. Can be used by multiple people simultaneously (no hard-coded limit). When using this project on TurboWarp, select the "US East" cloud server (selected by default). Audio marked as aged-restricted won't be rendered by this. Other people can't hear the audio you're hearing. (scroll down for Safety Notice) Getting this to work flawlessly and efficiently took longer than expected. The backend code will be published on GitHub soon. I think there's still room for optimization in terms of sound quality. ➥ Explanations: There's a python bot listening to TurboWarp's cloud variables and detecting requests (made with my python library scratchattach). When a request is received, the audio is downloaded from YouTube (using pytube), cropped and converted to WAV (using ffmpeg), analyzed using ARSS (https://arss.sourceforge.net/) and then the resulting data is sent to the project using cloud variables. While rendering audio, the project plays 384 frequencies (ranging from 50 Hz to 12.8 kHz, on a logarithmic scale) concurrently. ARSS provides the volumes for each of these frequencies, these are received using complex math (FFTM / Fast Fourier transforms on multipoles - this goes way beyond anything I ever learned at school, luckily ARSS does the analysis almost fully automatically). The volumes are updated 30 or 60 times per second (depending on the selected audio framerate). This creates the sound you hear in the project. The backend is hosted on a hosting platform provided by @justablock and @Ryan_shamu_YT in a docker environment. The audio is only streamed because the analysis / synthesis process with ARSS is also streamed on the backend (the audio is cut in pieces that are analyzed seperately), this is to make sure you won't have to wait until the whole audio has been analyzed. The process is very ressource-intensive - to prevent the server from exceeding its ressource limits, some analysis processes will be queued when the server is under high load. The backend code will be published on GitHub soon. ➥ Safety notice: A Scratcher has raised concerns about whether this project is safe for Scratch. I take these concerns very seriously. This project doesn't render age-restricted videos, therefore it should be safe for Scratch. Scratch even has its own built-in video viewer (https://scratch.mit.edu/discuss/youtube/VIDEO-ID-HERE/) Furthermore, after all the project will only render the videos that you tell it to render (if they are not marked as age-restricted). It is NOT possible to share videos through this and it's also NOT possible to see what videos other users were watching. ➥ Credits: The project (the audio rendering and the creation of the freqs list) is based on this amazing Scratch project: - https://scratch.mit.edu/projects/791629208/ Dependencies used in the backend code: - ffmpeg - ARSS (https://arss.sourceforge.net/) - pytube @justablock and @Ryan_shamu_YT or providing the free hosting for the backend server c
Project Details
- Visibility
- Visible
- Comments
- Enabled
More Cool Projects
Xyric for Windows Delta
by cat_Eatacat
Interactive Ami Onuki But something is wrong
by wiggler174
Incredibox - Sprunbox _ The Qoobies remix
by thigdgh
PBS KIDS Lemonade but del sings boom lipsync
by NumberblockFaner303
The MouseHeadz Synchronized Dancing
by MaryannKitty11
Talking Tom & Ben News HD my talking tom version
by 6aqui20
FLUPPY BIRD /SUPER #GAMES #GAME
by Essa42561X1
Phantasm FNF (PLAYABLE) remix
by akoput5
Incredibox - Sprunki Sinner Edition phase 2 remix
by GriffpatchsTwinsTwin
8 loser dance
by pixelpusher14
ESCAPE!2 -脱出ゲーム-[#Games]
by akamaru_prg
[Tutoriel] Créer une liste cloud
by Theo_1er
잉크샌즈 전투 한국어(업데이트 또될예정)2.4
by BBQ1233421
Beat up Scratch Cat 3
by CLAX1212
Beat Up Barney but it’s less annoying (2)
by christywifi
海
by sanstomo999
Another Beat Up Test
by LogoTubeInScratch
Stumble Guys 2D Online [BETA]
by SalesianosSant1
ワイヤワールド / Wireworld
by AquaBalloon
Devourer Of Gods Vs Your Own Boss
by jasonzawtun
Hill Climb Racing mobile - 69 remix-8
by RedTigerMikina
BFB Contestant Generating Game Remix Chain (1) remix
by TheAwesomeMiles5
Beat Up scratchcatsonic (10)
by GooleSharty122
Windows Server 2012 R2 Crazy Error Maker remix
by wengos639