GithubHelp home page GithubHelp logo

tinwelint78 / ebaghet Goto Github PK

View Code? Open in Web Editor NEW
8.0 5.0 3.0 294 KB

Open source electronic pipes project for Arduino. Currently include Baghet (italian bagpipes), Great Highland Bagpipes, Small Pipes, Border Pipes, Uillean Pipes, Gaita Gallega and Gaita Asturiana (still in developement)

Home Page: https://tinwelint78.github.io/eBaghet/

License: GNU General Public License v3.0

C 68.46% C++ 31.54%
arduino mozzi bagpipes instrument sound uilleann chanter mozzi-library stm32f103 border-pipes

ebaghet's Introduction

eBaghet

Open source electronic pipes project for Arduino. Currently include Baghet (italian bagpipes), Great Highland Bagpipes, Small Pipes, Border Pipes, Uillean Pipes, Gaita Gallega and Gaita Asturiana (still in developement).

Largely based on eChanter by Tim Malcolm 2010-2015 CC by-nc-sa. (echanter site, sourceforge repository)

Audio based on the Mozzi Synth libraries and examples Mozzi, Tim Barrass 2012, CC by-nc-sa.

Sound for the Baghet is provided by Valter Biella

Build instruction:

For now, follow the excellent guide at echanter site.

To program the Arduino:

Download and install the Arduino IDE (tested on version 1.8.3)

Download and install my forked version of the Mozzi library from this site

Additional step for STM32F1 (Blue Pill)

The eBaghet source is compatible and tested with Blue Pill (STM32F1).

To install and make STM32F1 work, follow the tutorial by Luca Dentella.

Then download the Arduino_STM32 repository from Roger Clark Melbourne site, unzip somewhere, rename the Arduino_STM32-master folder to Arduino_STM32 and move it to C:/Program Files (x86)/Arduino/hardware.

If you want to use MPR12, download and install my library from this site

Configuration

Open the Mozzi config file [Arduino dir]/libraries/Mozzi/mozzi_config.h. If you're using HIFI mode, find the line that says AUDIO_MODE and make sure the section of code looks like this:

      //#define AUDIO_MODE STANDARD
      //#define AUDIO_MODE STANDARD_PLUS
      #define AUDIO_MODE HIFI

Scroll down to AUDIO_RATE and make sure the section of code looks like this

      //#define AUDIO_RATE 16384
      #define AUDIO_RATE 32768

If you don't want to use HIFI mode, you can activate stereo hack, to have drone sound on a channel and the chanter on another one, like this:

	  #define STEREO_HACK true

Save mozzi_config.h.

Start the Arduino IDE.

Open the eBaghet sketch from wherever it was unzipped (eBaghet.ino is the main sketch).

At this point there are a few things that can be changed in the config file. To edit the file click on the 'eBaghet_config' file tab in the Arduino IDE.

You can use high resolution samples by defining:

  #define USE_16BIT_SAMPLES true

You can define order with which instruments are presented:

  #define STARTING_INSTRUMENT	GHB
  #define FIRST_INSTRUMENT	BGT
  #define SECOND_INSTRUMENT	BRD
  #define THIRD_INSTRUMENT	SML
  #define FOURTH_INSTRUMENT	UIL

GHB is Great Highland Bagpipes, BGT is Baghet, BRD is border pipes, SML is small pipes, UIL is Uilleann pipes, GAL is Gaita gallega, AST is Gaita asturiana.

You can define if by default the chanter starts with a drone sound:

  #define STARTING_DRONES	DRONE_ON

or not, modifying the line above to:

  #define STARTING_DRONES	DRONE_OFF

and you can chose the starting intonation of the drones for the Baghet:

  #define STARTING_DRONE_INT	DRONE_INT_STANDARD

If you leave DRONE_INT_STANDARD, the Baget starts with a G drone. If you substitute with DRONE_INT_A, it starts with an A drone, and if you substitute with DRONE_INT_C, it starts with a C drone.

Then you can chose which style of sensors you are using for the fingering:

  #define TOUCHMODE TOUCH_CAP

With TOUCH_CAP, you use captouch sensor, with TOUCH_SWITCH standard pushbuttons and with TOUCH_MP121 the MP121 breakout board by Adafruit.

NOTE: MP121 is not working with STM32 right now and I have tested just a little with Arduino Nano, so it is totally experimental.

If you did use captouch style sensors, then at some point you may want to change the 4 on this line

  #define CAPTOUCH_TRIGGER 4

to something a little higher or lower, depending on how the finger detection works for you. For me, 4 is a good trigger level, but 6 also works OK.

You can also decide relative volumes for drones and chanter for all instruments, modifying these lines:

  #define GHB_CHANTER_VOLUME	8
  #define GHB_DRONES_VOLUME	4
  
  #define BGT_CHANTER_VOLUME	8
  #define BGT_DRONES_VOLUME	4
  
  #define BRD_CHANTER_VOLUME	8
  #define BRD_DRONES_VOLUME	8
  
  #define SML_CHANTER_VOLUME	8
  #define SML_DRONES_VOLUME	8
  
  #define UIL_CHANTER_VOLUME	8
  #define UIL_DRONES_VOLUME	8

  #define GAL_CHANTER_VOLUME	8
  #define GAL_DRONES_VOLUME	8
  
  #define AST_CHANTER_VOLUME	8
  #define AST_DRONES_VOLUME	8

You can change the numbers to any value between 1 and 8 (1 is minimum volume, 8 is maximum volume).

Last thing you can change are the pins where the eight finger sensors are connected. There is one line for STM32 and one for other Arduino boards:

  #if IS_STM32()
  int sensor_pins[] = {PA7, PA6, PA5, PA4, PA3, PA2, PA1, PA0};
  #else
  int sensor_pins[] = { 12, 8, 7, 6, 5, 4, 3, 2 };
  #endif

They are ordered from high A (12 and PA7) to low A (2 and PA0).

Programming

  • Connect the Arduino.
  • Select the board type from the Tools menu (eg Arduino nano).
  • Select the processor type from the Tools menu (eg ATMega 328).
  • Select the Serial port from the Tools menu.
  • Upload the sketch.

Options

The eBaghet has several working mode depending on which keys you close when you turn on the chanter power:

  • If you don't close any key the chanter will start with the instrument defined by STARTING_INSTRUMENT (default Great Highland Bagpipes) and with drones or not depending on STARTING_DRONES definition (default drones on).
  • If you close High A key, the chanter will start with the instrument defined by FIRST_INSTRUMENT (default Baghet), with drones or not depending on STARTING_DRONES definition (default drones on) and with intonation defined by STARTING_DRONE_INT (default standard intonation, G drones).
  • If you close High G key, the chanter will start with the instrument defined by SECOND_INSTRUMENT (default Border pipes) and with drones or not depending on STARTING_DRONES definition (default drones on).
  • If you close F key, the chanter will start with the instrument defined by THIRD_INSTRUMENT (default Small pipes) and with drones or not depending on STARTING_DRONES definition (default drones on).
  • If you close E key, the chanter will start with the instrument defined by FOURTH_INSTRUMENT (default Uilleann pipes) and with drones or not depending on STARTING_DRONES definition (default drones on).
  • If you close D key, the drones will be turned off or on depending on the reverse of what is defined by STARTING_DRONES (default drones off).
  • If you close C key and the instrument is Baghet, the drones will change intonation to A. if DRONE_INT_A is defined as STARTING_DRONE_INT, the drones will return to normal G intonation.
  • If you close B key and the instrument is Baghet, the drones will change intonation to C. if DRONE_INT_C is defined as STARTING_DRONE_INT, the drones will return to normal G intonation.

Fingering

Great Highland Bagpipes, border pipes and small pipes follow this finger chart:

GHB

For Uilleann Pipes follow this finger chart:

UIL

For the Baghet, follow this finger chart (According to Manuale del Baghet by Valter Biella):

Baghet

Dashed keys can be closed or open as comfort of position needs.

ebaghet's People

Contributors

per1234 avatar tinwelint78 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

ebaghet's Issues

many errors compiling

nice project, can't wait to get it going.
i wanted to reach out to you because so far in the Arduino forums no one has been able to help. i'm not sure if this is the right venue to contact you about this. if there's another please let me know.
i have tried to compile the code for a Teensy LC but it returns many errors. in fact, i have tried many boards in the IDE and i can only get it to compile on two or three arduino or teensy. i've only made the changes you suggest as they pertain to me and i had to make one change to the mozzi-analog.cpp suggested by someone on a forum. the adc->enableInterrupts(ADC_0); was changed to adc->adc0->enableInterrupts(ADC_0);
this is what i get after trying to compile.

Arduino: 1.8.15 (Mac OS X), TD: 1.54, Board: "Teensy LC, Serial, 48 MHz, Smallest Code, US English"

/Applications/Teensyduino.app/Contents/Java/arduino-builder -dump-prefs -logger=machine -hardware /Applications/Teensyduino.app/Contents/Java/hardware -tools /Applications/Teensyduino.app/Contents/Java/tools-builder -tools /Applications/Teensyduino.app/Contents/Java/hardware/tools/avr -built-in-libraries /Applications/Teensyduino.app/Contents/Java/libraries -libraries /Users/heath/Documents/Arduino/libraries -fqbn=teensy:avr:teensyLC:usb=serial,speed=48,opt=osstd,keys=en-us -ide-version=10815 -build-path /var/folders/gq/jj9b6xvx731_m1vxyqp0gw300000gp/T/arduino_build_47872 -warnings=none -build-cache /var/folders/gq/jj9b6xvx731_m1vxyqp0gw300000gp/T/arduino_cache_301136 -verbose /Users/heath/Documents/Arduino/projects/eBaghet-master/eBaghet/eBaghet.ino
/Applications/Teensyduino.app/Contents/Java/arduino-builder -compile -logger=machine -hardware /Applications/Teensyduino.app/Contents/Java/hardware -tools /Applications/Teensyduino.app/Contents/Java/tools-builder -tools /Applications/Teensyduino.app/Contents/Java/hardware/tools/avr -built-in-libraries /Applications/Teensyduino.app/Contents/Java/libraries -libraries /Users/heath/Documents/Arduino/libraries -fqbn=teensy:avr:teensyLC:usb=serial,speed=48,opt=osstd,keys=en-us -ide-version=10815 -build-path /var/folders/gq/jj9b6xvx731_m1vxyqp0gw300000gp/T/arduino_build_47872 -warnings=none -build-cache /var/folders/gq/jj9b6xvx731_m1vxyqp0gw300000gp/T/arduino_cache_301136 -verbose /Users/heath/Documents/Arduino/projects/eBaghet-master/eBaghet/eBaghet.ino
Using board 'teensyLC' from platform in folder: /Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr
Using core 'teensy3' from platform in folder: /Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr
Detecting libraries used...
/Applications/Teensyduino.app/Contents/Java/hardware/teensy/../tools/arm/bin/arm-none-eabi-g++ -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -mno-unaligned-access -fno-exceptions -fpermissive -felide-constructors -std=gnu++14 -Wno-error=narrowing -fno-rtti -mthumb -mcpu=cortex-m0plus -fsingle-precision-constant -D__MKL26Z64__ -DTEENSYDUINO=154 -DARDUINO=10815 -DARDUINO_TEENSYLC -DF_CPU=48000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH -I/Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/cores/teensy3 /var/folders/gq/jj9b6xvx731_m1vxyqp0gw300000gp/T/arduino_build_47872/sketch/eBaghet.ino.cpp -o /dev/null
Alternatives for MozziGuts.h: [[email protected]]
ResolveLibrary(MozziGuts.h)
-> candidates: [[email protected]]
/Applications/Teensyduino.app/Contents/Java/hardware/teensy/../tools/arm/bin/arm-none-eabi-g++ -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -mno-unaligned-access -fno-exceptions -fpermissive -felide-constructors -std=gnu++14 -Wno-error=narrowing -fno-rtti -mthumb -mcpu=cortex-m0plus -fsingle-precision-constant -D__MKL26Z64__ -DTEENSYDUINO=154 -DARDUINO=10815 -DARDUINO_TEENSYLC -DF_CPU=48000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH -I/Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/cores/teensy3 -I/Users/heath/Documents/Arduino/libraries/Mozzi-master /var/folders/gq/jj9b6xvx731_m1vxyqp0gw300000gp/T/arduino_build_47872/sketch/eBaghet.ino.cpp -o /dev/null
Alternatives for ADC.h: [[email protected]]
ResolveLibrary(ADC.h)
-> candidates: [[email protected]]
/Applications/Teensyduino.app/Contents/Java/hardware/teensy/../tools/arm/bin/arm-none-eabi-g++ -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -mno-unaligned-access -fno-exceptions -fpermissive -felide-constructors -std=gnu++14 -Wno-error=narrowing -fno-rtti -mthumb -mcpu=cortex-m0plus -fsingle-precision-constant -D__MKL26Z64__ -DTEENSYDUINO=154 -DARDUINO=10815 -DARDUINO_TEENSYLC -DF_CPU=48000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH -I/Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/cores/teensy3 -I/Users/heath/Documents/Arduino/libraries/Mozzi-master -I/Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/ADC /var/folders/gq/jj9b6xvx731_m1vxyqp0gw300000gp/T/arduino_build_47872/sketch/eBaghet.ino.cpp -o /dev/null
/Applications/Teensyduino.app/Contents/Java/hardware/teensy/../tools/arm/bin/arm-none-eabi-g++ -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -mno-unaligned-access -fno-exceptions -fpermissive -felide-constructors -std=gnu++14 -Wno-error=narrowing -fno-rtti -mthumb -mcpu=cortex-m0plus -fsingle-precision-constant -D__MKL26Z64__ -DTEENSYDUINO=154 -DARDUINO=10815 -DARDUINO_TEENSYLC -DF_CPU=48000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH -I/Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/cores/teensy3 -I/Users/heath/Documents/Arduino/libraries/Mozzi-master -I/Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/ADC -I/Users/heath/Documents/Arduino/libraries/Mozzi-master/utility /Users/heath/Documents/Arduino/libraries/Mozzi-master/utility/FrequencyTimer2.cpp -o /dev/null
/Applications/Teensyduino.app/Contents/Java/hardware/teensy/../tools/arm/bin/arm-none-eabi-g++ -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -mno-unaligned-access -fno-exceptions -fpermissive -felide-constructors -std=gnu++14 -Wno-error=narrowing -fno-rtti -mthumb -mcpu=cortex-m0plus -fsingle-precision-constant -D__MKL26Z64__ -DTEENSYDUINO=154 -DARDUINO=10815 -DARDUINO_TEENSYLC -DF_CPU=48000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH -I/Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/cores/teensy3 -I/Users/heath/Documents/Arduino/libraries/Mozzi-master -I/Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/ADC -I/Users/heath/Documents/Arduino/libraries/Mozzi-master/utility /Users/heath/Documents/Arduino/libraries/Mozzi-master/utility/TimerOne.cpp -o /dev/null
/Applications/Teensyduino.app/Contents/Java/hardware/teensy/../tools/arm/bin/arm-none-eabi-g++ -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -mno-unaligned-access -fno-exceptions -fpermissive -felide-constructors -std=gnu++14 -Wno-error=narrowing -fno-rtti -mthumb -mcpu=cortex-m0plus -fsingle-precision-constant -D__MKL26Z64__ -DTEENSYDUINO=154 -DARDUINO=10815 -DARDUINO_TEENSYLC -DF_CPU=48000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH -I/Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/cores/teensy3 -I/Users/heath/Documents/Arduino/libraries/Mozzi-master -I/Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/ADC -I/Users/heath/Documents/Arduino/libraries/Mozzi-master/utility /Users/heath/Documents/Arduino/libraries/Mozzi-master/utility/TimerZero.cpp -o /dev/null
Using cached library dependencies for file: /Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/ADC/ADC.cpp
Using cached library dependencies for file: /Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/ADC/ADC_Module.cpp
Using cached library dependencies for file: /Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/ADC/AnalogBufferDMA.cpp
Generating function prototypes...
/Applications/Teensyduino.app/Contents/Java/hardware/teensy/../tools/arm/bin/arm-none-eabi-g++ -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -mno-unaligned-access -fno-exceptions -fpermissive -felide-constructors -std=gnu++14 -Wno-error=narrowing -fno-rtti -mthumb -mcpu=cortex-m0plus -fsingle-precision-constant -D__MKL26Z64__ -DTEENSYDUINO=154 -DARDUINO=10815 -DARDUINO_TEENSYLC -DF_CPU=48000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH -I/Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/cores/teensy3 -I/Users/heath/Documents/Arduino/libraries/Mozzi-master -I/Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/ADC /var/folders/gq/jj9b6xvx731_m1vxyqp0gw300000gp/T/arduino_build_47872/sketch/eBaghet.ino.cpp -o /var/folders/gq/jj9b6xvx731_m1vxyqp0gw300000gp/T/arduino_build_47872/preproc/ctags_target_for_gcc_minus_e.cpp
/Applications/Teensyduino.app/Contents/Java/tools-builder/ctags/5.8-arduino11/ctags -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives /var/folders/gq/jj9b6xvx731_m1vxyqp0gw300000gp/T/arduino_build_47872/preproc/ctags_target_for_gcc_minus_e.cpp
Compiling sketch...
/Applications/Teensyduino.app/Contents/Java/hardware/teensy/../tools/precompile_helper /Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/cores/teensy3 /var/folders/gq/jj9b6xvx731_m1vxyqp0gw300000gp/T/arduino_build_47872 /Applications/Teensyduino.app/Contents/Java/hardware/teensy/../tools/arm/bin/arm-none-eabi-g++ -x c++-header -Os --specs=nano.specs -g -Wall -ffunction-sections -fdata-sections -nostdlib -mno-unaligned-access -MMD -fno-exceptions -fpermissive -felide-constructors -std=gnu++14 -Wno-error=narrowing -fno-rtti -mthumb -mcpu=cortex-m0plus -fsingle-precision-constant -D__MKL26Z64__ -DTEENSYDUINO=154 -DARDUINO=10815 -DARDUINO_TEENSYLC -DF_CPU=48000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH -I/Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/cores/teensy3 /var/folders/gq/jj9b6xvx731_m1vxyqp0gw300000gp/T/arduino_build_47872/pch/Arduino.h -o /var/folders/gq/jj9b6xvx731_m1vxyqp0gw300000gp/T/arduino_build_47872/pch/Arduino.h.gch
Using previously compiled file: /var/folders/gq/jj9b6xvx731_m1vxyqp0gw300000gp/T/arduino_build_47872/pch/Arduino.h.gch
/Applications/Teensyduino.app/Contents/Java/hardware/teensy/../tools/arm/bin/arm-none-eabi-g++ -c -Os --specs=nano.specs -g -Wall -ffunction-sections -fdata-sections -nostdlib -mno-unaligned-access -MMD -fno-exceptions -fpermissive -felide-constructors -std=gnu++14 -Wno-error=narrowing -fno-rtti -mthumb -mcpu=cortex-m0plus -fsingle-precision-constant -D__MKL26Z64__ -DTEENSYDUINO=154 -DARDUINO=10815 -DARDUINO_TEENSYLC -DF_CPU=48000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH -I/var/folders/gq/jj9b6xvx731_m1vxyqp0gw300000gp/T/arduino_build_47872/pch -I/Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/cores/teensy3 -I/Users/heath/Documents/Arduino/libraries/Mozzi-master -I/Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/ADC /var/folders/gq/jj9b6xvx731_m1vxyqp0gw300000gp/T/arduino_build_47872/sketch/eBaghet.ino.cpp -o /var/folders/gq/jj9b6xvx731_m1vxyqp0gw300000gp/T/arduino_build_47872/sketch/eBaghet.ino.cpp.o
/Users/heath/Documents/Arduino/projects/eBaghet-master/eBaghet/eBaghet.ino:71:0: warning: "CONTROL_RATE" redefined
#define CONTROL_RATE 256 //512 // 64 // powers of 2 please
^
In file included from /Users/heath/Documents/Arduino/projects/eBaghet-master/eBaghet/eBaghet.ino:29:0:
/Users/heath/Documents/Arduino/libraries/Mozzi-master/MozziGuts.h:46:0: note: this is the location of the previous definition
#define CONTROL_RATE 64
^
eBaghet: In function 'void updateControl()':
eBaghet:590: warning: unused variable 'fb'
byte fb = 0;
^
eBaghet:591: warning: unused variable 'sensor_val'
int sensor_val = 0;
^
eBaghet: In function 'int updateAudio()':
eBaghet:1941: warning: control reaches end of non-void function
}
^
In file included from /Users/heath/Documents/Arduino/projects/eBaghet-master/eBaghet/eBaghet.ino:29:0:
/Users/heath/Documents/Arduino/libraries/Mozzi-master/MozziGuts.h: At global scope:
/Users/heath/Documents/Arduino/libraries/Mozzi-master/MozziGuts.h:363:13: warning: 'void setupTimer2()' declared 'static' but never defined [-Wunused-function]
static void setupTimer2();
^
Compiling libraries...
Compiling library "Mozzi-master"
/Applications/Teensyduino.app/Contents/Java/hardware/teensy/../tools/arm/bin/arm-none-eabi-g++ -c -Os --specs=nano.specs -g -Wall -ffunction-sections -fdata-sections -nostdlib -mno-unaligned-access -MMD -fno-exceptions -fpermissive -felide-constructors -std=gnu++14 -Wno-error=narrowing -fno-rtti -mthumb -mcpu=cortex-m0plus -fsingle-precision-constant -D__MKL26Z64__ -DTEENSYDUINO=154 -DARDUINO=10815 -DARDUINO_TEENSYLC -DF_CPU=48000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH -I/var/folders/gq/jj9b6xvx731_m1vxyqp0gw300000gp/T/arduino_build_47872/pch -I/Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/cores/teensy3 -I/Users/heath/Documents/Arduino/libraries/Mozzi-master -I/Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/ADC -I/Users/heath/Documents/Arduino/libraries/Mozzi-master/utility /Users/heath/Documents/Arduino/libraries/Mozzi-master/MozziGuts.cpp -o /var/folders/gq/jj9b6xvx731_m1vxyqp0gw300000gp/T/arduino_build_47872/libraries/Mozzi-master/MozziGuts.cpp.o
Using previously compiled file: /var/folders/gq/jj9b6xvx731_m1vxyqp0gw300000gp/T/arduino_build_47872/libraries/Mozzi-master/mozzi_midi.cpp.o
Using previously compiled file: /var/folders/gq/jj9b6xvx731_m1vxyqp0gw300000gp/T/arduino_build_47872/libraries/Mozzi-master/mozzi_fixmath.cpp.o
Using previously compiled file: /var/folders/gq/jj9b6xvx731_m1vxyqp0gw300000gp/T/arduino_build_47872/libraries/Mozzi-master/twi_nonblock.cpp.o
Using previously compiled file: /var/folders/gq/jj9b6xvx731_m1vxyqp0gw300000gp/T/arduino_build_47872/libraries/Mozzi-master/mozzi_utils.cpp.o
Using previously compiled file: /var/folders/gq/jj9b6xvx731_m1vxyqp0gw300000gp/T/arduino_build_47872/libraries/Mozzi-master/mozzi_rand.cpp.o
Using previously compiled file: /var/folders/gq/jj9b6xvx731_m1vxyqp0gw300000gp/T/arduino_build_47872/libraries/Mozzi-master/mozzi_analog.cpp.o
/Users/heath/Documents/Arduino/libraries/Mozzi-master/MozziGuts.cpp: In function 'void startMozzi(int)':
/Users/heath/Documents/Arduino/libraries/Mozzi-master/MozziGuts.cpp:793:18: error: 'startAudioHiFi' was not declared in this scope
startAudioHiFi();
^
/Users/heath/Documents/Arduino/libraries/Mozzi-master/MozziGuts.cpp: In function 'void stopMozzi()':
/Users/heath/Documents/Arduino/libraries/Mozzi-master/MozziGuts.cpp:799:3: error: 'timer1' was not declared in this scope
timer1.end();
^
In file included from /Users/heath/Documents/Arduino/libraries/Mozzi-master/MozziGuts.cpp:20:0:
/Users/heath/Documents/Arduino/libraries/Mozzi-master/MozziGuts.h: At global scope:
/Users/heath/Documents/Arduino/libraries/Mozzi-master/MozziGuts.h:363:13: warning: 'void setupTimer2()' declared 'static' but never defined [-Wunused-function]
static void setupTimer2();
^
Using library Mozzi-master at version 1.0.3 in folder: /Users/heath/Documents/Arduino/libraries/Mozzi-master
Using library ADC at version 8.0 in folder: /Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/ADC
Error compiling for board Teensy LC.

Play OpenPipe samples

Hi there! I've just found your project, congrats!

I was trying to play OpenPipe samples (it has asturian and galician bagpipes) using Mozzi, but I don't know how to do it.

Is there a chance you could help me with it?

Thanks in advance!
Gonzalo

Can't compile with newest Teensyduino

I'm following the instructions of this Repo to use it on my Teensy 4.0. I downloaded the forked version of Mozzi etc. I'm using the newest version of Teensyduino 1.58.1 and the newest Arduino IDE 2.2.1. I also downloaded and unzipped the eBaghet sketchbook to compile it. I would like to look into the build notes but the original website with the build instructions doesn't exist anymore.

First I get this error message:
f:\Arduino Sketchbooks\libraries\Mozzi-master\MozziGuts.cpp:33:10: fatal error: HardwareTimer.h: No such file or directory
33 | #include "HardwareTimer.h"
| ^~~~~~~~~~~~~~~~~
compilation terminated.

exit status 1

Compilation error: exit status 1

When I update the forked Mozzi from 1.0.3 to 1.1.0 I get this error:

In file included from f:\Arduino Sketchbooks\libraries\Mozzi/MozziGuts.h:206,
from C:\Users\User\Downloads\eBaghet-master\eBaghet-master\eBaghet\eBaghet.ino:29:
f:\Arduino Sketchbooks\libraries\Mozzi/AudioConfigTeensy4.h:4:2: warning: #warning If you get a compilation error you should probably update Teensyduino to its latest version [-Wcpp]
4 | #warning If you get a compilation error you should probably update Teensyduino to its latest version
| ^~~~~~~
C:\Users\User\Downloads\eBaghet-master\eBaghet-master\eBaghet\eBaghet.ino:71: warning: "CONTROL_RATE" redefined
71 | #define CONTROL_RATE 256 //512 // 64 // powers of 2 please
|
In file included from C:\Users\User\Downloads\eBaghet-master\eBaghet-master\eBaghet\eBaghet.ino:29:
f:\Arduino Sketchbooks\libraries\Mozzi/MozziGuts.h:46: note: this is the location of the previous definition
46 | #define CONTROL_RATE 64
|
C:\Users\User\Downloads\eBaghet-master\eBaghet-master\eBaghet\eBaghet.ino: In function 'void updateControl()':
C:\Users\User\Downloads\eBaghet-master\eBaghet-master\eBaghet\eBaghet.ino:590:14: warning: unused variable 'fb' [-Wunused-variable]
590 | byte fb = 0;
| ^~
C:\Users\User\Downloads\eBaghet-master\eBaghet-master\eBaghet\eBaghet.ino:591:13: warning: unused variable 'sensor_val' [-Wunused-variable]
591 | int sensor_val = 0;
| ^~~~~~~~~~
In file included from C:\Users\User\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.58.1\cores\teensy4/core_pins.h:33,
from C:\Users\User\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.58.1\cores\teensy4/wiring.h:39,
from C:\Users\User\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.58.1\cores\teensy4/WProgram.h:46,
from C:\Users\User\AppData\Local\Temp\arduino\sketches\812D4A939E627830F76FD51E1B073672\pch\Arduino.h:6:
C:\Users\User\Downloads\eBaghet-master\eBaghet-master\eBaghet\eBaghet.ino: In function 'uint8_t readCapacitivePin(int)':
C:\Users\User\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.58.1\cores\teensy4/pins_arduino.h:142:71: error: cannot convert 'volatile uint32_t*' {aka 'volatile long unsigned int*'} to 'volatile uint8_t*' {aka 'volatile unsigned char*'} in assignment
142 | #define portOutputRegister(pin) ((digital_pin_to_info_PGM[(pin)].reg + 0))
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
| |
| volatile uint32_t* {aka volatile long unsigned int*}
C:\Users\User\Downloads\eBaghet-master\eBaghet-master\eBaghet\eBaghet.ino:1967:16: note: in expansion of macro 'portOutputRegister'
1967 | port = portOutputRegister ( digitalPinToPort ( pinToMeasure ) );
| ^~~~~~~~~~~~~~~~~~
C:\Users\User\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.58.1\cores\teensy4/pins_arduino.h:147:71: error: cannot convert 'volatile uint32_t*' {aka 'volatile long unsigned int*'} to 'volatile uint8_t*' {aka 'volatile unsigned char*'} in assignment
147 | #define portModeRegister(pin) ((digital_pin_to_info_PGM[(pin)].reg + 1))
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
| |
| volatile uint32_t* {aka volatile long unsigned int*}
C:\Users\User\Downloads\eBaghet-master\eBaghet-master\eBaghet\eBaghet.ino:1969:15: note: in expansion of macro 'portModeRegister'
1969 | ddr = portModeRegister ( digitalPinToPort ( pinToMeasure ) );
| ^~~~~~~~~~~~~~~~
C:\Users\User\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.58.1\cores\teensy4/pins_arduino.h:146:71: error: cannot convert 'volatile uint32_t*' {aka 'volatile long unsigned int*'} to 'volatile uint8_t*' {aka 'volatile unsigned char*'} in assignment
146 | #define portInputRegister(pin) ((digital_pin_to_info_PGM[(pin)].reg + 2))
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
| |
| volatile uint32_t* {aka volatile long unsigned int*}
C:\Users\User\Downloads\eBaghet-master\eBaghet-master\eBaghet\eBaghet.ino:1972:15: note: in expansion of macro 'portInputRegister'
1972 | pin = portInputRegister ( digitalPinToPort ( pinToMeasure ) );
| ^~~~~~~~~~~~~~~~~
C:\Users\User\Downloads\eBaghet-master\eBaghet-master\eBaghet\eBaghet.ino: In function 'int updateAudio()':
C:\Users\User\Downloads\eBaghet-master\eBaghet-master\eBaghet\eBaghet.ino:1941:1: warning: control reaches end of non-void function [-Wreturn-type]
1941 | }
| ^

exit status 1

Compilation error: exit status 1

Since I'm on the newest IDE etc. and there is nothing more to be updated, please help me to find out what I am doing wrong.

Best regards

DFPlayer Mini

Hi, excuse my english. I made the echanter with the sketch of the ebaghet, and I think its great, but maybe with low volume.
In other project someone makes one using the DFPlayer Mini with the wav files of the gaita sounds. Do you think that this can be a good idea? You could put diferent instrument sounds on the sdcard and change it with some buttom, having a multi-instrument, changing sounds easily without reprogramming the arduino, only changing the archives of the SD card.
I don't know if I can put here the link of the other project from a web out of github
Thank you.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.