What is the minimum sd card speed/simultaneous streams?

How important is the SD card read speed? What’s the minimum for a typical saber? How many simultaneous streams do I really need?

I’m trying to compare a teensy 4.1 vs. teensy 4.0 + external SD card reader. External SD is cheaper, and has better placement options. Internal is way faster, less soldering.

I’m assuming I really don’t need much, and that the external SD card is plenty fast for most sabers. I just want to get an idea of what (potentially) the drawbacks would be.

For data points, below I have 4.1 internal SD vs. 4.1 external SD for the “sdtest” command. 9 streams vs. 200. Does that matter? Does a saber work better with 191 additional extra streams, or would it essentially make no difference?

ext:

Time to open files: Average time: 9119.12 us
                                                                                                    
                                                                                                   :
                                                                                                   :
                                                                                                   :
                                                                                                   :
                                                                                                   :
                                                                                                   :
                                                                                                   :
                                                                                                   :
                                                                                                   :
                                                                                                   :
x100us              1                   2                   3                   4                   5
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0
Time to read blocks: Average speed: 825.53 kb/s, 9.36 simultaneous audio streams.
                                                                                                    
           ::                                                                                       
           ::                                                                                       
           ::                                                                                       
           ::                                                                                       
           ::                                                                                       
           ::                                                                                       
           ::                                                                                       
           ::                                                                                       
           :::                                                                                      
          .:::.....     .........                                                                   
x100us              1                   2                   3                   4                   5
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0

int:

Time to open files: Average time: 2730.44 us
                                                         .                                          
                                                         :                                          
                                                         :                                          
                                                         :                                          
                                                        ::                                          
                                                       .::                                          
                                                 :  : .:::                                          
                                                 :  : ::::                                          
                                                 : ::.::::                                          
                                                .: :::::::.                                         
                                                :: ::::::::                                         
x100us              1                   2                   3                   4                   5
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0
Time to read blocks: Average speed: 17995.52 kb/s, 204.03 simultaneous audio streams.
.                                                                                                   
:                                                                                                   
:                                                                                                   
:                                                                                                   
:                                                                                                   
:                                                                                                   
:                                                                                                   
:                                                                                                   
:                                                                                                   
:                                                                                                   
:.. .  .....       ...........                                                                      
x100us              1                   2                   3                   4                   5
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0

ProffieOS likes to be able to play 7 simultaneous sounds.
If you have 10 streams available, that means that in some cases, 70% of the CPU time will be spent reading from the SD card. If you have 9.36 simultaneous streams, it’s 75%. That may sound bad, but a Teensy4 is really fast, so the remaining 25% should be plenty to do everything else ProffieOS needs to do. For a slower chip, like a proffieboard, 9.36 simultaneous streams would limit the amount of time available for running styles quite a bit, which means that many modern super-complicated styles would not run smoothly.

1 Like

Thanks for the info, that makes sense. I’m still trying to figure out what path I’ll take, but good to know teensy 4 + external SD is a decent option.

1 Like