Comments (5)
I have no doubt that multi-channel, 16-bit sound can be handled well within fixed-point, 32-bit operations. (The PlayStation or early consoles and sound cards had no floating point hardware, etc.)
To start, 32-bit dynamic range is really not needed for volume.
from m5unified.
@belm0
Thank you for your important input.
I apologize for any inconvenience caused by my ignorance of standard audio designs thinking.
I will review the volume settings in the next version and set the default channel volume to 255.
By the way, the volume value is calculated internally as a square ( volume ^ 2
) . In other words, the output varies quadratically.
Both master volume and channel volume.
Do you have any opinions or generalizations about this process?
from m5unified.
By the way, the volume value is calculated internally as a square ( volume ^ 2 )
I was going to say something about this requiring a 64-bit intermediate value for each sample unless some optimizations are done, but then I realized that the code is using a float buffer. I'm a little surprised because float is not very fast on ESP32, so I guess this is a luxury sound library 😉
from m5unified.
@belm0
Oh.. yes, I was reluctant to use floats, but I couldn't think of a better way.
In fact, I've been racking my brains because I later realized that the float operation is even slower in ESP32C3…😨
from m5unified.
This ticket can be closed as resolved. Suggesting to create a new ticket if there is a reason to keep track of looking into the use of integers instead of floats (as discussed a bit in comments to this ticket).
from m5unified.
Related Issues (20)
- Cracking sound on speaker using the "M5CoreS3-Esphome/voice-assistant" HOT 2
- M5Core2 Power LED HOT 8
- Customised buttons HOT 1
- M5Capsule cannot be detected corretly HOT 2
- Setting text color on LCD prevents breaks text output HOT 1
- M5 Core2 v1.1 power LED HOT 1
- changing font HOT 1
- Example "Display_Unicode" doesn't compile with M5Unified HOT 6
- can't ring the speaker of M5Stack CoreS3 with esp-idf HOT 5
- Unit Mini OLED display does not work with M5Stamp-Pico HOT 3
- S3 family compilation error: unused variable when compiler_warnings=all HOT 1
- H/W infomationにS3系新機種がない HOT 1
- AXP2101_Class.cpp not fully implemented HOT 2
- AtomS3 Button not defined in M5Unified.h HOT 4
- M5unified and boot/flash encryption HOT 2
- IDF 5.1/Arduino 3.0 support: legacy adc driver migration missing causing a boot crash if an ADC input is used HOT 3
- IDF 5.1/Arduino 3.0 support: M5.Speaker methods, camera input broken (CoreS3)
- M5Paper wakes too soon from deep sleep when touch wakeup is enabled - with solution HOT 2
- Minimalist configuration using M5Unified and BluetoothA2DPSink HOT 3
- M5CoreS3 speaker issue HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from m5unified.