├── README.md ├── beguiling-drafter-2018-08-30 ├── bd.rnnn ├── info.txt └── weights.hdf5.xz ├── conjoined-burgers-2018-08-28 ├── cb.rnnn ├── info.txt └── newweights9i.hdf5.xz ├── leavened-quisling-2018-08-31 ├── info.txt ├── lq.rnnn └── weights.hdf5.xz ├── marathon-prescription-2018-08-29 ├── info.txt ├── mp.rnnn └── newweights9i.hdf5.xz ├── somnolent-hogwash-2018-09-01 ├── info.txt ├── sh.rnnn └── weights.hdf5.xz └── tools ├── TSPspeech.raw.sh ├── chopper.c ├── noise-chopper.c └── sounds.raw.sh /README.md: -------------------------------------------------------------------------------- 1 | # rnnoise-models 2 | 3 | This repository contains the tools and information used to create the various 4 | neural network models in rnnoise-nu. With the exception of the tools/ directory 5 | and this file, none of this work is creative and thus none of it is subject to 6 | copyright. 7 | 8 | Note that the name of each model is not meaningful. 9 | 10 | ## Model information 11 | 12 | The following table maps expected signal (horizontal) against expected noise 13 | (vertical). Note that "voice" is distinct from "speech" by the presence of 14 | non-speech human sounds, such as laughter. 15 | 16 | | | General | Voice | Speech | 17 | | ----------------- | --------------------- | --------------------- | --------------------- | 18 | | General | marathon-prescription | leavened-quisling | orig | 19 | | Recording | conjoined-burgers | beguiling-drafter | somnolent-hogwash | 20 | -------------------------------------------------------------------------------- /beguiling-drafter-2018-08-30/info.txt: -------------------------------------------------------------------------------- 1 | SUITE: beguiling-drafter-2018-08-30 2 | 3 | INTENT: 4 | 5 | Voice in a reasonable recording environment. Fans, AC, computers, etc. 6 | 7 | 8 | SIGNAL: 9 | 10 | voice 11 | hamlet-002-act-1-scene-1.1626 12 | http://etc.usf.edu/lit2go/94/hamlet/1626/ 13 | human_rights_un_chi_nf.mp3 14 | https://librivox.org/universal-declaration-of-human-rights-by-united-nations-volume-02/ 15 | human_rights_un_cze_msed.mp3 16 | https://librivox.org/universal-declaration-of-human-rights-by-united-nations-volume-02/ 17 | huntingofthesnark_01_carrol_128kb 18 | https://librivox.org/the-hunting-of-the-snark-by-lewis-carroll-3/ 19 | teacupclub_01_armstrong_128kb 20 | https://librivox.org/the-teacup-club-by-eliza-armstrong/ 21 | warletters_01_allan_128kb.mp3 22 | https://librivox.org/war-letters-from-a-young-queenslander-by-robert-marshall-allen/ 23 | TSPspeech 24 | http://www-mmsp.ece.mcgill.ca/Documents/Data/ 25 | 26 | sounds 27 | cough 28 | https://freesound.org/ sounds: 205012 222644 252240 323532 342587 343880 343885 343986 369295 391284 401334 407839 419781 425777 87412 29 | laugh 30 | https://freesound.org/ sounds: 167578 189278 263775 319346 343934 344043 344064 367680 381275 383237 393353 401214 433921 73123 31 | 32 | 33 | ./chopper voice/hamlet-002-act-1-scene-1.1626.raw voice/human_rights_un_chi_nf.raw sounds/cough.raw voice/human_rights_un_cze_msed.raw voice/huntingofthesnark_01_carrol_128kb.raw sounds/laugh.raw voice/teacupclub_01_armstrong_128kb.raw voice/warletters_01_allan_128kb.raw voice/TSPspeech.raw 34 | 35 | 36 | NOISE: 37 | 38 | rnnoise_contributions (only "other" and "none" samples) 39 | https://people.xiph.org/~jm/demo/rnnoise/rnnoise_contributions.tar.gz 40 | 41 | 42 | COUNT: 13212874 (x87) 43 | 44 | NOTE: All files processed into correct raws through ffmpeg: ffmpeg -i in -f s16le -ac 1 -ar 48000 out.raw 45 | -------------------------------------------------------------------------------- /beguiling-drafter-2018-08-30/weights.hdf5.xz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GregorR/rnnoise-models/3eee541a283fd3b8f81b85b1748e3b9ccbefa04d/beguiling-drafter-2018-08-30/weights.hdf5.xz -------------------------------------------------------------------------------- /conjoined-burgers-2018-08-28/info.txt: -------------------------------------------------------------------------------- 1 | SUITE: conjoined-burgers-2018-08-28 2 | 3 | INTENT: 4 | 5 | General use in a reasonable recording environment. Fans, AC, computers, etc. 6 | 7 | 8 | SIGNAL: 9 | 10 | voice 11 | hamlet-002-act-1-scene-1.1626 12 | http://etc.usf.edu/lit2go/94/hamlet/1626/ 13 | human_rights_un_chi_nf.mp3 14 | https://librivox.org/universal-declaration-of-human-rights-by-united-nations-volume-02/ 15 | human_rights_un_cze_msed.mp3 16 | https://librivox.org/universal-declaration-of-human-rights-by-united-nations-volume-02/ 17 | huntingofthesnark_01_carrol_128kb 18 | https://librivox.org/the-hunting-of-the-snark-by-lewis-carroll-3/ 19 | teacupclub_01_armstrong_128kb 20 | https://librivox.org/the-teacup-club-by-eliza-armstrong/ 21 | warletters_01_allan_128kb.mp3 22 | https://librivox.org/war-letters-from-a-young-queenslander-by-robert-marshall-allen/ 23 | TSPspeech 24 | http://www-mmsp.ece.mcgill.ca/Documents/Data/ 25 | 26 | sounds 27 | cough 28 | https://freesound.org/ sounds: 205012 222644 252240 323532 342587 343880 343885 343986 369295 391284 401334 407839 419781 425777 87412 29 | laugh 30 | https://freesound.org/ sounds: 167578 189278 263775 319346 343934 344043 344064 367680 381275 383237 393353 401214 433921 73123 31 | 32 | music 33 | Danse Macabre 34 | Gymnopedie No 1 35 | Local Forecast 36 | Secret of Tiki Island 37 | Unpromised 38 | https://incompetech.com/music/royalty-free/ 39 | 40 | 41 | ./chopper voice/hamlet-002-act-1-scene-1.1626.raw voice/human_rights_un_chi_nf.raw sounds/cough.raw voice/human_rights_un_cze_msed.raw voice/huntingofthesnark_01_carrol_128kb.raw sounds/laugh.raw voice/teacupclub_01_armstrong_128kb.raw voice/warletters_01_allan_128kb.raw voice/TSPspeech.raw sounds/cough.raw music/Danse\ Macabre.raw music/Gymnopedie\ No\ 1.raw music/Local\ Forecast.raw sounds/laugh.raw music/Secret\ of\ Tiki\ Island.raw music/Unpromised.raw 42 | 43 | 44 | NOISE: 45 | 46 | rnnoise_contributions (only "other" and "none" samples) 47 | https://people.xiph.org/~jm/demo/rnnoise/rnnoise_contributions.tar.gz 48 | 49 | 50 | COUNT: 13212874 (x87) 51 | 52 | NOTE: All files processed into correct raws through ffmpeg: ffmpeg -i in -f s16le -ac 1 -ar 48000 out.raw 53 | -------------------------------------------------------------------------------- /conjoined-burgers-2018-08-28/newweights9i.hdf5.xz: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:5202a12d4aaf94aee0868b754745d7ceaf5d4cd3f74eec88b853365a03f2d9e4 3 | size 969860 4 | -------------------------------------------------------------------------------- /leavened-quisling-2018-08-31/info.txt: -------------------------------------------------------------------------------- 1 | SUITE: leavened-quisling-2018-08-31 2 | 3 | INTENT: 4 | 5 | Voice in a noisy recording environment. 6 | 7 | 8 | SIGNAL: 9 | 10 | voice 11 | hamlet-002-act-1-scene-1.1626 12 | http://etc.usf.edu/lit2go/94/hamlet/1626/ 13 | human_rights_un_chi_nf.mp3 14 | https://librivox.org/universal-declaration-of-human-rights-by-united-nations-volume-02/ 15 | human_rights_un_cze_msed.mp3 16 | https://librivox.org/universal-declaration-of-human-rights-by-united-nations-volume-02/ 17 | huntingofthesnark_01_carrol_128kb 18 | https://librivox.org/the-hunting-of-the-snark-by-lewis-carroll-3/ 19 | teacupclub_01_armstrong_128kb 20 | https://librivox.org/the-teacup-club-by-eliza-armstrong/ 21 | warletters_01_allan_128kb.mp3 22 | https://librivox.org/war-letters-from-a-young-queenslander-by-robert-marshall-allen/ 23 | TSPspeech 24 | http://www-mmsp.ece.mcgill.ca/Documents/Data/ 25 | 26 | sounds 27 | cough 28 | https://freesound.org/ sounds: 205012 222644 252240 323532 342587 343880 343885 343986 369295 391284 401334 407839 419781 425777 87412 29 | laugh 30 | https://freesound.org/ sounds: 167578 189278 263775 319346 343934 344043 344064 367680 381275 383237 393353 401214 433921 73123 31 | 32 | 33 | ./chopper voice/hamlet-002-act-1-scene-1.1626.raw voice/human_rights_un_chi_nf.raw sounds/cough.raw voice/human_rights_un_cze_msed.raw voice/huntingofthesnark_01_carrol_128kb.raw sounds/laugh.raw voice/teacupclub_01_armstrong_128kb.raw voice/warletters_01_allan_128kb.raw voice/TSPspeech.raw 34 | 35 | 36 | NOISE: 37 | 38 | rnnoise_contributions 39 | https://people.xiph.org/~jm/demo/rnnoise/rnnoise_contributions.tar.gz 40 | 41 | 42 | ./noise-chopper *.raw 43 | 44 | 45 | COUNT: 10000000 (x87) 46 | 47 | NOTE: All files processed into correct raws through ffmpeg: ffmpeg -i in -f s16le -ac 1 -ar 48000 out.raw 48 | -------------------------------------------------------------------------------- /leavened-quisling-2018-08-31/weights.hdf5.xz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GregorR/rnnoise-models/3eee541a283fd3b8f81b85b1748e3b9ccbefa04d/leavened-quisling-2018-08-31/weights.hdf5.xz -------------------------------------------------------------------------------- /marathon-prescription-2018-08-29/info.txt: -------------------------------------------------------------------------------- 1 | SUITE: marathon-prescription-2018-08-29 2 | 3 | INTENT: 4 | 5 | General use in a noisy recording environment. 6 | 7 | 8 | SIGNAL: 9 | 10 | voice 11 | hamlet-002-act-1-scene-1.1626 12 | http://etc.usf.edu/lit2go/94/hamlet/1626/ 13 | human_rights_un_chi_nf.mp3 14 | https://librivox.org/universal-declaration-of-human-rights-by-united-nations-volume-02/ 15 | human_rights_un_cze_msed.mp3 16 | https://librivox.org/universal-declaration-of-human-rights-by-united-nations-volume-02/ 17 | huntingofthesnark_01_carrol_128kb 18 | https://librivox.org/the-hunting-of-the-snark-by-lewis-carroll-3/ 19 | teacupclub_01_armstrong_128kb 20 | https://librivox.org/the-teacup-club-by-eliza-armstrong/ 21 | warletters_01_allan_128kb.mp3 22 | https://librivox.org/war-letters-from-a-young-queenslander-by-robert-marshall-allen/ 23 | TSPspeech 24 | http://www-mmsp.ece.mcgill.ca/Documents/Data/ 25 | 26 | sounds 27 | cough 28 | https://freesound.org/ sounds: 205012 222644 252240 323532 342587 343880 343885 343986 369295 391284 401334 407839 419781 425777 87412 29 | laugh 30 | https://freesound.org/ sounds: 167578 189278 263775 319346 343934 344043 344064 367680 381275 383237 393353 401214 433921 73123 31 | 32 | music 33 | Danse Macabre 34 | Gymnopedie No 1 35 | Local Forecast 36 | Secret of Tiki Island 37 | Unpromised 38 | https://incompetech.com/music/royalty-free/ 39 | 40 | 41 | ./chopper voice/hamlet-002-act-1-scene-1.1626.raw voice/human_rights_un_chi_nf.raw sounds/cough.raw voice/human_rights_un_cze_msed.raw voice/huntingofthesnark_01_carrol_128kb.raw sounds/laugh.raw voice/teacupclub_01_armstrong_128kb.raw voice/warletters_01_allan_128kb.raw voice/TSPspeech.raw sounds/cough.raw music/Danse\ Macabre.raw music/Gymnopedie\ No\ 1.raw music/Local\ Forecast.raw sounds/laugh.raw music/Secret\ of\ Tiki\ Island.raw music/Unpromised.raw 42 | 43 | 44 | NOISE: 45 | 46 | rnnoise_contributions 47 | https://people.xiph.org/~jm/demo/rnnoise/rnnoise_contributions.tar.gz 48 | 49 | 50 | ./noise-chopper *.raw 51 | 52 | 53 | COUNT: 10000000 (x87) 54 | 55 | NOTE: All files processed into correct raws through ffmpeg: ffmpeg -i in -f s16le -ac 1 -ar 48000 out.raw 56 | -------------------------------------------------------------------------------- /marathon-prescription-2018-08-29/newweights9i.hdf5.xz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GregorR/rnnoise-models/3eee541a283fd3b8f81b85b1748e3b9ccbefa04d/marathon-prescription-2018-08-29/newweights9i.hdf5.xz -------------------------------------------------------------------------------- /somnolent-hogwash-2018-09-01/info.txt: -------------------------------------------------------------------------------- 1 | SUITE: somnolent-hogwash-2018-09-01 2 | 3 | INTENT: 4 | 5 | Speech in a reasonable recording environment. Fans, AC, computers, etc. Note 6 | that "speech" means speech, not other human sounds; laughter, coughing, etc are 7 | not included. 8 | 9 | 10 | SIGNAL: 11 | 12 | voice 13 | hamlet-002-act-1-scene-1.1626 14 | http://etc.usf.edu/lit2go/94/hamlet/1626/ 15 | human_rights_un_chi_nf.mp3 16 | https://librivox.org/universal-declaration-of-human-rights-by-united-nations-volume-02/ 17 | human_rights_un_cze_msed.mp3 18 | https://librivox.org/universal-declaration-of-human-rights-by-united-nations-volume-02/ 19 | huntingofthesnark_01_carrol_128kb 20 | https://librivox.org/the-hunting-of-the-snark-by-lewis-carroll-3/ 21 | teacupclub_01_armstrong_128kb 22 | https://librivox.org/the-teacup-club-by-eliza-armstrong/ 23 | warletters_01_allan_128kb.mp3 24 | https://librivox.org/war-letters-from-a-young-queenslander-by-robert-marshall-allen/ 25 | TSPspeech 26 | http://www-mmsp.ece.mcgill.ca/Documents/Data/ 27 | 28 | 29 | ./chopper voice/hamlet-002-act-1-scene-1.1626.raw voice/human_rights_un_chi_nf.raw voice/human_rights_un_cze_msed.raw voice/huntingofthesnark_01_carrol_128kb.raw voice/teacupclub_01_armstrong_128kb.raw voice/warletters_01_allan_128kb.raw voice/TSPspeech.raw 30 | 31 | 32 | NOISE: 33 | 34 | rnnoise_contributions (only "other" and "none" samples) 35 | https://people.xiph.org/~jm/demo/rnnoise/rnnoise_contributions.tar.gz 36 | 37 | 38 | COUNT: 13212874 (x87) 39 | 40 | NOTE: All files processed into correct raws through ffmpeg: ffmpeg -i in -f s16le -ac 1 -ar 48000 out.raw 41 | -------------------------------------------------------------------------------- /somnolent-hogwash-2018-09-01/weights.hdf5.xz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GregorR/rnnoise-models/3eee541a283fd3b8f81b85b1748e3b9ccbefa04d/somnolent-hogwash-2018-09-01/weights.hdf5.xz -------------------------------------------------------------------------------- /tools/TSPspeech.raw.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | [ -d TSPspeech ] || ( 4 | mkdir -p TSPspeech 5 | cd TSPspeech 6 | 7z x ../TSPspeech.iso 7 | ) 8 | for i in `seq -w 01 10` 9 | do 10 | for j in TSPspeech/48k/*/*$i.wav 11 | do 12 | [ ! -e "$j" ] || ffmpeg -i "$j" -f s16le -ac 1 -ar 48000 - 13 | done 14 | done > TSPspeech.raw 15 | -------------------------------------------------------------------------------- /tools/chopper.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2018 Gregor Richards 3 | * 4 | * Permission to use, copy, modify, and/or distribute this software for any 5 | * purpose with or without fee is hereby granted, provided that the above 6 | * copyright notice and this permission notice appear in all copies. 7 | * 8 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 9 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 10 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY 11 | * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 12 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION 13 | * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 14 | * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 15 | */ 16 | 17 | #include 18 | #include 19 | #include 20 | #include 21 | #include 22 | 23 | #define CHOP_SZ 384000 24 | 25 | int main(int argc, char **argv) 26 | { 27 | int *fds; 28 | int i; 29 | ssize_t rd, total; 30 | short buf[CHOP_SZ]; 31 | 32 | fds = malloc((argc-1)*sizeof(int)); 33 | if (fds == NULL) { 34 | perror("malloc"); 35 | exit(1); 36 | } 37 | 38 | /* Open each file */ 39 | for (i = 1; i < argc; i++) { 40 | int fd = open(argv[i], O_RDONLY); 41 | if (fd < 0) { 42 | perror(argv[i]); 43 | exit(1); 44 | } 45 | fds[i-1] = fd; 46 | } 47 | 48 | /* Loop over the input */ 49 | while (1) { 50 | char haveInput = 0; 51 | 52 | /* Loop over each file */ 53 | for (i = 0; i < argc - 1; i++) { 54 | int fd = fds[i]; 55 | if (fd < 0) continue; 56 | haveInput = 1; 57 | 58 | /* Take an appropriate chunk */ 59 | total = 0; 60 | while (total < sizeof(buf)) { 61 | rd = read(fd, ((char *) buf) + total, sizeof(buf) - total); 62 | if (rd <= 0) { 63 | close(fd); 64 | fds[i] = -1; 65 | break; 66 | } 67 | total += rd; 68 | } 69 | if (total == 0 || (total%sizeof(short)) != 0) 70 | continue; 71 | 72 | /* Write it out */ 73 | write(1, buf, total); 74 | } 75 | 76 | /* Stop if they were all ended */ 77 | if (!haveInput) 78 | break; 79 | } 80 | 81 | return 0; 82 | } 83 | -------------------------------------------------------------------------------- /tools/noise-chopper.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2018 Gregor Richards 3 | * 4 | * Permission to use, copy, modify, and/or distribute this software for any 5 | * purpose with or without fee is hereby granted, provided that the above 6 | * copyright notice and this permission notice appear in all copies. 7 | * 8 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 9 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 10 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY 11 | * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 12 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION 13 | * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 14 | * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 15 | */ 16 | 17 | #include 18 | #include 19 | #include 20 | #include 21 | #include 22 | 23 | #define TOTAL_SZ (10000000LL * 480) 24 | 25 | int main(int argc, char **argv) 26 | { 27 | FILE *fh; 28 | int i; 29 | short *buf = NULL; 30 | long perFileSz = TOTAL_SZ / (argc-1); 31 | long fileSz; 32 | size_t rd; 33 | 34 | buf = malloc(perFileSz * sizeof(short)); 35 | if (!buf) { 36 | perror("malloc"); 37 | return 1; 38 | } 39 | 40 | /* Loop over the input */ 41 | for (i = 1; i < argc; i++) { 42 | /* Seek to the middle */ 43 | fh = fopen(argv[i], "rb"); 44 | fseek(fh, 0, SEEK_END); 45 | fileSz = ftell(fh) / sizeof(short); 46 | if (fileSz > perFileSz) 47 | fseek(fh, (fileSz / 2 - perFileSz / 2) * sizeof(short), SEEK_SET); 48 | else 49 | fseek(fh, 0, SEEK_SET); 50 | 51 | /* Read it in */ 52 | rd = fread(buf, sizeof(short), perFileSz, fh); 53 | fclose(fh); 54 | 55 | /* And write it out */ 56 | write(1, buf, rd * sizeof(short)); 57 | } 58 | 59 | return 0; 60 | } 61 | -------------------------------------------------------------------------------- /tools/sounds.raw.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | for i in cough laugh 3 | do 4 | touch $i.raw 5 | SZ=`wc -c $i.raw | cut -d' ' -f1` 6 | while [ "$SZ" -lt 300000000 ] 7 | do 8 | cat $i/*.raw >> $i.raw 9 | SZ=`wc -c $i.raw | cut -d' ' -f1` 10 | done 11 | done 12 | --------------------------------------------------------------------------------