• Speak Selection in Mac OS X Monterey

    Accessibility panel with the speak selection option checked.

    When I have to process a lot of reading material on my computer, I often find it helpful to leverage accessibility features. Larger text helps a ton, and that’s easy to enable with a simple ⌘ + keyboard shortcut in most web browsers. For my needs, text-to-speech has been extraordinarily helpful in keeping focused and moving forward when there is the potential for distraction. I tried a number of accessibility features on various platforms, and lately my go-to tool has been the speak selection feature that is found on Mac OS X Monterey

    To enable it, do the following:

    1. In Mac OS X Monterey, open System Preferences.
    2. Click Accessibility and then Spoken Content.
    3. Enable the Speak selection checkbox.
    4. Customize the system voice, speaking rate, and volume. Siri Voice 1 and 4 are very high quality. Adjust the settings to your preference. I use the default speaking rate and volume.
    5. Click Options to customize your settings. My keyboard shortcut is the most important part, and I leave it to the default Option Esc keys.

    To invoke the text to speech feature in a web page, simply select some text and use the Option + Esc keyboard shortcut. To have it stop speaking, use Option + Esc a second time. That’s it! Happy reading!

  • The Recipe for San Bei Ji

    photo of temple rooftops in Taiwan

    I would be remiss in publishing a website with the domain “sanbeiji.com” without some kind of explanation. And a recipe.

    San bei ji is a traditional Taiwanese dish. In Mandarin, it is written 三杯鷄, and translates to “three cup chicken”. The name comes from the key ingredients: A cup of sesame oil, a cup of rice wine, and a cup of soy sauce.

    I secured the domain sanbeiji.com sometime in 2001. I wanted to start a website to practice my web coding skills. I was in Taiwan at that time, and had exhausted quite a list of potential domain name candidates. We went out for food, and san bei ji was ordered. It was delicious, and the domain name was available, and so there it was: Another great decision based on my gut.

    This recipe specifies gluten free soy sauce, but you’ll get the same result with the regular version.

    Ingredients

    • 1/2 chicken
    • 1 fresh large old ginger root, cut into 10 to 15 pieces
    • 6 cloves of garlic, chopped
    • 1/4 cup sesame oil
    • 1/4 cup rice wine
    • 1/4 cup gluten free soy sauce
    • 2 teaspoons of sugar
    • fresh basil leaves

    Directions

    Wash the chicken and cut it into small pieces using a cleaver. (Traditional style: chicken is hacked into small parts about 1 inches in diameter, leaving bones in for flavor.) Heat the sesame oil in the frying pan until sizzling. Add the ginger, and stir fry until everything is a little dry. Add the garlic fry it up. Add the chicken, rice wine, soy sauce, and sugar. Set the heat to low and cook everything covered for 20 minutes or until all liquids are condensed and you have a nice glaze. Last step: Add basil and stir-fry quickly. Serves 2 as a main course, or 4 as an appetizer.

    Taiwan’s mountain regions are home to the finest tea plantations in the world. Add a pinch of chopped fresh Taiwanese oolong tea leaves with the basil, if available, for an extra traditional Taiwanese mountain-style taste. The dish is traditionally served in a heated, covered clay pot. The dish is especially delicious served with stir-fried chinese garlic asparagus, white steamed rice, and a gluten free lager beer, ice cold.

  • The Great Strings Experiment

    A pile of assorted used double bass strings.

    Every double bass sounds different. Some can be dark and rich, full of bass tones and body. Others might ring out with pizzicato and thrive in the midrange. Other double basses might be perfect for solo playing, with loud upper-range pitches that scream. The hunt for the perfect set of strings can be a challenging and potentially expensive endeavor.

    The goal of this experiment is to test multiple sets of used strings on my double bass, to find the best combination. Once the best combo is identified, I’ll invest in one or two brands of new string sets.

    Goals

    Strings can enhance or exacerbate the sound characteristics of an instrument. They can alter the playability as well. The optimal string setup should have the following characteristics:

    • Richness: The strings should make the double bass sound like a Kobe New York strip steak, pan fried in butter, and served with a dark, rich glass of Cabernet Sauvignon.
    • Projection: The strings should allow the bass to be heard loud and clear in an orchestra.
    • Even tone: There should not be significant variations in sound characteristics between strings.
    • Playability: The strings should be comfortable to play on, particularly for the left hand.
    • Responsiveness: The strings should be responsive and speak when bowed.

    Since my goal is to improve orchestral sound, I focused on classical arco qualities for this experiment.

    Methods

    To test string qualities evenly, I will run each string set combination through a test suite. I will record a playthrough of the test suite for each string set.

    Background

    The subject of this experiment is my double bass, an unlabeled German instrument built probably around 1904. This bass has been played in the Minnesota Orchestra and the Chautauqua Symphony Orchestra before I owned it. It has had extensive restoration work performed and is in a good state at the moment.

    The current set of strings is Bel Canto EADG. I find the ADG strings to be “floppy” and would like something more responsive to the bow. The E string is actually decent sound-wise, and feels fairly good for playability. I may modify the experiment later to return to more use of the Bel Canto E string later on, if the Flexocor Deluxe E doesn’t improve the overall sound for these sets. I also have a Flexocor standard E to try out.

    Before the experiment begins, I will calibrate the string height to ensure the G string height is 4-5mm and the E string is at 7-8mm. This bass has no C extension at the moment, but I plan to add a C extension in the future.

    Knowledge dump from Steve

    Here are some raw notes from my double bass instructor, Stephen Tramontozzi.

    On my bass at the SF Symphony and on my Italian basses: Pirastro Original Flat-Chrome purple and white windings – speak quick, comfortable under left hand, more body, because they have an extra wrap. the more wrap, the darker the sound. But in some cases the set E isn’t balanced, so you might want to try something else.

    Original Flexocor is a similar option: More wrap, even more dark.

    On my English bass – Evah Pirrazzi, synthetic gut core, flatwound steel. Really great sound. I use light gauge on G, some people go light on both G and D. These strings are really thick so they might not feel comfortable.

    Flexocor Deluxe – higher tension red and white winding.

    Passione strings: Some people really like these. Medium is too light. Go heavy on those. (Joe note: I used a solo set a while back and they were pretty good.)

    Charles Chandler uses Bel Canto on A, D, and G, and a Flexocor Deluxe on the low C.

    Variables

    The variables for this experiment are strings. I have the following prepared:

    • Bel Canto EADG (currently installed)
    • Permanent ADG
    • Flat-Chrome ADG
    • Passione ADG
    • Flexocor Original ADG
    • Flexocor Standard EADG
    • Flexocor Deluxe E

    All strings except the Bel Cantos, Flexocor Standards, and the Flexocor Deluxe were loaned to me, and are not new. The Flexocor “Standards” are just labeled “Flexocor”, and I use “Standard” here just to differentiate from the ones that are actually labeled “Original” and “Deluxe”. The age of the strings may affect responsiveness, but should at least indicate tonal quality and playability.

    String sets

    I will test these string sets in roughly the order shown in the table below. This is not a complete list of options given the inventory of strings on hand, but it would be time-prohibitive to test every single combination. Instead, I assembled this list as a best guess of what would a) sound good, and b) provide the best initial data. If I need additional experiments with alternative string combinations, I will add more to the list as the experiment progresses.

    #E stringA stringD stringG string
    1Bel CantoBel CantoBel CantoBel Canto
    2Flexocor DeluxeBel CantoBel CantoBel Canto
    3Flexocor DeluxeEvah Pirazzi regularEvah Pirazzi regularEvah Pirazzi regular
    4Flexocor DeluxeEvah Pirazzi regularEvah Pirazzi regularEvah Pirazzi weich
    5Flexocor DeluxePassionePassionePassione
    6Flexocor DeluxeOriginal Flat ChromeOriginal Flat ChromeOriginal Flat Chrome
    7Flexocor DeluxeFlexocor OriginalFlexocor OriginalFlexocor Original
    8Flexocor DeluxePermanentPermanentPermanent

    Recording setup

    • Microphone is a modded Oktava MK-319.
    • Record direct to Logic Pro via a Scarlett 2i2 USB interface, no patch.
    • Position the microphone in front of the double bass at a medium height, just above the bridge and in front of where the bow usually contacts the string, 12 inches away from the instrument.

    Additional equipment

    • Peg winder drill bit, for faster string changes.
    • Towel, to protect the top of the bass.

    Test suite

    Record each set. (Recordings available here.) Play multiple times or repeat segments if it is necessary to explore tone or responsiveness.

    1. 3 octave scale, E major.
    2. Long tones on each open string
    3. Bach Cello Suite No.3, Allemande, 1st half
    4. Bottesini Concerto No.2 in B minor, first page to D
    5. Beethoven Symphony No.9, 4th movement (Recitative segments, Ode, Fugue)
    6. Strauss, Ein Heldenleben, rehearsal 9
    7. Mozart Symphony No.35 1st mvt m13-48, 4th mvt m1-A Added Beethoven 5 and Bach Suite 2 prelude in lieu of this.
    8. Beethoven 5, 3rd mvt, Trio
    9. Mahler Symphony No.2, 1st page
    10. Bach Cello Suite No.2, Prelude

    Survey

    Create a form that will rate each set on a scale of 1-5, 5 being best. For each set, rate:

    • Strings in set (menu to list strings in set)
    • Sound quality (select 1-5)
    • Projection (select 1-5)
    • Even tone (select 1-5)
    • Playability (select 1-5)
    • Responsiveness (select 1-5)
    • Notes (textarea)

    Stage recordings and provide form to multiple interested parties for further analysis.

    Set notes

    Additional qualitative notes on each set are added here.

    Bel Canto EADG

    This is the existing set. Sound overall is even. String tension feels floppy. Strings sound kinda dark overall. Easy to play. Sound good with pizzicato. Not very responsive.

    Bel Canto ADG, Flexocor Deluxe E

    Flexocor is notably louder and punchier than the Bel Cantos. Sounds metallic. Not an even sound at all with the Bel Cantos – too much contrast.

    Note: All the remaining sets leverage a Flexocor Deluxe E string

    Evah Pirazzi regular

    Actually, more even sounding between the Flexocor and the Pirazzis. The Pirazzis go out of tune much easier than anything I’m experienced with. They definitely sound a helluva lot louder on this bass than anything I’m experienced with as well. They ring. I coughed and I could hear sympathetic ringing. Sounds scratchy, raspy, but if I compare this to Bel Canto, the Evah Pirazzis win on this bass. Sounds like an old viol. They are definitely harder to play than other strings – more tension and thickness, I think. I can feel it in my wrist.

    Flat Chrome Original

    Playable. Definitely projects more and has a wider dynamic range than the Bel Cantos. Not quite as much as the Evah Pirazzi set, but goes in that direction. Much easier to play than the Evah Pirazzi set. Strong candidate.

    Passione

    Sounds similar and slightly brighter to the Bel Cantos, but overall they sound sort of muffled. Similar playability to the Bel Canto set; feels very comfortable to play, speaks well, just lacks a lot of the color and projection that the Evah Pirazzis and Flat Chrome sets have.

    Permanent

    This is a pretty good sounding string. They are bright, but still have lots of tone and body. They have some interesting color. Lots of good dynamic range. They are not as playable as the Bel Canto, Flat Chrome, or Flexocor sets – more stiff and raspy.

    Flexocor Original

    These strings mostly feel great, sound nice, but I have a little trouble getting them to not squeak. Sound is dark and rich.

    Updates

    • 2021-03-12: Final analysis complete.
    • 2021-03-10: Review recordings and write up final analysis.
    • 2021-03-09: Recording the Flexocor Originals tonight.
    • 2021-02-15: Tests didn’t begin yesterday because I practiced instead. Today I am picking up where I left off. Form completed, begin tests, clean up doc errors.
    • 2021-02-14: Pirastro Flexocor Deluxe E received, strings organized and labeled. Goals for today are to create the feedback form and test sets 1 and 2.
    • 2021-02-08: Ordered Pirastro Flexocor Deluxe E.
    • 2021-01-24: Set up project goals and created this document.

    Final Analysis

    Each string set had their pros and cons. Evah Pirazzi probably had the best sound, but I found them entirely unplayable because of the size of the strings. Passione and Flexocor were very easy to play, but had little in the way of sound. Bel Canto was my original set, and now that I have some reference to compare them to I can see they have decent sound and playability but not much power.

    Flat Chrome Original and Evah Pirazzi were definitely the biggest-sounding strings. Evah Pirazzi’s response was like a cannon, and Flat Chrome only slightly behind. I listened to the recordings of each string set over a few days to see if I still agreed with myself. This listening/review process was very helpful.

    After reviewing all of the strings for sound and playability, I went with Flat Chrome Original. It was really down to Evah Pirazzi and Flat Chrome in the end. I think the Evah Pirazzi strings had the best sound, but I couldn’t work with them well because of the string thickness. In the future, I will try a new Evah Pirazzi weich set. I also liked the sound of the Flexocor Deluxe E string, and may also try a full set of those in the future. The Flat Chrome Original strings have an amazing sound, are fairly comfortable to play, and they speak well. Most interestingly, they increase my ability to produce dynamic contrast significantly. The only “downside” is that I’m going to have to learn to play differently. I’ll have to experiment with how I bow to get the right speaking quality and sounding points, but also to learn how to better take advantage of the dynamic range.

  • Practice Tips for Musicians

    photo of a practice setup: double bass, sheet music, and tuner

    One of the best ways to improve yourself as a musician is to make the time you spend in the practice room as efficient as possible. Often I’ll see students get frustrated with their progress because they spend time practicing and don’t feel like they are seeing any progress. The root cause isn’t a lack of inherent talent; rather it is almost always due to inefficient practice habits.

    General tips

    Here are some ideas to help you maximize the efficiency of your practice time:

    1. Set a schedule, and stick to it. Set a time for yourself to practice. Optimally, this would be the same time every day, but schedule it for time that works best for you. Try to get at least some practice time in daily – don’t just take a zero.
    2. Practice the hard parts. It cannot be emphasized enough that you should not simply start at the beginning of a piece, play until you make a mistake, and then start over again at the beginning. Because you know what’s going to happen, right? Exactly: You get to the same exact spot where you made the mistake, and then you make the same mistake again, and you instinctively go right back to the beginning. There’s a time and place for playing from the beginning, but that time is not now. Whenever you make a mistake, immediately stop what you are doing, pick up a pencil, and mark the spot. Play just that measure to figure out what is going on. If it is a fingering problem, try a few different options. If it is a shift between two notes or positions, then fix just the shift first. Then back up a measure or two earlier, and see if you can glide into the problem spot now. Better? Good!, Not better? Fix it!
    3. Mark your problem spots. I just mentioned this in the above tip, but it bears repeating: Put markings in your score where you need to practice. During rehearsals or practice sessions, I’ll often just put a little star next to the spot that needs work. When I get focused on that problem spot, I might grab a couple of Post-It notes and use them as blinders on my sheet music so I’m only looking at the spot I need to practice.
    4. Use a metronome. The metronome is one of the greatest inventions in the history of human civilization. Use it. Here’s how:
      1. Identify the spot that needs practice. Initially this should be a short segment – one or two measures in most cases.
      2. Figure out a tempo where you can play the segment perfectly. The notes should be articulated clearly and in perfect time subdivisions, never early, never late. The note is perfectly in tune. The bow is moving in the proper directions, and is placed on the string in a way that produces the sound you’re looking for. And so on. Don’t make any compromises with your slowest tempo. If you can’t play it perfectly, slow the metronme down even further. 40 beats per minute (BPM) or even slower is not an uncommon starting point for me.
        • Pro tip: For string players busy with staccato segments that might seem impossibly fast , practice legato first. Then practice with extremely short bow strokes. Maintain contact with the bow on the string. As you speed up, the short bow strokes will seem to lift and provide the staccato sound you’re looking for.
      3. Figure out your slowest tempo and your target tempo.
      4. Now think about how many times you should repeat this section with the metronome speed incremented. Plan on at least 5 increments of the metronome. 20 is probably a good upper limit in most cases.
      5. Write down a metronome plan for the segment. If your starting tempo is 50 BPM, and your target tempo is 130 BPM, and you want to practice your segment 10 times, then write down something like this: 50, 60, 70, 80, 90, 100, 110, 120, 130, 140. Note: Add one increment over your target tempo. That way when you play the piece at the target tempo, it’ll seem that much easier.
      6. Practice the segment at the slowest tempo (e.g. 50). Resist the urge to play past the segment you’ve indicated – this is inefficient. Stick to the plan. Make sure you’re doing everything as perfectly as possible at the slow tempo. Be self-critical, and honest with yourself.
      7. Now move the metronome to your next inrement (e.g. 60). Practice the thing.
      8. Repeat this routine until you get to your target tempo. Note: If you can’t play perfectly at some higher tempo along the way, stop here. Examine what is holding you up, and see if you can fix it. If it is still unplayable at the higher tempo, practice at the fastest tempo you’re comfortable with for the number of times you intended (e.g. 10) and then try again the next day.
    5. Use a tuner. Tune your instrument before you begin to practice. Spot check your intonation when you’re practicing. I like the Tunable app for Android and iOS, because it has both a tuner with great visualization and a built-in metronome in one app. I keep an old phone mounted onto my music stand that basically serves this one purpose, to run Tunable.
    6. Have a practice space. This might be a corner of your room where your music stand, instrument, metronome, pencil, and other war materiel are all located and readily available. Or have everything packed properly so that when you have to escort yourself to your practice location, everything is available and handy.
    7. Remove distractions. Put your phone on silent mode. Resist the urge to respond whatever social media platform is nagging you. Print out a picture of Gandalf saying “YOU SHALL NOT PASS” in Impact font and tape it to your practice room door if you have to. Everything other activity is useless right now – focus, practice.
    8. Practice progressively. If a segment of 10 notes is giving you a lot of trouble, then start with just the first note. Then the first two notes. Then three notes. And so on. Work out the tone, the shifts, and the articulations along the way.
    9. Use healthy technique. If you wind up injuring yourself, that’ll curtail your practice goals right then and there. Practice with healthy technique habits: Use good posture, focus on ergonomic hand positions, and avoid excessive tension. Bad technique can lead to joint and back aches, tendonitis, and carpal tunnel syndrome. Good technique will allow you to practice more, to play longer in life, and to achieve greater success with your musical goals.
    10. Play with feeling. For your musicality to become truly inspired, play with all the emotion and soul that you can muster. Don’t just settle for ‘techncially correct’. Make it soulful, moving, and human.

    The Practice Algorithm™

    The Practice Algorithm is a fundamental technique that many musicians use to optimize their approach to learning a piece of music. This algorithm is particularly effective for those notoriously difficult passages.

    The Practice Algorithm is the order of what you focus on in sequence as you practice a segment of music – that’s it. Here’s the order of precedence for what you should focus on:

    1. Intonation: are you playing the right notes, and are the notes in tune? For fixed-intonation instruments such as piano, harp, or guitar – is your instrument in tune?
    2. Rhythm: Are you playing the correct rhythm? Does it feel right?
    3. Articulation: Are the notes to be played staccatto, detaché, tenuto, etc.?
    4. Sound: How is your sound quality? Do you like the sound of that note you’re playing, or could it be improved? Are you using the right amount of bounce in the bow, breath control, finger weight, etc.?
    5. Tempo: Now that you have all of the above exactly the way you like it, what’s the target tempo? How will you work up to that tempo? (Hint: It has something to do with a metronome.)

    The Practice Algorithm should drive all active practice session efforts.