Showing posts with label iOS. Show all posts
Showing posts with label iOS. Show all posts

Tuesday, May 14, 2019

rtpMIDI & iOS MIDI Controllers

I have been mucking around looking at MIDI controllers and DAW (Digital Audio Workstations). I have lashed out and got myself a Korg nanoKEY Studio and a Zoom R24 USB Recorder.

But it was bugging my mind ... why not get something cool like Ableton Push 2 for some serious creative input and equally serious $$$ or  would Novation Launchpad Pro be a good compromise to get some notation and creative input (velocity, after-touch) without all the bells and whistles ... do I really need notion and expressive input so would a Novation Launchpad Mini Mk2 do???

My conclusion was I really didnt want to break the bank with the Push 2. Even though it will probably be a good investment. I didnt want to pay for a part solution like Launchpad Pro. Which left me with the cheap option of a

With my Hacker hat on .... I thought there must be a way to intercept controller messages and make them do what I want. Step 1 .. see what I can SWIPE (stands for Steal with Integrity and Pride from Everywhere). what I found was some people doing things in python like a hack that allows you to script functions to the Lunchpad 8x8 buttons (using lunchpad.py). Looking around a bit more there are expensive and free MIDI controllers on iOS that seem to use a protocol on OSX called CoreMidi.

Immediate question ... does CoreMidi work on Windows. Well of course not but someone has written a generic server rtpMIDI that just appears like a virtual MIDI device to the rest of windows. It can automatically discover (Peter's Ipad Mini 4) or you can manually add your device (iPadMini4) with its IP and port 5004 if it doesnt show up.

rtpMIDI

Next step i needed to see if a DAW can connect to this. I have mucked around with the Ableton Live Lite (unathorised so no save) and LMMS a free fully functioning open source DAW.

I paired this up with expressionPad (iOS only) on the iPad. This is all over notation as you can choose between key appearance (piano, hex, square), colour (white, rainbow, red, blue) and heaps of custom options about choosing key scales between the columns and tuning between the rows and overall octave base note offset. It also uses multi touch, slide between notes and pitch bending/vibrato.

Expression pad is best for notation as its UI can define layouts by scale (columns) arpeggiated chords (rows) and is more expressive with swiping between notes.


expressionPad (Blues columns & 5 semi rows)

This set up seamlessly sends MIDI notation data to your DAW of choice like LMMS or Ableton Live.  This can be used to fake an Ableton Drumpad control by setting it to an 4 x 4 grid with a C1 base note, columns separated by a semitone and rows by 4 semitones.

I have found Aftertouch • 3D MIDI Controller (iOS only) is probably better direct control as you can save you layouts and switch between pad layouts easily. It is okay for notation as it does aftertouch for controlling pitch bend (X axis), modulation (Y Axis) and velocity (Z Direction) but does not cleanly swipe between notes like expresionPad.

Aftertouch • 3D MIDI Controller (1 semi Columns, 4 semi Rows)

This should be enough to get you started with MIDI controllers and DAW's for free on iOS. No android solutions at this time but I will look into some alternative approaches soon and add it here.

Thursday, November 26, 2015

By the Power of .... um Elections ? (Or how to monitor battery life performance)

Introduction

This post was triggered by three issues with my mobile devices.
  • Unpredictable battery life from my iPhone 4s
  • Constant cooler fan operation on my notebook (Samsung NP350U2B) is noisy and annoying
  • Lower then expected battery life from my new tablet (Asus VivoTab 8 M80TA)
The basic solution for all of these was to;
  • Use battery logging software, 
  • Apply a bit more discipline in the daily use cycle
    (eg charge at night, run all day to near shutdown, only top up charge if needed)
  • Be more mindful of what apps are being used relative to battery life performance. 
In a bit more detail for each device

iPhone 4s

My phone was purchased in late 2011 so is currently about 4 years old and probably about double the expected life span of any fanboy (or girls) expected utilisation. So I guess this means I have some interesting problems and Apple really doesnt care given their lack of responise to the only support avenue available to me.

I have been a long time user of Battery Life Pro (by Kdan Mobile Software) but I am not sure if it is still available on iTunes. Its a useful little utility which can be used to log your battery percentage over time (little quirk you have to look at the batter graph or it will not log the data!).  This data can be accessed using a tool like CopyTrans to access the Batter Life pro documents sandbox which contains the settings.plist file which store the battery log data in XML.

What this has shown me is how quickly the battery is discharging. What I have noted is that apart from obvious use, it has good and bad days with really no rhyme or reason. I think this is primarily due to two reasons.
  • Poor cellular coverage so it is connnected and disconnecting a lot.
  • Misbehaving apps that are chewing up more then they should.  This can be monitored using Settings|General|Usage|Battery Usage by comparing the 24h usage to the 7 day usage.
  • High motions sensor usage if being moved around a lot while using sensor based apps
I have also recently started to use Battery Doctor (by KS Mobile) which is a useful utility to monitor what days you have part or fully charged your battery. Since I have started doing this I have noticed less crashing from high percentages on my battery.

I realise this is an "old" phone and the problems might not apply to many but the tecquires could be used to trouble shoot other battery problems.  I might go to the local Apple shop and torture them at some stage and will update if I get a better response then just buy a new phone.

Notebook and Tablet

These two devices are operating Windows 7.0 and 8.1  respectively. I have found some useful programs that I have used identify excessive and ensure a more normal level power usage.

Resource Monitor

This app is built into windows and can be accessed via the Search function for "Resource Monitor" or as a button on the Performance tab of Task Manager.  This app gives an over all picture of CPU, network and drive access as well as a list of applications individual utilisation. If you sort these by Average you can get a clear idea of who are the primary hogs.

Open Hardware Monitor

Open hardware monitor is a useful app to monitor depending upon your available hardware sensors things like CPU speeds/temperature/load%/power, hard drive temperature and RAM memory load%/actual used or available.  This can be used to monitor up to the previous 24h and logs to a daily file if so desired.  Things I find useful from this;
  • Notice the amount of time the CPU cores go into Turbo mode, or strange cycles or sustained periods of high CPU speed.
  • CPU speed features are not always correlated to CPU load.
  • CPU temperature is a good indicator of load and the HD temperature is not a bad indicator of ambient temperature.

BatteryMon 

BatteryMon (by Passmark Software) is a great program to monitor your battery discharge rate in real time. It gives you a visual indication of discharge and other stats such as time running, time remaining etc. It can also log to a file.

Powercfg

In windows 8.1 (not 7) powercgf has a -batteryreport option that produces a detail battery report including graphics in HTML.  This is useful as it seems to continue to operate when in Sleep mode so you can monitor drain during this time (eg identify its really asleep, not still on wifi etc).

Just a temporary check to a HTML report file that will be over written use the following batch.

powercfg /batteryreport
"C:\Program Files\Internet Explorer\iexplore.exe" c:\users\pac\battery-report.html 

As the report only goes back three days, I have also written a batch that can output to a report file with the current date and time.

set hour=%time:~0,2%
if "%hour:~0,1%" == " " set hour=0%hour:~1,1%
;echo hour=%hour%
set min=%time:~3,2%
if "%min:~0,1%" == " " set min=0%min:~1,1%
;echo min=%min%
set secs=%time:~6,2%
if "%secs:~0,1%" == " " set secs=0%secs:~1,1%
;echo secs=%secs%

set year=%date:~-4%
;echo year=%year%
set month=%date:~7,2%
if "%month:~0,1%" == " " set month=0%month:~1,1%
;echo month=%month%
set day=%date:~4,2%
if "%day:~0,1%" == " " set day=0%day:~1,1%
;echo day=%day%
set dayL=%date:~0,3%
;echo dayL:=%dayL%

set datetimef=%year%%month%%day%_%hour%%min%%secs%_%dayL%

echo datetimef=%datetimef%

powercfg /batteryreport /output %1%datetimef%.html
"C:\Program Files\Internet Explorer\iexplore.exe" %userprofile%\%1%datetimef%.html 

Battery Bar Pro

Battery Bar Pro is an excellent tool to see the resulting instantaneous usage of your battery in your task bar.  You can set up in Preferences that  click on the battery bar icon you can toggle between current power consumption, time remaining, percent remain (and battery capacity in mAh which is not much use really).

I use this frequently on the power consumption setting like a speedometer for my battery. I know what speed (power discharge rate in watts) I should be going at and make sure its not over by too much.  Being able to quickly toggle to get an estimated time left on battery is useful too.