├── .DS_Store ├── .gitattributes ├── README.md ├── bela_debounce.pd ├── LICENSE └── talkBackSynth.pd /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yannseznec/talkBack/HEAD/.DS_Store -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # talkBack 2 | A very silly sound toy that takes audio input and converts it to a semi-random synth. designed to run on a Bela board. 3 | 4 | When you press the button it records a sound. When you release the button it immediately replays that sound through a pitch detector, and through a synth. 5 | 6 | The synth is semi-randomized. You only hear the sound once, and as soon as you press the button again the previous sound is erased permanently. 7 | -------------------------------------------------------------------------------- /bela_debounce.pd: -------------------------------------------------------------------------------- 1 | #N canvas 369 70 552 440 10; 2 | #X obj 54 34 inlet; 3 | #X obj 61 319 outlet; 4 | #X obj 157 113 \$1; 5 | #X obj 53 162 spigot; 6 | #X obj 109 109 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 7 | 1; 8 | #X obj 157 88 loadbang; 9 | #X obj 154 189 \$1; 10 | #X msg 78 85 0; 11 | #X msg 122 75 1; 12 | #X text 143 36 Debouncer for float inputs; 13 | #X obj 158 142 != 0; 14 | #X obj 157 165 select 1; 15 | #X obj 81 217 delay 8; 16 | #X obj 59 56 t b f; 17 | #X text 198 115 8ms default time \, or first creation argument; 18 | #X obj 68 186 bang; 19 | #X obj 61 292 change; 20 | #X obj 81 253 f; 21 | #X connect 0 0 13 0; 22 | #X connect 2 0 10 0; 23 | #X connect 3 0 15 0; 24 | #X connect 3 0 16 0; 25 | #X connect 4 0 3 1; 26 | #X connect 5 0 2 0; 27 | #X connect 5 0 8 0; 28 | #X connect 6 0 12 1; 29 | #X connect 7 0 4 0; 30 | #X connect 8 0 4 0; 31 | #X connect 10 0 11 0; 32 | #X connect 11 0 6 0; 33 | #X connect 12 0 8 0; 34 | #X connect 12 0 17 0; 35 | #X connect 13 0 7 0; 36 | #X connect 13 1 3 0; 37 | #X connect 13 1 17 1; 38 | #X connect 15 0 12 0; 39 | #X connect 16 0 1 0; 40 | #X connect 17 0 16 0; -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2025 Yann Seznec 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /talkBackSynth.pd: -------------------------------------------------------------------------------- 1 | #N canvas 0 70 1100 783 12; 2 | #X obj 236 388 osc~; 3 | #X obj 301 227 *~ 1.5; 4 | #X obj 301 248 osc~; 5 | #X floatatom 333 192 5 0 0 0 - - - 0; 6 | #X obj 231 357 +~; 7 | #X obj 292 281 *~ 20; 8 | #X floatatom 353 248 5 0 0 0 - - - 0; 9 | #X obj 335 134 / 500; 10 | #X obj 334 75 loadbang; 11 | #X obj 396 221 + 100; 12 | #X obj 397 167 loadbang; 13 | #X obj 319 562 *~; 14 | #X obj 378 363 inlet; 15 | #X msg 376 399 \$1 5; 16 | #X obj 376 420 line~; 17 | #X obj 321 617 outlet~; 18 | #X obj 247 427 *~ 0.5; 19 | #X obj 227 168 inlet~; 20 | #X obj 493 57 r sampleStop; 21 | #X obj 336 113 random 5000; 22 | #X obj 397 200 random 5000; 23 | #X text 489 88 After each playback the synth is slightly randomized 24 | ; 25 | #X text 138 139 pitch from sigmund; 26 | #X text 422 361 volume control; 27 | #X connect 0 0 16 0; 28 | #X connect 1 0 2 0; 29 | #X connect 2 0 5 0; 30 | #X connect 3 0 1 1; 31 | #X connect 4 0 0 0; 32 | #X connect 5 0 4 1; 33 | #X connect 6 0 5 1; 34 | #X connect 7 0 3 0; 35 | #X connect 8 0 19 0; 36 | #X connect 9 0 6 0; 37 | #X connect 10 0 20 0; 38 | #X connect 11 0 15 0; 39 | #X connect 12 0 13 0; 40 | #X connect 13 0 14 0; 41 | #X connect 14 0 11 1; 42 | #X connect 16 0 11 0; 43 | #X connect 17 0 1 0; 44 | #X connect 17 0 4 0; 45 | #X connect 18 0 19 0; 46 | #X connect 18 0 20 0; 47 | #X connect 19 0 7 0; 48 | #X connect 20 0 9 0; 49 | --------------------------------------------------------------------------------