Vol.846 10.Jun.2022

昔の音楽テープ等をデジタル化 CWGでパワーパック

A 昔の音楽テープ等をデジタル化 〜R400-MEDIO17とAudacity

by fjk

 レコードやテープの音楽をデジタルプレーヤーで再生するには、アナログ音楽をデジタル化しなければならない。この方法の一つとして、プレーヤのイヤホン端子からの信号をパソコンに接続したオーディオキャプチャー機器でデジタル化する方法がある。

 機器の接続は、400-MEDIO17のステレオミニジャックを音楽を再生する機器(テープデッキなど)のイヤホン端子に接続し、USB端子をパソコンに接続するだけである。
 400-MEDI017には音楽取り込みソフトとしてフリーソフトのAudacity(ver2.0.8)が付属しているので、これを利用する。最新版3.1.3はAudacityの公式ページから入手可能。
 ソフトの使い方などは、OnLineマニュアルや以下のページなどを参考に・・。

 メニュー表示が日本語でない場合、Edit>Preferences>Interface>LanguageからNihonngoを選択しOKをクリック。その後再起動すると日本語表示になる。

1.Audacityの主な機能は、
@音楽・音声の取り込み、A音楽・音声のカット・結合などの編集、B様々なデジタルエフェクトが可能、Cノイズの除去、Dマルチトラックでミキシングが可能、など

オーディオキャプチャーケーブル
400-MEDI017

Audacityの画面例(ステレオ)
 
2.音楽の取り込み
◆再生機器から取り込む場合は、
@「編集>設定>デバイス>録音」で「マイク配列(USB Audio Device)チャンネル:2」に設定
A「録音>スルー再生」で、「オーバータブ」のcheckを外し、「ソフトウェアによる再生」にcheck。  
B「品質>サンプリング」でサンプリング周波数を44100Hz、サンプリング形式を16-bitに設定。
C「ディレクトリ」でテンポラリディレクトリー(一時ファイル)を設定(デフォルトでOK)。
〜〜〜〜〜〜 ここまで「設定」(一度設定しておくと記憶されている) 〜〜〜〜〜
D再生機器で音楽を再生する。
E「モニターを開始」ボタンを押すと、音楽が聞こえ、マイクレベルバーにレベルが表示される。
Fマイク入力レベルバーで入力レベルを調節する。
G音楽を頭から再生し、録音ボタンをクリックすると録音を開始(新規トラックとして追加される)。
H録音中はトラックに音楽信号波形(等)が表示される。
I録音の終了はstopボタンをクリックする(念のためにここでデータを保存しておく!)。
◆ファイルから取り込む場合は、(新規トラックとして追加される)
@「ファイル>開く」からファイル名を選択。
Aファイル名をトラックにドラック&ドロップ。
3.音楽の再生・編集
@再生ボタンを押すと「選択ツール」で指定した所から再生される。音量は再生音量バーで調整。
A選択ツールでトラックのエリアを選択し、再生ボタンを押すとこのエリアのみ再生。
※複数のトラックが同時に再生されるが、ミュートを指定したトラックは再生されない。
B曲を編集する
【編集によく使う機能】
・「選択ツール」は場所の選択またはエリアの選択が可能。
・「タイムシフト」は曲の開始位置を時間軸でスライド(ver2ではアイコンをクリック後)。
・「プロジェクトを合わせる」は曲全体が画面一杯になるように表示。
・「選択部分に合わせる」は選択部分が表示の全体になるように表示。
・「Ctrl+Zキー」で処理の取り消し
【不要な音の消去】
・カット:選択ツールで消去したいエリアを選びカットボタンを押す
 (「詰めて切り取り」Ctrl+X(K)と「詰めずに切り取り」Alt+Ctrl+X(K)がある)
・トリミング:選択ツールで残したいエリアを選択しトリミングボタンを押す
・消音:選択ツールで消去したいエリアを選びレベル0ボタンを押す
・コピー&ペースト:選択したエリアをコピーCtrl+Cし、選択ツールで指定した場所にコピーCtrl+V
【曲の分割】
・選択ツールで分割場所を選択。コントロール−+Bキー、ラベルを入力
(分割した曲は保存時に別々のファイルとして保存される)
【曲の結合】
・カット&コピー:音の境界を選ぶとカーソルの色が黄色になることを利用して貼付。
・タイムシフト:別のトラックで前データの終わりに、次のデータの頭が来るようにセットする。
4.音楽の保存
@「ファイル>書き出し」(ファイル保存形式は WAV、MP3など)
 (複数のトラックがある場合は全て合成されて保存されるので、必要なトラックのみを選択しておく)
A「保存場所」と「保存ファイル名」を入力
B「曲情報」の入力画面が表示されるが、何も入力しなくてもOK
C「複数のファイルの書き出し」を選んだ場合、AとBが繰り返される。

 なお、レコードからの取り込みにはabc760で紹介したViny Motionを用いたが、自動曲分割がうまく行かなかったりところがあったので、Audacityで再編集した。
 データの内、「参加アーティスト」は実際に参加しているアーティスト名(複数可)、「アルバムアーティスト」は分類するときに代表とするアーティスト名(1名)。


N Nゲージ列車のデジタル運転(3) 〜CWGでパワーパック

by fjk

 Complementary Waveform Generator(CWG)は、PWM波形の@ハーフブリッジ、Aフルブリッジ、BプッシュプルおよびCステアリング(同期/非同期)などのモードでパルス波形を生成する。さらに、パルス出力を遮断するシャットダウン機能があり、この機能を利用すると、パワーパックの過電流を検出することにより、回路を保護することが出来る。保護機能は次回以降に譲るとして、今回はCWGのステアリングモードでPWM出力を得る方法を検討する。なお、CWGは以前のECCP機能との下位互換性がある。
 CWGは別途パルス入力が必要で、通常はPWM出力を利用する。ステアリングモードではA〜Dの4チャンネルの出力(同じ波形)が利用可能で、各チャンネルの出力はCWGxSTRレジスタで制御する。


ステアリングモード時の
CWGブロックダイヤグラム

CWGを用いたDCモータ駆動回路例
(出力モニタLEDの取付位置も変更)

TMR2の設定

ADCの設定

SystemModuleの設定

ピンモジュール

PWM5の設定

CWG1の設定

 MCC設定はabc844とほぼ同じだが、PWMはpwm5のみを使用し、CWG1の設定は、

【CWG1】(CWGAとCWGCの2チャンネルを使用)
PWM Input: PWM5
Output Mode=Stearing mode
CWGA(C4ピン):Check "Enable Stearing", Stearing data=High、Polarity=inverted
CWGC(C3ピン):Check "Enable Stearing", Stearing data=High、Polarity=inverted

 abc845ではトランジスタを使ってパルス出力を負論理に反転したが、今回はCWGのPolarityをinvertedにすることで負論理を実現した。そのため、モニタ用の2個のLEDはモータドライバーの出力に2.2kΩの抵抗を介して、順電流方向が逆になるように接続した。なお、abc845の回路でも、PWM出力のpolarityをactive_loにし、このLED回路を使えばトランジスタを省略できる。
 プログラムで、起動時にSW_A2_PORT入力をビット反転(〜)してdrcにセットしているのは、drcのif文を最初に実行させるためで、方向の切替はスイッチが変化したときに行うように変更した。
 列車走行時のドライバー波形はノイズがほとんど無い綺麗な矩形波で、速度の可変もスムーズ。

main.c

#include "mcc_generated_files/mcc.h"

void stop_wait_Vr_Zero(void)
{
    LED_A5_SetHigh();
    PWM5_LoadDutyValue(0);
    CWG1STR = 0xF5;
    do{
    }while(ADC_GetConversion(AN_A4) > 0);
    LED_A5_SetLow();       
}

void main(void)
{
    SYSTEM_Initialize();
    INTERRUPT_GlobalInterruptEnable();
    INTERRUPT_PeripheralInterruptEnable();

    uint16_t aVal;
    uint8_t  drc;
    uint8_t  d_sw;

    drc = ~SW_A2_PORT;
    stop_wait_Vr_Zero();

    while (1){
        d_sw = SW_A2_PORT;
        if(d_sw != drc){
            stop_wait_Vr_Zero();          
            drc = d_sw;
            if(drc == 0){
                CWG1STR = 0xF1;
            }else{
                CWG1STR = 0xF4;
            }          
        }
        aVal = ADC_GetConversion(AN_A4);
        PWM5_LoadDutyValue(aVal);      
    }
}

CWGによるDCモータ駆動回路
(TB6643KQ)
 
 

列車の走行風景

OUT1→
(10V/div)
OUT2→
(10V/div)
IN1→
IN2
(5V/div)

正進行時の波形

逆進行時の波形


※ 本レポートの参考・利用は、あくまでも自己責任でお願いします。


昔の音楽テープ等をデジタル化 CWGでパワーパック