Yep - fixed.
FILTER_CUTOFF_FREQUENCY is the cutoff frequency.
If I remember correctly, this is the frequency at which 50% of the sound gets filtered out.
Since it’s a high-pass filter, lower frequencies gets filtered out more, higher frequencies gets filtered out less. The slope of the curve is determined by FILTER_ORDER. The default FILTER_ORDER is currently 8, but I don’t think we’ve done enough tests to know if that is the right default value or not.
So I did some rather subjective testing of the FILTER_CUTOFF_FREQUENCY by generating white noise for hum, clsh, blst, etc. and applying a different low-pass filter to each with a 48dB per octave roll-off in order to hopefully create a hum with 100hz and below tone, blst with 150hz and below, etc. I adjusted the volume on my saber subjectively to about 850 with a KR 28mm 4ohm 3W speaker. I then adjusted the cutoff frequency to 100, 200, 400, and 600 with a filter order of 8, 4, and 2. Sorry that it’s rather subjective, but I was able to mostly cut out my 100hz hum white noise while still hearing my 150hz blst file with a filter cutoff frequency set at 600 and the filter order set at 4 (though I didn’t really test the filter order much at all). So it definitely is doing something. Thanks again!
The point of the filtering though is that our speakers generally can’t handle the lower frequencies. By filtering out those frequencies, we can give the speakers and the amplifier a break while not actually loosing anything. Of course, if being nice to amplifiers is not your cup of tea, then you can raise the volume instead…
what are you looking to test the audiolibrary?
I think it’s reasonable to say that the AudioLibrary gets tested every time someone uses edit mode. If we wanted to be more through, we could actually validate that the sound files that we have matches what the audio library code says, but that seems like overkill.
is there anything else I can test using my one button lightsaber? say for example the interrupt i2c I did see that kick in when I was using the serial monitor. is that a confirmation?
The i2c stuff is tested every time you use the saber.
How about the accent swing file selection?
Or use subblade to test if NUM_BLADES == 20 works?
There are also many styles and functions to test.
I was looking at TrExtend. Is it fair to say
TrExtend<Int<2000>,TrFade<500>>
is equivalent
TrConcat<TrFade<500>,COLOR,TrDelay<2000>
?
Pretty much. Assuming COLOR matches the transition end color.
It was specifically made to avoid having to use TrConcat<> in some places where you don’t know what the end transition color is.
ACCENT SWING, I can test it, the filename syntax is?
We have accent swings already, the new thing is that you can now set it up so that it picks which accent swing sound to use based on how strong the swing is. There are two new variables in conf.conf that controls this:
ProffieOSMinSwingAcceleration
ProffieOSMaxSwingAcceleration
If both variables are set, and max > min, then the swing acceleration will be used to select which accent swing file to play. Stronger swings means higher swing numbers. Also, I recommend not trying to mix this up with accent slashes, as that will make things a bit weird.
To test it, you would want to sort your swing sounds by “strength”, or replace the accent slahes with sounds that make it easy to tell which of the sounds it’s playing. Then set the min/max to something reasonable, like maybe 100 and 300 and see if it works like expected.
HI Proffezorn which file is that conf.conf?
config.ini in the font directory
as per your recommendations I changed the config.ini to the following settings.
ProffieOSMinSwingAcceleration=100.0
ProffieOSMaxSwingAcceleration=300.0
the serial monitor read out reflects the increasing swings which was ordered by size and cross referenced by length (betwen 280 to 380 ms), i also listened to the swng sounds on the font folder.
23:19:01.930 -> Welcome to ProffieOS, type 'help' for more info.
23:19:05.132 -> Saving Current Preset
23:19:05.232 -> Failed to open: presets.ini
23:19:05.232 -> Failed to open: presets.tmp
23:19:05.232 -> DISPLAY: Preset: 1
23:19:05.265 -> Scanning sound font: Bal Venos done
23:19:05.397 -> Scanning sound font: comun done
23:19:05.464 -> Scanning sound font: common done
23:19:05.530 -> Activating polyphonic font.
23:19:05.563 -> Activating SmoothSwing V2
23:19:05.563 -> Accent Swings Enabled.
23:19:05.563 -> Polyphonic swings: 18
23:19:05.563 -> Monophonic swings: 0
23:19:05.563 -> Accent Slashes Enabled.
23:19:05.563 -> Polyphonic slashes: 10
23:19:05.563 -> unit = 0 vol = 0.50, Playing Bal Venos/font.wav
23:19:05.563 -> channels: 1 rate: 44100 bits: 16
23:19:09.710 -> Amplifier off.
23:19:10.672 -> Unmounting SD Card.
23:19:10.870 -> Ignition.
23:19:10.904 -> unit = 0 vol = 0.50, Playing Bal Venos/preon.wav
23:19:10.904 -> channels: 1 rate: 44100 bits: 16
23:19:15.749 -> unit = 0 vol = 0.00, Playing Bal Venos/hum/hum01.wav
23:19:15.749 -> channels: 1 rate: 44100 bits: 16
23:19:15.749 -> unit = 1 vol = 0.50, Playing Bal Venos/out/out02.wav
23:19:15.749 -> channels: 1 rate: 44100 bits: 16
23:19:15.749 -> humstart: 1800
23:19:15.749 -> unit = 2 vol = 0.50, Playing Bal Venos/swingl/swingl05.wav
23:19:15.749 -> channels: 1 rate: 44100 bits: 16
23:19:15.749 -> unit = 3 vol = 0.50, Playing Bal Venos/swingh/swingh05.wav
23:19:15.782 -> channels: 1 rate: 44100 bits: 16
23:19:18.205 -> Battery voltage: 0.15
23:19:19.863 -> unit = 2 vol = 0.00, Playing Bal Venos/swingl/swingl02.wav
23:19:19.863 -> channels: 1 rate: 44100 bits: 16
23:19:19.863 -> unit = 3 vol = 0.00, Playing Bal Venos/swingh/swingh02.wav
23:19:19.863 -> channels: 1 rate: 44100 bits: 16
23:19:20.859 -> unit = 3 vol = 0.00, Playing Bal Venos/swingl/swingl08.wav
23:19:20.859 -> channels: 1 rate: 44100 bits: 16
23:19:20.859 -> unit = 2 vol = 0.00, Playing Bal Venos/swingh/swingh08.wav
23:19:20.859 -> channels: 1 rate: 44100 bits: 16
23:19:21.689 -> Playing Bal Venos/swingh/swingh08.wav
23:19:21.689 -> channels: 1 rate: 44100 bits: 16
23:19:23.017 -> unit = 3 vol = 0.00, Playing Bal Venos/swingl/swingl02.wav
23:19:23.017 -> channels: 1 rate: 44100 bits: 16
23:19:23.017 -> unit = 2 vol = 0.00, Playing Bal Venos/swingh/swingh02.wav
23:19:23.017 -> channels: 1 rate: 44100 bits: 16
23:19:24.675 -> Playing Bal Venos/swingh/swingh02.wav
23:19:24.675 -> channels: 1 rate: 44100 bits: 16
23:19:24.841 -> unit = 2 vol = 0.00, Playing Bal Venos/swingl/swingl04.wav
23:19:24.841 -> channels: 1 rate: 44100 bits: 16
23:19:24.841 -> unit = 3 vol = 0.00, Playing Bal Venos/swingh/swingh04.wav
23:19:24.841 -> channels: 1 rate: 44100 bits: 16
23:19:26.665 -> unit = 3 vol = 0.00, Playing Bal Venos/swingl/swingl02.wav
23:19:26.665 -> channels: 1 rate: 44100 bits: 16
23:19:26.665 -> unit = 2 vol = 0.00, Playing Bal Venos/swingh/swingh02.wav
23:19:26.665 -> channels: 1 rate: 44100 bits: 16
23:19:27.794 -> unit = 3 vol = 0.00, Playing Bal Venos/swingl/swingl05.wav
23:19:27.794 -> channels: 1 rate: 44100 bits: 16
23:19:27.794 -> unit = 2 vol = 0.00, Playing Bal Venos/swingh/swingh05.wav
23:19:27.794 -> channels: 1 rate: 44100 bits: 16
23:19:28.424 -> EVENT: Push ON millis=130259
23:19:28.424 -> unit = 1 vol = 0.50, Playing Bal Venos/force03.wav
23:19:28.424 -> channels: 1 rate: 44100 bits: 16
23:19:28.823 -> EVENT: Push ON millis=130660
23:19:28.856 -> unit = 3 vol = 0.00, Playing Bal Venos/swingl/swingl06.wav
23:19:28.856 -> channels: 1 rate: 44100 bits: 16
23:19:28.856 -> unit = 2 vol = 0.00, Playing Bal Venos/swingh/swingh06.wav
23:19:28.856 -> channels: 1 rate: 44100 bits: 16
23:19:29.486 -> EVENT: Push ON millis=131315
23:19:29.917 -> unit = 2 vol = 0.00, Playing Bal Venos/swingl/swingl01.wav
23:19:29.917 -> channels: 1 rate: 44100 bits: 16
23:19:29.917 -> unit = 3 vol = 0.00, Playing Bal Venos/swingh/swingh01.wav
23:19:29.917 -> channels: 1 rate: 44100 bits: 16
23:19:30.582 -> EVENT: Clash ON millis=132425
23:19:30.582 -> unit = 4 vol = 0.50, Playing Bal Venos/clsh/clsh05.wav
23:19:30.615 -> channels: 1 rate: 44100 bits: 16
23:19:30.913 -> unit = 2 vol = 0.00, Playing Bal Venos/swingl/swingl02.wav
23:19:30.946 -> channels: 1 rate: 44100 bits: 16
23:19:30.946 -> unit = 3 vol = 0.00, Playing Bal Venos/swingh/swingh02.wav
23:19:30.946 -> channels: 1 rate: 44100 bits: 16
23:19:34.464 -> unit = 3 vol = 0.00, Playing Bal Venos/swingl/swingl08.wav
23:19:34.464 -> channels: 1 rate: 44100 bits: 16
23:19:34.464 -> unit = 2 vol = 0.00, Playing Bal Venos/swingh/swingh08.wav
23:19:34.497 -> channels: 1 rate: 44100 bits: 16
23:19:35.493 -> unit = 3 vol = 0.00, Playing Bal Venos/swingl/swingl04.wav
23:19:35.493 -> channels: 1 rate: 44100 bits: 16
23:19:35.493 -> unit = 2 vol = 0.00, Playing Bal Venos/swingh/swingh04.wav
23:19:35.493 -> channels: 1 rate: 44100 bits: 16
23:19:36.190 -> Playing Bal Venos/swingl/swingl04.wav
23:19:36.190 -> channels: 1 rate: 44100 bits: 16
23:19:36.522 -> EVENT: Swing ON millis=138345
23:19:36.589 -> unit = 1 vol = 0.50, Playing Bal Venos/slsh/slsh04.wav
23:19:36.589 -> channels: 1 rate: 44100 bits: 16
23:19:36.821 -> unit = 2 vol = 0.00, Playing Bal Venos/swingl/swingl03.wav
23:19:36.821 -> channels: 1 rate: 44100 bits: 16
23:19:36.821 -> unit = 3 vol = 0.01, Playing Bal Venos/swingh/swingh03.wav
23:19:36.821 -> channels: 1 rate: 44100 bits: 16
23:19:36.954 -> EVENT: Swing ON millis=138781
23:19:37.086 -> unit = 1 vol = 0.50, Playing Bal Venos/slsh/slsh01.wav
23:19:37.086 -> channels: 1 rate: 44100 bits: 16
23:19:37.352 -> EVENT: Swing ON millis=139173
23:19:37.385 -> unit = 4 vol = 0.50, Playing Bal Venos/slsh/slsh08.wav
23:19:37.385 -> channels: 1 rate: 44100 bits: 16
23:19:37.783 -> EVENT: Swing ON millis=139601
23:19:38.049 -> unit = 3 vol = 0.01, Playing Bal Venos/swingl/swingl05.wav
23:19:38.049 -> channels: 1 rate: 44100 bits: 16
23:19:38.049 -> unit = 2 vol = 0.00, Playing Bal Venos/swingh/swingh05.wav
23:19:38.049 -> channels: 1 rate: 44100 bits: 16
23:19:38.181 -> Battery voltage: 0.14
23:19:38.181 -> EVENT: Swing ON millis=140022
23:19:38.248 -> unit = 1 vol = 0.50, Playing Bal Venos/slsh/slsh06.wav
23:19:38.248 -> channels: 1 rate: 44100 bits: 16
23:19:38.314 -> EVENT: Clash ON millis=140155
23:19:38.314 -> unit = 4 vol = 0.50, Playing Bal Venos/clsh/clsh16.wav
23:19:38.348 -> channels: 1 rate: 44100 bits: 16
23:19:38.580 -> EVENT: Swing ON millis=140396
23:19:38.879 -> EVENT: Swing ON millis=140691
23:19:39.011 -> EVENT: Clash ON millis=140840
23:19:39.011 -> unit = 1 vol = 0.50, Playing Bal Venos/clsh/clsh05.wav
23:19:39.011 -> channels: 1 rate: 44100 bits: 16
23:19:39.111 -> unit = 2 vol = 0.00, Playing Bal Venos/swingl/swingl02.wav
23:19:39.111 -> channels: 1 rate: 44100 bits: 16
23:19:39.111 -> unit = 3 vol = 0.00, Playing Bal Venos/swingh/swingh02.wav
23:19:39.111 -> channels: 1 rate: 44100 bits: 16
23:19:39.211 -> EVENT: Swing ON millis=141047
23:19:39.543 -> EVENT: Swing ON millis=141369
23:19:39.675 -> EVENT: Clash ON millis=141507
23:19:39.675 -> unit = 1 vol = 0.50, Playing Bal Venos/clsh/clsh09.wav
23:19:39.675 -> channels: 1 rate: 44100 bits: 16
23:19:39.875 -> EVENT: Swing ON millis=141692
23:19:40.140 -> EVENT: Swing ON millis=141967
23:19:40.306 -> EVENT: Clash ON millis=142135
23:19:40.306 -> unit = 1 vol = 0.50, Playing Bal Venos/clsh/clsh08.wav
23:19:40.306 -> channels: 1 rate: 44100 bits: 16
23:19:40.372 -> unit = 3 vol = 0.04, Playing Bal Venos/swingl/swingl01.wav
23:19:40.372 -> channels: 1 rate: 44100 bits: 16
23:19:40.372 -> unit = 2 vol = 0.01, Playing Bal Venos/swingh/swingh01.wav
23:19:40.372 -> channels: 1 rate: 44100 bits: 16
23:19:41.699 -> EVENT: Clash ON millis=143530
23:19:41.699 -> unit = 1 vol = 0.50, Playing Bal Venos/clsh/clsh15.wav
23:19:41.699 -> channels: 1 rate: 44100 bits: 16
23:19:41.898 -> unit = 3 vol = 0.00, Playing Bal Venos/swingl/swingl08.wav
23:19:41.898 -> channels: 1 rate: 44100 bits: 16
23:19:41.898 -> unit = 2 vol = 0.00, Playing Bal Venos/swingh/swingh08.wav
23:19:41.898 -> channels: 1 rate: 44100 bits: 16
23:19:43.160 -> Playing Bal Venos/swingl/swingl08.wav
23:19:43.160 -> channels: 1 rate: 44100 bits: 16
23:19:43.525 -> unit = 2 vol = 0.00, Playing Bal Venos/swingl/swingl06.wav
23:19:43.525 -> channels: 1 rate: 44100 bits: 16
23:19:43.525 -> unit = 3 vol = 0.00, Playing Bal Venos/swingh/swingh06.wav
23:19:43.525 -> channels: 1 rate: 44100 bits: 16
23:19:44.719 -> unit = 3 vol = 0.00, Playing Bal Venos/swingl/swingl03.wav
23:19:44.719 -> channels: 1 rate: 44100 bits: 16
23:19:44.752 -> unit = 2 vol = 0.00, Playing Bal Venos/swingh/swingh03.wav
23:19:44.752 -> channels: 1 rate: 44100 bits: 16
23:19:52.186 -> Playing Bal Venos/swingl/swingl03.wav
23:19:52.186 -> channels: 1 rate: 44100 bits: 16
23:19:52.917 -> unit = 1 vol = 0.50, Playing Bal Venos/in/in04.wav
23:19:52.917 -> channels: 1 rate: 44100 bits: 16
23:19:55.936 -> Playing Bal Venos/pstoff.wav
23:19:55.936 -> channels: 1 rate: 44100 bits: 16
23:19:55.936 -> Amplifier off.
23:19:56.898 -> Unmounting SD Card.
23:19:58.192 -> Battery voltage: 0.13
23:20:18.202 -> Battery voltage: 0.15
Make sure you have swng##.wav or swing##.wav files in your font and take the slsh##.wav sounds out of your font. Slashes don’t “play nice” with Acceleration set up. I’d also recommend these ranges as it’s actually acceleration and not swing speed.
#Minimum acceleration for Accent Swing file Selection
#recommended value is 20.0 ~ 30.0
ProffieOSMinSwingAcceleration=20.0
#Maximum acceleration for Accent Swing file Selection
#must be higher than Min value to enable selection
#recommended value is 100.0 ~ 150.0
ProffieOSMaxSwingAcceleration=100.0
The swingl## and swingh## are the swing pairs for smoothswing, not the Accent Swings.
More info here:
I’m not sure exactly what you mean by that.
Which “style features” are you talking about?
My guess is he’s was referring to the Edit Mode Style Options. The test styles are available in the Edit Mode documentation linked in original post.
I have a note that says
“only use virtual inherit when using dual prop to save memory - not prop_inherit_prefix”
How does this translate to user’s experience?
I don’t recall which file this refers to , dual_prop.h, or the props included by the user.