A web version RetroVibrato that it in turn is based off of jsfxr.
This app generates arcade sounds from the 70s and 80s.
Rev 2
flutter create --platforms web .
Some of the json files have what appear to be invalid values, for example, JettsonSaucer.json has negative envelope Attack and Decay but the range is from 0->1.
I believe this was from the Mutate() and Random generators. It has code that could potentially generate negative values, for example:
Mutate is:
i.baseValues.attack += frnd(0.1) - 0.05
Random is:
o.baseValues.attack = cube(rndr(-1.0, 1.0))
One kind of fix would be to abs(add 0.5) to anything < 0.
The fix for Random would be to check what the range is and use that instead of hardcoded (-1,1)
- Generators
- Wave Forms
- Volume slider
- Save
- sfxr
- wave
- Load
- sfxr
- Sample Rate
- 44 KHz (default)
- 22 KHz
- 11 KHz
- 5.5 KHz
- Sample Size
- 16 bits
- 8 bits (default)
- About
-
☑ Settings sliders
-
☑ State management. Used Provider
-
☑ Load json and updating GUI
-
☑ Saving json and updating GUI
-
☑ Clicking a slider label resets it to Reset value
-
☑ Add Generator selector (top)
-
☑ Add Wave form selector (under top)
-
☑ Add volume slider (next)
-
☑ Add SampleSize
-
☑ Saving wave file via download
-
☑ Porting generator algorithm from Ranger-Go-IGE
-
☑ Implement play button
-
☑ Add Help popup
-
☑ Complete Auto play (optiona, on by default)
-
☒ Implement 22KHz, 11KHz,5.5KHz sample rate options
-
☒ Implement 16 bit sample size option
-
☒ Add exception handling (optional)
-
☑
-
☒
mime types:
https://pub.dev/packages/audiofileplayer audiofileplayer 2.0.1
https://stackoverflow.com/questions/67078045/flutter-just-audio-package-how-play-audio-from-bytes
Streaming audio in Flutter with Just Audio (unfortunately it is behind medium's paywal)
ByteBuffer buffer = Uint8List(8).buffer;
ByteData bdata = ByteData.view(buffer);
bdata.setFloat32(0, 3.04);
int huh = bdata.getInt32(0);
MasterVolume = 1