In some of my latest posts I have imported measurement data from Amir into REW manually. I thought it would nice and of some general interest to do that automatically with almost no effort. Therefore, I have created https://github.com/rwhomeaudio/ExportSpinoramaData . This little python script exports CEA2034, Early Reflections and Estimated In-Room response of https://github.com/pierreaubert/spinorama as CSV data that can directly be imported into REW, FreqRespGraph, spreadsheets…:
ExportSpinoramaData.py -h
usage: ExportSpinoramaData [-h] [--absSPL] speaker version
ExportSpinoramaData exports spinorama data of a given speaker model and measurement version as text files in a sub directory "export".
The exported files can e.g. directly be imported in REW or spreadsheet programs.
positional arguments:
speaker
version
options:
-h, --help show this help message and exit
--absSPL Export data with absolute SPL instead of 0dB normalized, default off
Example:
ExportSpinoramaData.py --absSPL "KEF LS50 Meta" "asr"
creates
export/KEF LS50 Meta/asr/CEA2034/All.csv
export/KEF LS50 Meta/asr/CEA2034/Early Reflections DI.txt
export/KEF LS50 Meta/asr/CEA2034/On Axis.txt
export/KEF LS50 Meta/asr/CEA2034/Early Reflections.txt
export/KEF LS50 Meta/asr/CEA2034/Sound Power.txt
export/KEF LS50 Meta/asr/CEA2034/DI offset.txt
export/KEF LS50 Meta/asr/CEA2034/Listening Window.txt
export/KEF LS50 Meta/asr/CEA2034/Sound Power DI.txt
export/KEF LS50 Meta/asr/Estimated In-Room Response.txt
export/KEF LS50 Meta/asr/Early Reflections/Front Wall Bounce.txt
export/KEF LS50 Meta/asr/Early Reflections/All.csv
export/KEF LS50 Meta/asr/Early Reflections/Total Early Reflection.txt
export/KEF LS50 Meta/asr/Early Reflections/Floor Bounce.txt
export/KEF LS50 Meta/asr/Early Reflections/Rear Wall Bounce.txt
export/KEF LS50 Meta/asr/Early Reflections/Ceiling Bounce.txt
export/KEF LS50 Meta/asr/Early Reflections/Side Wall Bounce.txt
from the measurement of the KEF LS50 Meta provided by Audio Science Review with absolute SPL.
Use
ExportSpinoramaData.py --absSPL '*' '*'
to export all availabile measurements.
For convenience most currently available measurments (1122 of 1427) are already exported to https://github.com/rwhomeaudio/ExportSpinoramaData/tree/main/export for direct usage. Here are some examples how one may use the exported data:
View CEA2034 in REW (using: File->Import->Import frequency response):
Display Early Reflections in FreqRespGraph:
python $HOME/FreqRespGraph/FreqRespGraph.py --csvdelimiter " " --ymin 30 --ymax 90 --title "Early Reflections KEF LS50 Meta" --files "$HOME/ExportSpinoramaData/export/KEF LS50 Meta/asr/Early Reflections/*.txt"
Get creative and display all KEF and Klipsch Estimated In-Room responses of all available measurements:
python $HOME/FreqRespGraph/FreqRespGraph.py --csvdelimiter " " --alignmin 200 --alignmax 2000 --nolegend --title "Estimated In-Room Response KEF" --files "$HOME/ExportSpinoramaData/export/KEF*/*/Estimated In-Room Response.txt"
python $HOME/FreqRespGraph/FreqRespGraph.py --csvdelimiter " " --alignmin 200 --alignmax 2000 --nolegend --title "Estimated In-Room Response Klipsch" --files "$HOME/ExportSpinoramaData/export/Klipsch*/*/Estimated In-Room Response.txt"
I have tested it extensively on Linux and Windows and results look ok. When comparing Amir’s KEF LS50 Meta original data with my data exported from spinorama I only noticed that for some unknown reason there is a constant offset of 0.5dB.
ExportSpinoramaData.py -h
usage: ExportSpinoramaData [-h] [--absSPL] speaker version
ExportSpinoramaData exports spinorama data of a given speaker model and measurement version as text files in a sub directory "export".
The exported files can e.g. directly be imported in REW or spreadsheet programs.
positional arguments:
speaker
version
options:
-h, --help show this help message and exit
--absSPL Export data with absolute SPL instead of 0dB normalized, default off
Example:
ExportSpinoramaData.py --absSPL "KEF LS50 Meta" "asr"
creates
export/KEF LS50 Meta/asr/CEA2034/All.csv
export/KEF LS50 Meta/asr/CEA2034/Early Reflections DI.txt
export/KEF LS50 Meta/asr/CEA2034/On Axis.txt
export/KEF LS50 Meta/asr/CEA2034/Early Reflections.txt
export/KEF LS50 Meta/asr/CEA2034/Sound Power.txt
export/KEF LS50 Meta/asr/CEA2034/DI offset.txt
export/KEF LS50 Meta/asr/CEA2034/Listening Window.txt
export/KEF LS50 Meta/asr/CEA2034/Sound Power DI.txt
export/KEF LS50 Meta/asr/Estimated In-Room Response.txt
export/KEF LS50 Meta/asr/Early Reflections/Front Wall Bounce.txt
export/KEF LS50 Meta/asr/Early Reflections/All.csv
export/KEF LS50 Meta/asr/Early Reflections/Total Early Reflection.txt
export/KEF LS50 Meta/asr/Early Reflections/Floor Bounce.txt
export/KEF LS50 Meta/asr/Early Reflections/Rear Wall Bounce.txt
export/KEF LS50 Meta/asr/Early Reflections/Ceiling Bounce.txt
export/KEF LS50 Meta/asr/Early Reflections/Side Wall Bounce.txt
from the measurement of the KEF LS50 Meta provided by Audio Science Review with absolute SPL.
Use
ExportSpinoramaData.py --absSPL '*' '*'
to export all availabile measurements.
For convenience most currently available measurments (1122 of 1427) are already exported to https://github.com/rwhomeaudio/ExportSpinoramaData/tree/main/export for direct usage. Here are some examples how one may use the exported data:
View CEA2034 in REW (using: File->Import->Import frequency response):
Display Early Reflections in FreqRespGraph:
python $HOME/FreqRespGraph/FreqRespGraph.py --csvdelimiter " " --ymin 30 --ymax 90 --title "Early Reflections KEF LS50 Meta" --files "$HOME/ExportSpinoramaData/export/KEF LS50 Meta/asr/Early Reflections/*.txt"
Get creative and display all KEF and Klipsch Estimated In-Room responses of all available measurements:
python $HOME/FreqRespGraph/FreqRespGraph.py --csvdelimiter " " --alignmin 200 --alignmax 2000 --nolegend --title "Estimated In-Room Response KEF" --files "$HOME/ExportSpinoramaData/export/KEF*/*/Estimated In-Room Response.txt"
python $HOME/FreqRespGraph/FreqRespGraph.py --csvdelimiter " " --alignmin 200 --alignmax 2000 --nolegend --title "Estimated In-Room Response Klipsch" --files "$HOME/ExportSpinoramaData/export/Klipsch*/*/Estimated In-Room Response.txt"
I have tested it extensively on Linux and Windows and results look ok. When comparing Amir’s KEF LS50 Meta original data with my data exported from spinorama I only noticed that for some unknown reason there is a constant offset of 0.5dB.