#rx_tape — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #rx_tape, aggregated by home.social.
-
-
-
It’s janky as heck but I actually used https://tape.r0b.io to record a jam of a track I’ve been working on.
At the moment you only have one tape, then you can eject it to trigger a web “share” or download. There’s a little hack to press “settings” to clear the tape.
It also turns out 5 minutes of 48kHz at 32bit is about 150MB 😅
-
It’s janky as heck but I actually used https://tape.r0b.io to record a jam of a track I’ve been working on.
At the moment you only have one tape, then you can eject it to trigger a web “share” or download. There’s a little hack to press “settings” to clear the tape.
It also turns out 5 minutes of 48kHz at 32bit is about 150MB 😅
-
Made a little interpolation thing for the #rx_tape to display a high-precision duration while you are recording.
Because the raw audio comes in in chunks of about seconds, the `<time-window>` element needs interpolate the actual duration. It uses an animation frame to update very fast and based on the speed the duration updates it can interpolate the timestamps in-between!
-
Made a little interpolation thing for the #rx_tape to display a high-precision duration while you are recording.
Because the raw audio comes in in chunks of about seconds, the `<time-window>` element needs interpolate the actual duration. It uses an animation frame to update very fast and based on the speed the duration updates it can interpolate the timestamps in-between!
-
Also if you want a sneak preview of the tape thing it’s now online here https://tape.r0b.io
You can turn it on and do some recording then download the wav by hitting the “eject” button to get some high quality audio!
Playback and changing tapes coming soon (tm)
-
Also if you want a sneak preview of the tape thing it’s now online here https://tape.r0b.io
You can turn it on and do some recording then download the wav by hitting the “eject” button to get some high quality audio!
Playback and changing tapes coming soon (tm)
-
So I’ve been getting project tape working on iOS as a #PWA and it’s working offline! However there is no “microphone permission” settings for PWAs on #iOS so everytime you open or refocus the app it demands permission to use the microphone again and again.
I can see why this is important for regular websites, but there is not option to always allow. If you install a native app you can go into Setting and pick “Always Allow” but not for 2nd class PWAs, or even prompt for that permission initially.
I think I’ve found a workaround, which I was surprised even works. If you open the app in Safari and do a magical incantation you can get it to always allow the safari version, which seems to effect the permission of the PWA version?!
The incantation:
1. Open web app in safari
2. Accept microphone permissions
3. Press the jigsaw/menu button next to the address
4. Press “…”
5. Scroll to the bottom
6. Change Microphone to “Always Allow”
7. Restart the PWA and 🤞 -
So I’ve been getting project tape working on iOS as a #PWA and it’s working offline! However there is no “microphone permission” settings for PWAs on #iOS so everytime you open or refocus the app it demands permission to use the microphone again and again.
I can see why this is important for regular websites, but there is not option to always allow. If you install a native app you can go into Setting and pick “Always Allow” but not for 2nd class PWAs, or even prompt for that permission initially.
I think I’ve found a workaround, which I was surprised even works. If you open the app in Safari and do a magical incantation you can get it to always allow the safari version, which seems to effect the permission of the PWA version?!
The incantation:
1. Open web app in safari
2. Accept microphone permissions
3. Press the jigsaw/menu button next to the address
4. Press “…”
5. Scroll to the bottom
6. Change Microphone to “Always Allow”
7. Restart the PWA and 🤞 -
Managed to get _some_ audio out of the tape recorder. it's making sound but it does not sound good .. yet.
-
Managed to get _some_ audio out of the tape recorder. it's making sound but it does not sound good .. yet.
-
I've gotten out a hex editor to start debugging my #JavaScript .WAV generator, it's business time
-
I've gotten out a hex editor to start debugging my #JavaScript .WAV generator, it's business time
-
[Project tape] Funnily enough my .wav generator written at 2am doesn’t work 🤷♂️
There are a few extra hurdles in #WebDev to record lossless audio, basically you can’t use the nice MediaRecorder API. You need to create a Worklet that runs in another thread to process the raw float32 audio as it comes in. I made one of those that chunks up the audio and posts it back to the main thread.
Then there is another bit that takes those chunks and writes them into IndexedDB (overdubbing existing recordings) in 1 second samples. This is all stereo too!
So you could record a bit, rewind then record over the first recording to create layering, maybe a bit silly but I’m all for the fun angle.
Once I get the .wav part working I can test that the raw data being recorded is actually what I think it is. Then there will be lots of fiddling to find nice chunk sizes that don’t slow down or freeze the app too much.
-
[Project tape] Funnily enough my .wav generator written at 2am doesn’t work 🤷♂️
There are a few extra hurdles in #WebDev to record lossless audio, basically you can’t use the nice MediaRecorder API. You need to create a Worklet that runs in another thread to process the raw float32 audio as it comes in. I made one of those that chunks up the audio and posts it back to the main thread.
Then there is another bit that takes those chunks and writes them into IndexedDB (overdubbing existing recordings) in 1 second samples. This is all stereo too!
So you could record a bit, rewind then record over the first recording to create layering, maybe a bit silly but I’m all for the fun angle.
Once I get the .wav part working I can test that the raw data being recorded is actually what I think it is. Then there will be lots of fiddling to find nice chunk sizes that don’t slow down or freeze the app too much.