Neumann BCM705 dynamic mic – V1 vs V2
Auction score – Baldor 500 cutter tool grinder


Item # Part description Part number 8″ Part number 10″ Part number 12″ Part number 14″
*1 Guard (right hand) G8FH1800A01SP G0FH1806A01 G2FH1804A01 G4FH1800A01
*2 Guard (left hand) G8FH1802A01SP G0FH1807A01SP G2FH1805A01 G4FH1801A01
*3 Guard cover (right hand) G8FH1801A01SP G0FH1805A01SP G2FH1806A01 G4FH1802A01
*4 Guard cover (left hand) G8FH1803A01SP G0FH1804A01 G2FH1807A01 G4FH1803A01
*5 Tool rest
(right hand or left hand) G8AP1003A01SP G8AP1003A01SP G2AP1002A01SP G2AP1002A01SP
*6 Tool rest support
(right hand or left hand) HA6099A01SP HA6101A01SP HA6049A01SP HA6049A01SP
7 Arbor nut (left hand) XY7510A62SP XY8809A62SP XZ2007A62SP XZ2007A62SP
*8 Spark arrestor G6AP1002A01SP G0AP1002SP G2AP1001 G2AP1001
9 Wound stator assembly Specify spec. no. Specify spec. no. Specify spec. no. Specify spec. no.
10 Rotor with shaft & bearings,
(less nuts & flanges) Specify spec. no. Specify spec. no. Specify spec. no. Specify spec. no.
11 Endplate
(right hand or left hand) G8EP3900A01SP G8EP3900A01SP G2EP1900A01 G4EP1900A01
12 Bearing BG6206E03 BG6206E03 BG6208E03 BG6309E03
13 Wheel flange, inside or outside HA6098 HA6100SP HA6051SP HA6051SP
14 Arbor nut (right hand) XY7510A12SP XY8809A12SP XZ2007A12SP XZ2007A12
15 Base G8BA3000A01 G8BA3000A01 G2BA1000A01 G4BA1000A01
16 Switch on – off (single phase) SP9000SP SP9000SP None None
16A Switch on – off (three phase) SP9004 SP9004 None None
N/S Base cover G8CB4500A02 G8CB4500A02 G2CB4500 None
N/S Cord & plug (single phase) LD5001A02 None None None
N/S Capacitor, electrolytic
(single phase) None None ECI645A06SP None
N/S Starter bracket None None Specify spec. no. Specify spec. no.
N/S Starting relay (single phase) None None RE5019 None
N/S Capacitor (oil type)
(single phase) Specify spec. no. Specify spec. no. None None
17 Thru bolts HA3100A14 HA3100A14 HA3104A13 HA3104A14
N/S Rubber feet RM1005A01SP RM1005A01SP None None
**N/S Bearing retainer RB3010 RB3010 RB1029A01 RB1028A01
**N/S Vinyl cap to cover arbor nut RM1010A06 RM1010A05SP RM1010A07 RM1010A07
**N/S Spacer HA2048A01SP HA2050A01 None None
*18 Grinding wheel –
New book! – Barry Klein – electronic music circuits
Design idea: Shure sm7b sm7 with interchangeable capsules
Dumore sensitive jig boring machine – Very cool very rare
Beskar2d2 shoulder motors
Metric system – better by a thousand
Table adjustment knob for dumore sensitive drill
Dall-e – Canadian animals using an intercom
neopixel party lights
import board
import neopixel
import time
# Define the number of pixels in the strip and the pin it is connected to
num_pixels = 60
pixels = neopixel.NeoPixel(board.D18, num_pixels)
# Define the party LED sequence
sequence = [
(255, 0, 0), # Red
(0, 255, 0), # Green
(0, 0, 255), # Blue
(255, 255, 0), # Yellow
(255, 0, 255), # Purple
(0, 255, 255) # Cyan
]
while True:
for color in sequence:
for i in range(num_pixels):
pixels[i] = color
pixels.show()
time.sleep(0.05)
The home forge
Python: move a fader in protools using Avid pro tools SDK
import pro_tools_sdk
# Connect to Pro Tools
session = pro_tools_sdk.Session()
# Get a reference to the fader you want to control
fader = session.get_fader("Fader 1")
# Set the fader's level to -12 dB
fader.set_level(-12)
# Close the Pro Tools session
session.close()
Pan: You can use the set_pan() method to control the pan position of a channel.
Mute: You can use the set_mute() method to mute or unmute a channel.
Solo: You can use the set_solo() method to solo or unsolo a channel.
Input or output routing: You can use the set_input_routing() and set_output_routing() methods to control the input and output routing of a channel.
Inserts: You can use the get_inserts() method to get a list of inserts on a channel, and then use the enable() and set_parameter() methods to control the settings of each insert.
Automation: You can use the get_automation_parameters() method to get a list of automation parameters on a channel, and then use the enable() and set_value() methods to control the settings of each automation parameter.
Python: SNMP put into a Google Sheet:
from pysnmp.hlapi import *
import gspread
from oauth2client.service_account import ServiceAccountCredentials
# SNMP query function
def snmp_query(ip, community, oid):
errorIndication, errorStatus, errorIndex, varBinds = next(
getCmd(SnmpEngine(),
CommunityData(community),
UdpTransportTarget((ip, 161)),
ContextData(),
ObjectType(ObjectIdentity(oid)))
)
if errorIndication:
print(errorIndication)
elif errorStatus:
print(‘%s at %s’ % (errorStatus.prettyPrint(),
errorIndex and varBinds[int(errorIndex) – 1][0] or ‘?’))
else:
for varBind in varBinds:
return varBind[1].prettyPrint() Continue reading
The OG – AES72 at Catherine North studio Hamilton
python: maps Reaper DAW mixer volume and mute and solo to GPIO
import pythoncom
import reapy
import RPi.GPIO as GPIO
# Set up the GPIO pins
GPIO.setmode(GPIO.BCM)
GPIO.setup(17, GPIO.OUT) # Volume pin
GPIO.setup(27, GPIO.OUT) # Mute pin
GPIO.setup(22, GPIO.OUT) # Solo pin
def set_track_volume(track, volume):
track.volume = volume
if volume > 0.5:
GPIO.output(17, GPIO.HIGH)
else:
GPIO.output(17, GPIO.LOW)
def set_track_mute(track, mute):
track.mute = mute
if mute:
GPIO.output(27, GPIO.HIGH)
else:
GPIO.output(27, GPIO.LOW)
def set_track_solo(track, solo):
track.solo = solo
if solo:
GPIO.output(22, GPIO.HIGH)
else:
GPIO.output(22, GPIO.LOW)
# Create a function to map Reaper tracks to GPIO pins
def map_track(track):
# Connect to Reaper
reapy.connect()
# Get the track from Reaper
track = reapy.Track(track)
# Set the track’s volume, mute, and solo status
set_track_volume(track, track.volume)
set_track_mute(track, track.mute)
set_track_solo(track, track.solo)
# Disconnect from Reaper
reapy.disconnect()
# Map Reaper track 1 to GPIO pins
map_track(1)
# Clean up the GPIO pins
GPIO.cleanup()
Python OSC device – Motarized fader for volume + mute switch and solo switch
import reapy
import OSC
# Create an OSC client to send messages to Reaper
client = OSC.OSCClient()
client.connect(("127.0.0.1", 8000))
# Create an OSC server to receive messages from the fader and switches
server = OSC.OSCServer(("127.0.0.1", 9000))
def handle_volume(path, tags, args, source):
volume = args[0]
# Set the volume of the track using the Reaper API
reapy.connect()
track = reapy.Track(1)
track.volume = volume
reapy.disconnect()
# Add a callback for the volume fader
server.addMsgHandler("/volume", handle_volume)
def handle_mute(path, tags, args, source):
mute = args[0]
# Set the mute of the track using the Reaper API
reapy.connect()
track = reapy.Track(1)
track.mute = mute
reapy.disconnect()
# Add a callback for the mute switch
server.addMsgHandler("/mute", handle_mute)
def handle_solo(path, tags, args, source):
solo = args[0]
# Set the solo of the track using the Reaper API
reapy.connect()
track = reapy.Track(1)
track.solo = solo
reapy.disconnect()
# Add a callback for the solo switch
server.addMsgHandler("/solo", handle_solo)
# Run the OSC server
st = threading.Thread(target=server.serve_forever)
st.start()
I made a shirt for my friend Stephan
Pot Addiction – our le crueset collection
CSV with a time and label to the reaper time line markers
python script that sends a CSV with a time (in seconds) and labels to the reaper API and converts them into timeline markers
import csv
from reaper_python import *
# Open the CSV file
with open('markers.csv', 'r') as csvfile:
# Read the CSV file
reader = csv.reader(csvfile)
next(reader) # skip the header
# Iterate through the rows
for row in reader:
time = float(row[0])
label = row[1]
# Convert the time to a Reaper time format
reaper_time = int(time * 1000)
# Create a new marker at the specified time
RPR_AddProjectMarker2(0, False, reaper_time, 0, label, -1, 0)




































Manual: http://vintagemachinery.org/pubs/2020/27544.pdf




















