All posts by ericdano

Polymath, musician, awesome.

Sheet Of The Week – Fortnite Phone It In Emote

Ok, fine, here it is. It’s annoying, but everyone seems to want it. It is played, in the game, by an Alto Sax. Enjoy.

  Fortnite Emote Phone it in for Eb Instruments (38.7 KiB, 5 hits)
You do not have permission to download this file. Go register first.

  Fortnite Emote Phone it in for Bb Instruments (38.0 KiB, 2 hits)
You do not have permission to download this file. Go register first.

DYI BLuetooth Page Turner

The biggest issue for anyone who has an iPad and uses it for music is turning the pages. You can buy a myriad of them on Amazon. But, that is yet another thing to take to a gig. And what if you already have an effects pedal happening? It’s another thing on the floor, that you have to figure out where to put it…..so can’t you put it on the pedal board?

Pedalboard 2.0 tried to do this. But it was huge. Took up a LOT of space, even on a bigger pedal board. And I don’t like lugging around the bigger pedal board.

Pedalboard 2.0
Pedalboard 2.0…..just too big to take to gigs.

So, why not make one? There are a couple of DYI projects on the web to make a bluetooth page turner, one of them being this one on the instructables. However, they no longer sell the keypart of this project, the Adafruit EZ-Key. Spending some time on Google I found this great tutorial by Anthony Warren which used readily available parts. We parted ways on how to do the code though, which I’ll explain a little later. Let’s get to the parts.

The first part is an Adafruit Feather M0 Bluefruit LE. This is the brains of the whole thing. It is powered by either a battery pack or USB. The power supply on my pedal board has USB, so power is not an issue.

Next parts were the Etopars Guitar Effects Pedal Box Momentary SPST Button Stomp Foot Switches. These are in an OPEN state until you press them, and then it completes the circuit.

Wiring was pretty straight forward. Both switches share a common ground.

white wires aren’t connected to anything at the moment. Perhaps later for a blinking light or
something.
Underneath the board, USB power to the Bluefruit and the wiring of the switches. Again, white wires are not connected to anything at the moment.
Finished product.

The whole thing was really easy to do and now I have an effects pedal with a page turner on it.

Now, the code. I chose to do the route of making the Bluefruit a keyboard replacement rather than what Mr. Warren did (where he did it via Midi). The advantage is that it is easier to pair, and it was easier to get ForScore to work. Plus I had a time deadline on it, and wanted it working before a gig. I MIGHT revisit this and tweak it some more (perhaps using Midi). Right now though, it works really well. I think I might tweak it so when you stomp BOTH Switches, it drops the bluetooth connection for a set period of time or until you stomp BOTH again. This would allow me then to use the iPad’s keyboard for a period of time. Anyhow, the code is based off the example in the Arduino IDE.

/*********************************************************************
 This is an example for our nRF51822 based Bluefruit LE modules

 Pick one up today in the adafruit shop!

 Adafruit invests time and resources providing this open source code,
 please support Adafruit and open-source hardware by purchasing
 products from Adafruit!

 MIT license, check LICENSE for more information
 All text above, and the splash screen below must be included in
 any redistribution
*********************************************************************/

/*
  This example shows how to send HID (keyboard/mouse/etc) data via BLE
  Note that not all devices support BLE keyboard! BLE Keyboard != Bluetooth Keyboard

  This pageturning code is based on the above Example. Uses ForScore on an iPad. Changed the next page keymapping to N and the previous page to P
  
*/

#include <Arduino.h>
#include <Wire.h>
#include <SPI.h>
//#include <Keyboard.h>
#include "Adafruit_BLE.h"
#include "Adafruit_BluefruitLE_SPI.h"
#include "Adafruit_BluefruitLE_UART.h"

#include "BluefruitConfig.h"

#if SOFTWARE_SERIAL_AVAILABLE
  #include <SoftwareSerial.h>
#endif


/*=========================================================================
    APPLICATION SETTINGS

? ? FACTORYRESET_ENABLE?   ?  Perform a factory reset when running this sketch
? ?
? ?                           Enabling this will put your Bluefruit LE module
                              in a 'known good' state and clear any config
                              data set in previous sketches or projects, so
? ?                           running this at least once is a good idea.
? ?
? ?                           When deploying your project, however, you will
                              want to disable factory reset by setting this
                              value to 0.? If you are making changes to your
? ?                           Bluefruit LE device via AT commands, and those
                              changes aren't persisting across resets, this
                              is the reason why.? Factory reset will erase
                              the non-volatile memory where config data is
                              stored, setting it back to factory default
                              values.
? ? ? ?
? ?                           Some sketches that require you to bond to a
                              central device (HID mouse, keyboard, etc.)
                              won't work at all with this feature enabled
                              since the factory reset will clear all of the
                              bonding data stored on the chip, meaning the
                              central device won't be able to reconnect.
    MINIMUM_FIRMWARE_VERSION  Minimum firmware version to have some new features
    -----------------------------------------------------------------------*/
    #define FACTORYRESET_ENABLE         0
    #define MINIMUM_FIRMWARE_VERSION    "0.6.6"
/*=========================================================================*/


// Create the bluefruit object, either software serial...uncomment these lines
/*
SoftwareSerial bluefruitSS = SoftwareSerial(BLUEFRUIT_SWUART_TXD_PIN, BLUEFRUIT_SWUART_RXD_PIN);

Adafruit_BluefruitLE_UART ble(bluefruitSS, BLUEFRUIT_UART_MODE_PIN,
                      BLUEFRUIT_UART_CTS_PIN, BLUEFRUIT_UART_RTS_PIN);
*/

/* ...or hardware serial, which does not need the RTS/CTS pins. Uncomment this line */
// Adafruit_BluefruitLE_UART ble(BLUEFRUIT_HWSERIAL_NAME, BLUEFRUIT_UART_MODE_PIN);

/* ...hardware SPI, using SCK/MOSI/MISO hardware SPI pins and then user selected CS/IRQ/RST */
Adafruit_BluefruitLE_SPI ble(BLUEFRUIT_SPI_CS, BLUEFRUIT_SPI_IRQ, BLUEFRUIT_SPI_RST);

/* ...software SPI, using SCK/MOSI/MISO user-defined SPI pins and then user selected CS/IRQ/RST */
//Adafruit_BluefruitLE_SPI ble(BLUEFRUIT_SPI_SCK, BLUEFRUIT_SPI_MISO,
//                             BLUEFRUIT_SPI_MOSI, BLUEFRUIT_SPI_CS,
//                             BLUEFRUIT_SPI_IRQ, BLUEFRUIT_SPI_RST);

// A small helper
void error(const __FlashStringHelper*err) {
  Serial.println(err);
  while (1);
}


/**************************************************************************/
/*!
    @brief  Sets up the HW an the BLE module (this function is called
            automatically on startup)
*/
/**************************************************************************/
void setup(void)
{
//  while (!Serial);  // required for Flora & Micro
  delay(500);

  if ( !ble.begin(VERBOSE_MODE) )
  {
    error(F("Couldn't find Bluefruit, make sure it's in CoMmanD mode & check wiring?"));
  }
  /* Disable command echo from Bluefruit */
  ble.echo(false);

//  Serial.println("Requesting Bluefruit info:");
  /* Print Bluefruit information */
  ble.info();

  /* Change the device name to make it easier to find */
 // Serial.println(F("Setting device name to 'Bluefruit Keyboard': "));
  if (! ble.sendCommandCheckOK(F( "AT+GAPDEVNAME=Bluefruit PageTurner" )) ) {
    error(F("Could not set device name?"));
  }

  /* Enable HID Service */
//  Serial.println(F("Enable HID Service (including Keyboard): "));
  if ( ble.isVersionAtLeast(MINIMUM_FIRMWARE_VERSION) )
  {
    if ( !ble.sendCommandCheckOK(F( "AT+BleHIDEn=On" ))) {
      error(F("Could not enable Keyboard"));
    }
  }else
  {
    if (! ble.sendCommandCheckOK(F( "AT+BleKeyboardEn=On"  ))) {
      error(F("Could not enable Keyboard"));
    }
  }

  /* Add or remove service requires a reset */
  Serial.println(F("Performing a SW reset (service changes require a reset): "));
  if (! ble.reset() ) {
    error(F("Couldn't reset??"));
  }

  // Set up Pins on the board to be able to handle the SPST switches (Guitar type switches)
  pinMode(6, INPUT_PULLUP);
  pinMode(11, INPUT_PULLUP);
  // Give some visual feedback things are working on the board
  pinMode(LED_BUILTIN, OUTPUT);
  digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW
  
}

/**************************************************************************/
/*!
    @brief  Constantly poll for new command or response data
*/
/**************************************************************************/

void loop(void)
{
// interval for each scanning ~ 500ms (non blocking)
//  ble.update(500);
  if ((digitalRead(6) == HIGH) && (digitalRead(11) == HIGH)){
    // This is here as a little visual indicator that this are working ok
    digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW
  }
  if (digitalRead(6) == LOW){
    ble.print("AT+BleKeyboard=");
    ble.println("P");
    digitalWrite(LED_BUILTIN, HIGH);    // turn the LED ON by making the voltage HIGH 
    if( ble.waitForOK() ){
      Serial.println( F("OK!") );
    }
    else{
    Serial.println( F("FAILED!") );
    }
  }
  if (digitalRead(11) == LOW){
    ble.print("AT+BleKeyboard=");
    ble.println("N");
    digitalWrite(LED_BUILTIN, HIGH);    // turn the LED ON by making the voltage HIGH 
    if( ble.waitForOK() ){
      Serial.println( F("OK!") );}
    else{
      Serial.println( F("FAILED!") );
    }    
  }
  delay(500);
}

Pedalboard 3.1

I describe my previous pedal board setup here. A couple of months ago, I replaced the Nano POG with a TC Electronic HOF Mini. I found with the Eventide H9, having the Nano POG was sort of redundant. Plus, I have the Eventide H9 on bluetooth midi, allowing me to easily configure it to change patches when I switch pages in ForScore. 

Having a reverb is really nice to help fill out one’s sound when dealing with different sound systems or performance spots. I still haven’t quite figured out how to get the EWI into this rig yet. The last attempt the volumes from the mic and instrument in on the Eventide Mixing Link were wildly off. Hopefully I’ll figure out a fix soon.

The other addition to the pedal board are the two switches on either side. This was a little project I did last week to incorporate a bluetooth page turner. This project will be documented in the next post.

SHEET OF THE WEEK – ARTHUR’s THEME (Christopher Cross)

Yes, I know, Sheet of the Week isn’t really weekly. Too busy to do it regularly.

Anyhow, started playing in a “Yacht Rock” band and this is one of the songs we do. Enjoy.

  Arthur's Theme by Christopher Cross for Eb Instruments (114.3 KiB, 6 hits)
You do not have permission to download this file. Go register first.

  Arthur's Theme by Christopher Cross for Bb Instruments (113.0 KiB, 4 hits)
You do not have permission to download this file. Go register first.

NYU SteinHART – Conversations with don Menza

Don Menza hands down was one of the most interesting saxophone players I have ever heard talk. Seeing his infamous “make any mouthpiece sound like whatever” clinic was mind blowing. He took a $400 mouthpiece, $100, and a cheap like $10 one, and made them all basically sound the same. 

Anyhow, this video is a great listen as well. 

Why Do LPs Sound So Good?

CNet has an article up about LPs.

The continuing audiophile fascination with LPs is a mystery, LPs are ancient tech, records can be noisy, they’re fragile, expensive and they take up a lot of space. The best turntables, high quality phono cartridges, and preamps can cost a fortune. Even so, a lot of audiophiles still favor LPs, I know I do.

I know I still have a bunch of LPs, but do not have any space for them (they are in storage). Why do I have so many LPs? Because, before about 2003 or so it was cheaper to spend $20 and go get a bunch of used LPs of music rather than buying a CD. Digital music was just starting to come out more mainstream. Yes, the late 90s saw Napster. And of course I partook in Napster. Quite honestly, the quality and quantity of music I like was not really good on Napster “back in the day”. And stuff was horribly mislabeled and the encoding was all over the place (anyone remember OGG audio format? Anyone?)

 

Review: Woodwind Design’s Bari Sax Stand

Over two years ago, I wrote about this stand I saw on youtube. Blew my mind. A Carbon Fiber stand?!? What wizardry is this? Playing sax, we are sort of shackled with the “standard” stand from Hercules or other similar ones. The Hercules stand is terrible. And it is yellow. Like construction yellow. *blah*

So, getting one of the Woodwind Design Bari Stands has been on my wishlist for a while to replace my Hercules one. I was contacted by Gijs van Leeuwen of Woodwind Design after leaving a comment on one of his videos, and he cut me a deal on a set of these if I reviewed them here. Here is the FIRST review. I was going to do them all together, but I think they really deserve individual reviews.

The stands arrived in a box that took about two weeks to make it to the West Coast. Most of that time it was in customs. I’m sure the customs people were like “huh?”, what is this?  Anyhow, it arrived safely.

 

The stands come with a two sided pamphlet telling you how to assemble the stands and what not. Pretty basic stuff. I’d be in favor of doing the QR Code thing and having a PDF or a website link to this instead.

So, let’s look at the Hercules stand.

I’ve had this stand for several years.  It’s been on many many gigs. It is heavy, and it doesn’t fit in any bags I have. Plus I can’t tell you how many times I’ve pinched myself putting this stand together or breaking it down. It has been a love/hate relationship. 

Now here is the Woodwind Design stand next to the Hercules.

Yes, in the case.

 

 

 

Amazing. (out of the case)

 

 

 

AND…..

It basically weighs nothing. Ok, well, if I had to compare the weight of them I would think about a dozen of the Woodwind Design stands might equal the weight of the Hercules one. According to Hercules, the weight of the Hercules stand is 4.6 pounds, and the Woodwind Design Bari stand is 1.1 pounds. The Woodwind Design stand feels like a piece of paper, while the Hercules is a rock. 

Stand vs Stand

Side by side, these stands are about the same height. The Woodwind Design one sits a little lower than the Hercules one. 

That’s not a problem though. The bari is still well within “grabbing range”, even if you are standing up.

As for actually HOLDING the Bari, they both do a fine job. 

Both stands are VERY stable if the bari receives a push side to side. The only issue might be that a forward push on the bari, the Woodwind Design stand seemed to want to tip a little easier. But in reality, the amount of forward leaning needed to get the stand to tip is not something you are ever going to encounter.  Both stands hold the bari steady, even though one is a 1/4 the weight of the other.

 

 

 

 

The Biggest Factor

The biggest selling points of the Woodwind Design stand are it’s  weight, and that you can transport it in the case. 

This is HUGE. When you bring a lot of equipment to a gig, having not to think about a stand is a big plus. I can’t tell you how many times I have been on my way to a gig and forgot a stand (bari or otherwise). I even went as far as making a check list for gigs that included stands, and I still forgot it once (cause I thought it was actually in the car already, and it wasn’t). Having the stand IN THE CASE just makes sense. And there is no really perceptible weight increase I can feel.  It is one of those “why didn’t they think of this before” things.

Compare that to the Hercules stand….

 

Plus the stand weights quite a bit, is bulky, and isn’t bag friendly.

Yes, it basically is an anchor you have to carry around. Then there is the aforementioned pinching yourself while setting up and taking down the stand.

Wrap-Up

There is nothing NOT to love about the Woodwind Design Bari stand. It’s everything one could want in a stand…..but…..you will pay for it. The stand currently sells for 242 Euros, which is about $276 US dollars. A Hercules stand costs about $55 on Amazon.

Now, a lot of you are like “damn, that is really expensive for a stand“. Yes, it is. But consider how much you have spent on the Bari (several thousands of dollars), and then add the case (several hundreds of dollars),  then your favorite neckstrap or harness (up to a hundred dollars), and finally your mouthpiece (several hundreds of dollars). 

And you want to skimp on a stand?

Really?