Skip to content

Commit cdbe03c

Browse files
James Bradburytremblapweefuzzyg-romatedmoore
authored
[Release] 1.0.0-beta5 (#102)
* batchsize was not capped down, leading to hilarious crashes (#63) * updating credits with the new team * Include SHAs for flucoma-core and current project in version string * Conform version string with SHAs to semantic versioning spec * add chroma feature to NoveltySlice * Toggle BLAS settings for compiling on APPLE (#67) * disable blas for compiling on macos * remove line according to O's suggestion * error in the client of (buf)noveltyslice since introducing chroma as feature * Enhance/versioning (#75) * Remove old header template * Add in TU template and declaration header * update CMake to new version scheme * Get SHA from top level source folder * ensure git is found * fix issue #23 - zeroing the output vector in the mTracker loop (#82) * fix issue #23 - zeroing the output vector in the mTracker loop * now really corrected thanks to @weefuzzy * Initial unit tests for `include/data` (#83) * initial FluidTensor tests * add assert death test to cmake * more assert death * fix compile tests * Working assertion tests, it seems * Add first FluidTensorView tests * tidy up cmake a bit * factor out EqualRange matcher to own header * Add FluidTensorSupport tests * rollback to Catch2 for compatability with approvaltests.cpp * add tests for FluidDataSet bubba's first approval test ✨ * test print for bigger range as well * tidy cmake * make building tests optional * remove spurious files from tracking * add workflow for CI * make workflow manually triggerable * correct workflow file extention * pleading and bargaining with github * getting event name right * FluidTensorSlice: fix terrible and aged typename mistake * workflow: try and cache whole build folder * wotkflow: unbreak yaml * workflow: disable fail-fast * Amend upper frequency limit of mel bands in NoveltySlice to 20kHz * [Enhance] FluCoMa-wide DataSets as a resource (#88) * treat wav files as binary * move audio files to resources folder * add datasets * add pre-trained neural networks * add flucoma corpus * move datasets to data * BufAudioTransport now has A-B based arguments * fix mistakenly fixed type signature in FluidSink * Tests for framing and overlap add bits * remove build folder caching as a bad job (failing forever once cache goes bad) * Test/sc ports/slicers (#91) * Working port of SC NoveltySlice tests * formatting and constifying * use generated path for test signal loading * update testsignals header and cmake * Add TestOnsetSegmention, update TestNoveltySeg for new resource loading * Add Onsets and update novelty in CMake * Add EnvelopeSeg tests and some missing headers * Add EnvelopeGate tests * Add TransientSlice tests * update location of audio files * add missing function to signals.cpp.in * Fix test signal for AmpSlice test * try and speed up test run * FluidSource test blackholed on MSVC It doesn't like GENERATE_REF nested in GENERATE. Nosir. * ignore all build folders for a quieter life * bump Eigen version (#93) * bump Eigen version * note new Eigen version in readme * add mammoth dataset * OnsetSlice and NoveltySlice clients: fix block size dependency (#96) Makes tracking of `frameOffset` stateful across calls to `process` so that odd hop sizes are handled correctly * `SliceIterator::end()` fix (#97) * fix problem with 0-size slices and end() sentinels * adds basic test for slice ietrator fix * annotate datasets * add mfcc for fluid_corpus * update mfcc dataset * bump version to beta5 (#101) Co-authored-by: tremblap <info@pierrealexandretremblay.com> Co-authored-by: weefuzzy <gungwho@gmail.com> Co-authored-by: g-roma <gerard.roma@gmail.com> Co-authored-by: Ted Moore <ted@tedmooremusic.com>
1 parent 1e3148e commit cdbe03c

File tree

83 files changed

+80736
-77
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

83 files changed

+80736
-77
lines changed

.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
*.wav binary

.github/workflows/flucoma-core-ci.yml

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
name: Flucoma Core CI
2+
3+
on:
4+
workflow_dispatch:
5+
push:
6+
branches: [ main, dev ]
7+
pull_request:
8+
branches: [ main, dev ]
9+
10+
env:
11+
BUILD_TYPE: Release
12+
13+
jobs:
14+
build:
15+
runs-on: ${{ matrix.os }}
16+
strategy:
17+
matrix:
18+
os: [ubuntu-18.04, windows-latest, macOS-latest]
19+
fail-fast: false
20+
21+
steps:
22+
- uses: actions/checkout@v2
23+
24+
# - name: Cache Build Folder
25+
# uses: actions/cache@v2
26+
# with:
27+
# path: ${{github.workspace}}/build
28+
# key: ${{ runner.os }}-buildcache
29+
30+
- name: Configure CMake
31+
run: cmake -B ${{github.workspace}}/build -DFLUCOMA_TESTS=On -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
32+
33+
- name: Build
34+
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
35+
36+
- name: Test
37+
working-directory: ${{github.workspace}}/build
38+
run: ctest -C ${{env.BUILD_TYPE}} -j3
39+

.gitignore

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1-
build
1+
*build*
22
**/.DS_Store
33
/examples/out*.wav
44
.vs/
5+
.dsp_cache
6+
FluidVersion.cpp
7+
flucoma.version.rc

CMakeLists.txt

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ endif()
2424
project (flucoma-core LANGUAGES CXX)
2525

2626
include("${CMAKE_CURRENT_SOURCE_DIR}/script/flucoma-buildtype.cmake")
27+
include("${CMAKE_CURRENT_SOURCE_DIR}/FlucomaVersion.cmake")
2728

2829
include(FetchContent)
2930
set(HISS_PATH "" CACHE PATH "The path to a HISSTools_Library folder. Will pull from github if not set")
@@ -51,10 +52,11 @@ FetchContent_Declare(
5152

5253
FetchContent_Declare(
5354
Eigen
55+
GIT_SHALLOW TRUE
5456
GIT_REPOSITORY https://gitlab.com/libeigen/eigen
5557
GIT_PROGRESS TRUE
56-
GIT_BRANCH "3.3"
57-
GIT_TAG "3.3.5"
58+
GIT_BRANCH "3.4"
59+
GIT_TAG "3.4.0"
5860
)
5961

6062
FetchContent_Declare(
@@ -150,7 +152,7 @@ target_include_directories(
150152
"${hisstools_SOURCE_DIR}"
151153
)
152154
target_link_libraries(
153-
FLUID_DECOMPOSITION INTERFACE HISSTools_FFT
155+
FLUID_DECOMPOSITION INTERFACE HISSTools_FFT flucoma_VERSION_LIB
154156
)
155157
target_sources(
156158
FLUID_DECOMPOSITION INTERFACE ${HEADERS}
@@ -170,7 +172,6 @@ endif()
170172
target_compile_definitions(FLUID_DECOMPOSITION INTERFACE EIGEN_MPL2_ONLY=1)
171173

172174
if(APPLE)
173-
target_compile_definitions(FLUID_DECOMPOSITION INTERFACE EIGEN_USE_BLAS=1)
174175
#targeting <= 10.9, need to really emphasise that we want libc++ both to compiler and linker
175176
target_compile_options(HISSTools_FFT PUBLIC -stdlib=libc++)
176177
target_compile_options(HISSTools_AudioFile PUBLIC -stdlib=libc++)
@@ -191,3 +192,9 @@ endif()
191192
add_subdirectory(
192193
"${CMAKE_CURRENT_SOURCE_DIR}/examples"
193194
)
195+
196+
enable_testing()
197+
198+
if(FLUCOMA_TESTS)
199+
add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/tests")
200+
endif()

FlucomaVersion.cmake

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
# Part of the Fluid Corpus Manipulation Project (http://www.flucoma.org/)
2+
# Copyright 2017-2019 University of Huddersfield.
3+
# Licensed under the BSD-3 License.
4+
# See license.md file in the project root for full license information.
5+
# This project has received funding from the European Research Council (ERC)
6+
# under the European Union’s Horizon 2020 research and innovation programme
7+
# (grant agreement No 725899).
8+
9+
cmake_minimum_required (VERSION 3.11)
10+
11+
find_package(Git REQUIRED)
12+
13+
set(flucoma_VERSION_MAJOR 1)
14+
set(flucoma_VERSION_MINOR 0)
15+
set(flucoma_VERSION_PATCH 0)
16+
set(flucoma_VERSION_SUFFIX TB2.beta5)
17+
18+
function(make_flucoma_version_string output_variable)
19+
set(${output_variable}
20+
"${flucoma_VERSION_MAJOR}.${flucoma_VERSION_MINOR}.${flucoma_VERSION_PATCH}-${flucoma_VERSION_SUFFIX}"
21+
PARENT_SCOPE)
22+
endfunction()
23+
24+
function(make_flucoma_version_string_with_sha output_variable)
25+
26+
make_flucoma_version_string(${output_variable})
27+
28+
if(NOT flucoma_CORESHA_ERR AND NOT flucoma_VERSIONSHA_ERR)
29+
string(APPEND
30+
${output_variable}
31+
"+sha.${flucoma_VERSION_SHA}.core.sha.${flucoma_CORE_SHA}"
32+
)
33+
endif()
34+
set(${output_variable} ${${output_variable}} PARENT_SCOPE)
35+
endfunction()
36+
37+
macro(getsha working_dir output_variable result_variable)
38+
execute_process(
39+
COMMAND ${GIT_EXECUTABLE} log -1 --format=%h
40+
WORKING_DIRECTORY ${${working_dir}}
41+
OUTPUT_VARIABLE ${output_variable}
42+
RESULT_VARIABLE ${result_variable}
43+
ERROR_QUIET
44+
OUTPUT_STRIP_TRAILING_WHITESPACE
45+
)
46+
endmacro()
47+
48+
getSha(CMAKE_CURRENT_LIST_DIR flucoma_CORE_SHA flucoma_CORESHA_ERR)
49+
getSha(CMAKE_SOURCE_DIR flucoma_VERSION_SHA flucoma_VERSIONSHA_ERR)
50+
51+
make_flucoma_version_string(flucoma_VERSION_STRING)
52+
53+
make_flucoma_version_string_with_sha(flucoma_VERSION_STRING_SHA)
54+
55+
file(WRITE
56+
"${CMAKE_CURRENT_SOURCE_DIR}/flucoma.version.rc" "${flucoma_VERSION_STRING}"
57+
)
58+
59+
configure_file("${CMAKE_CURRENT_LIST_DIR}/script/FluidVersion.cpp.in" "${CMAKE_CURRENT_LIST_DIR}/FluidVersion.cpp" @ONLY)
60+
61+
add_library(flucoma_VERSION_LIB STATIC
62+
"${CMAKE_CURRENT_LIST_DIR}/FluidVersion.cpp"
63+
)
64+
65+
target_include_directories(flucoma_VERSION_LIB PRIVATE
66+
"${CMAKE_CURRENT_LIST_DIR}/include"
67+
)

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ This library comprises a suite of C++ algorithms used by the Fluid Corpus Manipu
55
# Dependencies
66

77
* [CMake](http://cmake.org) (>=3.11)
8-
* [Eigen](https://gitlab.com/libeigen/eigen) (3.3.5)
8+
* [Eigen](https://gitlab.com/libeigen/eigen) (3.4)
99
* [HISSTools Library](https://github.com/AlexHarker/HISSTools_Library)
1010

1111
# Building
@@ -65,7 +65,7 @@ If your Intel / AMD chip is too old to support AVX, it probably still supports S
6565
#### FluCoMa core development team (in alphabetical order)
6666
Owen Green, Gerard Roma, Pierre Alexandre Tremblay
6767

68-
#### Other contributors:
69-
Alex Harker, Francesco Cameli
68+
#### Other contributors (in alphabetical order):
69+
James Bradbury, Francesco Cameli, Alex Harker, Ted Moore
7070

7171
> This project has received funding from the European Research Council (ERC) under the European Union’s Horizon 2020 research and innovation programme (grant agreement No 725899).
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

Resources/Data/blobs.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"cols":2,"data":{"0":[0.7899821431829168,0.011304142075563073],"1":[0.7850007363064356,0.1486447158438452],"2":[0.7862067342749265,0.047302422630844054],"3":[0.32158652083722306,0.9057485881731097],"4":[0.7441314431303225,0.15699853008771647],"5":[0.2525805180628634,0.9369478877394803],"6":[0.25983520221988166,0.8974905780531736],"7":[0.6007162278378628,0.8048058535107102],"8":[1.0,0.11114228673465232],"9":[0.4435156021527105,0.27067867011674435],"10":[0.3522274342352448,0.877877270580905],"11":[0.3714148032188928,0.18845193855294196],"12":[0.7395647566359562,0.21666513877149646],"13":[0.17153413358201716,0.25431093452394427],"14":[0.7708029791277471,0.09386528892187795],"15":[0.8149651370236719,0.2919768939824583],"16":[0.7245164303987328,0.09357340715775475],"17":[0.2919673113397128,0.34208929484340095],"18":[0.09861682729014001,0.9124801689329332],"19":[0.9235925217403466,0.0],"20":[0.3572103492064626,0.8591346761136937],"21":[0.43066011028435397,1.0],"22":[0.21276853375146867,0.707944897892126],"23":[0.10409196113791508,0.9554787102929074],"24":[0.32534507016548087,0.8298367843806289],"25":[0.2053152107431395,0.89733586513099],"26":[0.270410319855684,0.8295395736846344],"27":[0.3730798942394672,0.9684246645716905],"28":[0.3433705561990344,0.902644896785304],"29":[0.21645800853279204,0.9020006668733845],"30":[0.5821206042519459,0.9288427157843542],"31":[0.0742439707702027,0.845292590263118],"32":[0.8218426672226512,0.0825861579067062],"33":[0.29075693293565064,0.7996909384967346],"34":[0.16924126542305093,0.27664567547067653],"35":[0.40820712460949754,0.8642368285142534],"36":[0.275534404951844,0.9334354342481769],"37":[0.05843374612827705,0.281835994357458],"38":[0.7426512483995391,0.14119752207288905],"39":[0.3686497068574489,0.9568573340890538],"40":[0.7297579995739779,0.07826122177681483],"41":[0.20557015069482593,0.23496592687538503],"42":[0.14996346445535874,0.04354785223868218],"43":[0.32154869331005176,0.9367099980996889],"44":[0.08147345250770165,0.16610967199130455],"45":[0.2519428824365654,0.23492141177619352],"46":[0.8428650479916091,0.1740904833113855],"47":[0.28018589721160647,0.4462468390626012],"48":[0.8119975923959801,0.19158688178994404],"49":[0.2315894699149271,0.8676629609816021],"50":[0.9711482485376294,0.017512887012597234],"51":[0.07199894965312924,0.454013239693704],"52":[0.23164703845458884,0.20085954807500578],"53":[0.1865829376953997,0.9135022196722297],"54":[0.043943611797043064,0.3331947250435254],"55":[0.7609802138466069,0.096335434002634],"56":[0.7795071744369274,0.04320170818961666],"57":[0.17354654395580493,0.22157508551319038],"58":[0.2629712002050562,0.8698321896000766],"59":[0.920307695729409,0.17865706426645905],"60":[0.14177255863280677,0.114686060745123],"61":[0.44641999311008096,0.29095684306306985],"62":[0.44409159085631944,0.32804108462528975],"63":[0.12718897583133618,0.23871469500310222],"64":[0.0707381735820594,0.06391777098864604],"65":[0.8189308633810418,0.1515872075449035],"66":[0.23234786558697726,0.8852547484409596],"67":[0.8729072632755982,0.3123565867979296],"68":[0.732081344107898,0.055577548188685655],"69":[0.852579778962114,0.012208756332713122],"70":[0.2604536704758746,0.2302410110103199],"71":[0.8031223735644281,0.1801959808124694],"72":[0.8412686596607918,0.15794440342463334],"73":[0.393843176342776,0.801442144295094],"74":[0.9781264242514122,0.07010572611938837],"75":[0.8532073738342905,0.047313307185398945],"76":[0.23049256518000252,0.35966980476061555],"77":[0.2530267577592074,0.2093910324725985],"78":[0.166027804916109,0.13802876701715472],"79":[0.5944065680294475,0.17196752557460537],"80":[0.14805454688270261,0.25834713217175637],"81":[0.21704126904230847,0.16603322166774148],"82":[0.44124700149735435,0.7805868015312554],"83":[0.9986419288288533,0.14266093232602473],"84":[0.3907397692955609,0.9040266493106591],"85":[0.11921746805620309,0.14811583352499158],"86":[0.23502092945202738,0.22446147194505645],"87":[0.8147054473158154,0.09320706382617994],"88":[0.15201831444211114,0.8274876204648618],"89":[0.7128583738711045,0.11378150009721233],"90":[0.5013988073122598,0.8305966112662633],"91":[0.8990391395122803,0.07677525673500674],"92":[0.270881210184662,0.18109133550488693],"93":[0.9750046954845799,0.27040347905359646],"94":[0.2765186316604351,0.10626734909643576],"95":[0.23711512311478916,0.17889620041688914],"96":[0.30297525023798677,0.2943158113624056],"97":[0.24322443255680157,0.9264062602284389],"98":[0.0,0.21427875901623616],"99":[0.3412545354005748,0.8958395013205545]}}

Resources/Data/circles.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"cols":2,"data":{"0":[0.340828411244845,0.058595047635108866],"1":[0.01322810012036063,0.6722929795490515],"2":[0.46499676234004705,0.7689437347912214],"3":[0.6681828407902786,0.02878001001385505],"4":[0.5740082106449125,0.34703378043729727],"5":[0.11570388701760431,0.7364475767040285],"6":[0.2736143414003975,0.6758886181098112],"7":[0.5718993719139256,0.29483812979873175],"8":[0.73934415458447,0.4782968682045203],"9":[0.6174493784239005,0.32394200593173994],"10":[0.20206612494103232,0.8732406530860609],"11":[0.700256813107208,0.4209844824018838],"12":[0.9708974154694322,0.6357799715555512],"13":[0.6043219893146805,0.0],"14":[0.04071235502643883,0.327960033871439],"15":[0.9335085943675936,0.3700173467305146],"16":[0.5400117779925259,0.2869345566250665],"17":[0.5814048434193693,0.771440553371598],"18":[0.7071222950174756,0.9449228585788976],"19":[0.11828605538140752,0.8415075283445016],"20":[0.2823454157279891,0.38302836127303364],"21":[0.6444248164250616,0.7449690255370202],"22":[0.26359995746974996,0.11011725820376944],"23":[0.3764225247345304,0.7010161732864957],"24":[0.6789449776461656,0.6143690453847959],"25":[0.8380900534894031,0.19324237390979432],"26":[0.49842500189830274,0.732137579274381],"27":[0.7499633361542766,0.9401481151071872],"28":[0.49460973793372626,0.9793705139879894],"29":[0.6359387691666243,0.9690102065902413],"30":[0.2861029813845316,0.38426991641476527],"31":[0.704170269246223,0.35134040550648876],"32":[0.6682089016243595,0.6561891441927487],"33":[0.8484033851701421,0.8619263964695262],"34":[0.021235678728731167,0.4005318611935563],"35":[0.39923317327084473,0.6954035827289402],"36":[0.291403677551147,0.3187703687019817],"37":[0.24390887107125286,0.5915069836854253],"38":[0.9453577917269276,0.40216913245328706],"39":[0.7477456273016527,0.5673817018579267],"40":[0.6022416555467555,0.7662852164729541],"41":[0.5502083393236551,0.986532872351825],"42":[0.8322315466001509,0.8495117177856701],"43":[0.9185009138987348,0.7259855731682865],"44":[0.5928044677946065,0.2720995121916361],"45":[0.44931358448980097,0.7410705528360919],"46":[0.7118072197418261,0.5892897971663527],"47":[0.3059314871972335,0.10097818197425962],"48":[0.6708253289288159,0.692580131377725],"49":[0.15002693770821285,0.11977433832582096],"50":[0.33142779371936515,0.31657328129824486],"51":[0.8885291220542164,0.2612412158266335],"52":[0.35847416205465293,0.6964124353822512],"53":[0.40013277420303556,0.7459984904247495],"54":[0.47889646433698574,0.22849033321693107],"55":[0.2360782318424876,0.912109070246929],"56":[0.48064250241504725,0.03163483212123702],"57":[0.49334161608415367,0.2703605762633702],"58":[0.21672842512511525,0.13743018547375063],"59":[0.0,0.44279838898001783],"60":[0.3857987889601916,0.010159482727383262],"61":[0.7741443446892691,0.14415274631154185],"62":[0.30012143234203714,0.3401391560160121],"63":[0.36382595957514574,0.27939655011039066],"64":[0.3686569541851077,0.2572438883057096],"65":[0.025635588800239195,0.5664152004944708],"66":[0.41089090157608293,0.21164936332811052],"67":[0.5036987067585156,0.7578028063266807],"68":[0.9868912812811488,0.6870917551571082],"69":[0.40121553558727996,1.0],"70":[0.47307678491999605,0.03601223450948737],"71":[0.2595420366788619,0.5891471068165154],"72":[0.6810596238736961,0.06316913250104322],"73":[0.03963444654340981,0.591170663701791],"74":[0.023164772022601643,0.4926759740720979],"75":[0.892019023026045,0.21889275133608166],"76":[0.26298452813097173,0.4468662096968665],"77":[0.8855127382308279,0.8036436329776062],"78":[0.47628676203368575,0.24564200363609656],"79":[0.7640116994910799,0.09541904150276403],"80":[0.1682125693191952,0.2280584592207366],"81":[1.0,0.5699810079270762],"82":[0.2590478436905983,0.9798866276444724],"83":[0.9902781014526201,0.47753946475647896],"84":[0.4723595197203869,0.9809389187883347],"85":[0.7081787867994956,0.4147983005960454],"86":[0.6472972126691454,0.3306706454409324],"87":[0.7596737349036307,0.5474981946460569],"88":[0.09403133330147923,0.7090110539350976],"89":[0.3686889385574993,0.9612290729901591],"90":[0.2939938439717846,0.4618761315421676],"91":[0.26444751160440455,0.501444769383925],"92":[0.6810428951995062,0.35052128939459576],"93":[0.23083817814254526,0.5081160022535728],"94":[0.3359856350653041,0.6300914171688512],"95":[0.05808816014529267,0.24924789736239844],"96":[0.315971643809824,0.6674817298775857],"97":[0.7303007580199876,0.4554194122532016],"98":[0.9942923409870819,0.4758711635864032],"99":[0.6926917132232786,0.6815364500080507]}}

0 commit comments

Comments
 (0)