Audacity
Project #16: Sound – Audacity – Mk06
——
#donluc #sound #audacity #synthesizer #programming #arduino #fritzing #electronics #microcontrollers #consultant #vlog
——
——
Audacity
Free, open source, cross-platform audio software. Audacity is an easy-to-use, multi-track audio editor and recorder for Windows, macOS, GNU/Linux and other operating systems. Developed by a group of volunteers as open source.
Recording
Audacity can record live audio through a microphone or mixer, or digitize recordings from other media.
Export / Import
Import, edit, and combine sound files. Export your recordings in many different file formats, including multiple files at once.
Sound Quality
Supports 16-bit, 24-bit and 32-bit. Sample rates and formats are converted using high-quality resampling and dithering.
Plugins
Support for LADSPA, LV2, Nyquist, VST and Audio Unit effect plug-ins. Nyquist effects can be easily modified in a text editor – or you can even write your own plug-in.
Editing
Easy editing with Cut, Copy, Paste and Delete. Also unlimited sequential Undo (and Redo) in the session to go back any number of steps.
Effects
Real-time preview of LADSPA, LV2, VST and Audio Unit (macOS) effects. Plug-in Manager handles plug-in installation and addition/removal of effects and generators from the menus.
Accessibility
Tracks and selections can be fully manipulated using the keyboard. Large range of keyboard shortcuts.
Analysis
Spectrogram view mode for visualizing and selecting frequencies. Plot Spectrum window for detailed frequency analysis.
Arduino
The keyboard functions prevent Arduino Uno a processor ATmega328P to send keystrokes to an attached computer through their micro’s native USB port. Keyboard processor ATmega32U4 command the Leonardo, Micro, Due board, Pro Micro, and Fio v3. The approximately 150 most important functions in Audacity can be controlled and triggered with shortcuts, by pressing multiple keys on the computer keyboard. Keyboard Serial listens for a byte coming from the serial port. When received, the board sends a keystroke back to the computer.
DL2010Mk05
1 x Fio v3 – ATmega32U4
1 x 4×4 Matrix Keypad
8 x Jumper Wires 6in M/F
1 x Half-Size Breadboard
1 x SparkFun Cerberus USB Cable
Fio v3 – ATmega32U4
KP2 – Digital 2
KP3 – Digital 3
KP4 – Digital 4
KP5 – Digital 5
KP6 – Digital 6
KP7 – Digital 7
KP8 – Digital 8
KP9 – Digital 9
VIN – +3.3V
GND – GND
DL2010Mk05p.ino
// ***** Don Luc Electronics © ***** // Software Version Information // Project #16: Sound - Audacity - Mk06 // 10-05 // DL2010Mk05p.ino 16-06 // 1 x Fio v3 - ATmega32U4 // 1 x 4x4 Matrix Keypad // 8 x Jumper Wires 6in M/F // 1 x Half-Size Breadboard // 1 x SparkFun Cerberus USB Cable // Include the Library Code // 4x4 Matrix Keypad #include#include "Keyboard.h" // 4x4 Matrix Keypad // Four rows const byte ROWS = 4; // Four columns const byte COLS = 4; // Define the symbols on the buttons of the keypads char hexaKeys[ROWS][COLS] = { {'1','2','3','A'}, {'4','5','6','B'}, {'7','8','9','C'}, {'*','0','#','D'} }; // Connect to the row pinouts of the keypad byte rowPins[ROWS] = {5, 4, 3, 2}; // Connect to the column pinouts of the keypad byte colPins[COLS] = {9, 8, 7, 6}; // Initialize an instance of class NewKeypad Keypad customKeypad = Keypad( makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS); char customKey; // Software Version Information String sver = "16-06"; void loop() { // 4x4 Matrix Keypad isKeypad(); delay( 50 ); }
getKeypad.ino
// 4x4 Matrix Keypad // Keypad void isKeypad() { // 4x4 Matrix Keypad customKey = customKeypad.getKey(); if ( customKey == '0' ){ // 0 = Go to Selection Start delay(10); Keyboard.press(KEY_LEFT_CTRL); delay(10); Keyboard.press('['); delay(10); Keyboard.releaseAll(); } if ( customKey == '1' ){ // 1 = Increase gain on focused track 1 dB. delay(10); Keyboard.press(KEY_LEFT_ALT); delay(10); Keyboard.press(KEY_RIGHT_SHIFT); delay(10); Keyboard.press(KEY_UP_ARROW); delay(10); Keyboard.releaseAll(); } if ( customKey == '2' ){ // 2 = Zoom In delay(10); Keyboard.press(KEY_LEFT_CTRL); delay(10); Keyboard.press('1'); delay(10); Keyboard.releaseAll(); } if ( customKey == '3' ){ // 3 = Play/Stop delay(10); Keyboard.press(KEY_LEFT_SHIFT); delay(10); Keyboard.press('A'); delay(10); Keyboard.releaseAll(); } if ( customKey == '4' ){ // 4 = Decrease gain on focused track 1 dB. delay(10); Keyboard.press(KEY_LEFT_ALT); delay(10); Keyboard.press(KEY_RIGHT_SHIFT); delay(10); Keyboard.press(KEY_DOWN_ARROW); delay(10); Keyboard.releaseAll(); } if ( customKey == '5' ){ // 5 = Zoom Normal delay(10); Keyboard.press(KEY_LEFT_CTRL); delay(10); Keyboard.press('2'); delay(10); Keyboard.releaseAll(); } if ( customKey == '6' ){ // 6 = } if ( customKey == '7' ){ // 7 = } if ( customKey == '8' ){ // 8 = Zoom Out delay(10); Keyboard.press(KEY_LEFT_CTRL); delay(10); Keyboard.press('3'); delay(10); Keyboard.releaseAll(); } if ( customKey == '9' ){ // 9 = } if ( customKey == 'A' ){ // A = Skip to Start delay(10); Keyboard.press(KEY_HOME); delay(10); Keyboard.releaseAll(); } if ( customKey == 'B' ){ // B = Skip to End delay(10); Keyboard.press(KEY_END); delay(10); Keyboard.releaseAll(); } if ( customKey == 'C' ){ // C = } if ( customKey == 'D' ){ // D = } if ( customKey == '*' ){ // * = } if ( customKey == '#' ){ // # = } }
setup.ino
// Setup void setup() { // Open the serial port Serial.begin(9600); // Initialize control over the keyboard Keyboard.begin(); }
Technology Experience
- Single-Board Microcontrollers (PIC, Arduino, Raspberry Pi,Espressif, etc…)
- Robotics
- Research & Development (R & D)
- Desktop Applications (Windows, OSX, Linux, Multi-OS, Multi-Tier, etc…)
- Mobile Applications (Android, iOS, Blackberry, Windows Mobile, Windows CE, etc…)
- Web Applications (LAMP, Scripting, Java, ASP, ASP.NET, RoR, Wakanda, etc…)
- Social Media Programming & Integration (Facebook, Twitter, YouTube, Pinterest, etc…)
- Content Management Systems (WordPress, Drupal, Joomla, Moodle, etc…)
- Bulletin Boards (phpBB, SMF, Vanilla, jobberBase, etc…)
- eCommerce (WooCommerce, OSCommerce, ZenCart, PayPal Shopping Cart, etc…)
Instructor
- Arduino
- Raspberry Pi
- Espressif
- Robotics
- DOS, Windows, OSX, Linux, iOS, Android, Multi-OS
- Linux-Apache-PHP-MySQL
Follow Us
J. Luc Paquin – Curriculum Vitae
https://www.donluc.com/DLHackster/LucPaquinCVEngMk2020a.pdf
Web: https://www.donluc.com/
Web: http://www.jlpconsultants.com/
Web: https://www.donluc.com/DLHackster/
Web: https://www.hackster.io/neosteam-labs
Facebook: https://www.facebook.com/neosteam.labs.9/
YouTube: https://www.youtube.com/channel/UC5eRjrGn1CqkkGfZy0jxEdA
Twitter: https://twitter.com/labs_steam
Pinterest: https://www.pinterest.com/NeoSteamLabs/
Instagram: https://www.instagram.com/luc.paquin/
Don Luc