Phần mềm ghi âm đơn giản để hỗ trợ học ngoại ngữ

Liên hệ QC

nghiank09

Thành viên hoạt động
Tham gia
1/3/12
Bài viết
143
Được thích
30
Mình xin chào mọi người,

Mọi người có thể hỗ trợ mình tạo một đoạn code đơn giản để ghi lại giọng nói của mình bằng VBA được không ạ (mục đích là để ghi lại giọng nói của mình - với ÍT THAO TÁC NHẤT)

Cách hoạt động như sau:
Nhấn và giữ phím Space -> bắt đầu ghi âm
Nhả phím Space -> phát lại đoạn ghi âm vừa thu
Đoạn code không cần lưu đoạn ghi âm.

Mình cám ơn mọi người rất nhiều.
 
Nếu là ghi âm đơn giản thì không cần phần mềm. Tuy nhiên tập tin Excel không là búp bê chỉ để ngắm, còn phải nhập và chỉnh sửa dữ liệu. Vì thế phải phân biệt SPACE khi đang ở trạng thái nhập liệu hay ở trạng thái ghi âm. Để phân biệt ta dùng vd. ô A1. Khi A1 có chứa giá trị <> rỗng thì trạng thái là ghi âm, khi A1 = rỗng thì là trạng thái bình thường. Tức khi muốn ghi âm thì nhập A1 <> rỗng. Từ lúc này nếu nhấn SPACE là ghi âm tất cả những gì nói vào mic. Nhấn SPACE lần nữa là kết thúc ghi âm và phát đoạn vừa ghi. Khi nhấn SPACE lần nữa thì lại ghi mới, nhấn tiếp SPACE thì kết thúc ghi và phát đoạn vừa ghi. Cứ thế tới khi chán. Khi muốn làm việc với tập tin thì xóa nội dung A1.
1. Phải chuột trên tên sheet ở thanh sheet tabs ở dưới cùng -> chọn View code -> nhập code sau
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address <> "$A$1" Then Exit Sub   ' chi thuc hien code khi co su thay doi o A1
  
    If Me.Range("A1").Value = "" Then
        Application.OnKey " "   ' tat phuc vu phim SPACE
    Else
        Application.OnKey " ", "space_press"    ' bat phuc vu phim SPACE
    End If
End Sub

2. menu Insert -> chọn Module -> dán code sau vào Module1
Mã:
#If VBA7 Then
    Private Declare PtrSafe Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" _
        (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, _
        ByVal uReturnLength As Long, ByVal hwndCallback As LongPtr) As Long
    Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
#Else
    Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" _
        (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, _
        ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long
    Private Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long)
#End If

Public status As String

Sub space_press()
    If status = "" Then
        mciSendString "open new type waveaudio alias hotgirl", vbNullString, 0, 0
        mciSendString "set hotgirl time format ms bitspersample 16 channels 2 samplespersec 32000", vbNullString, 0, 0    ' có thể bỏ dòng này để dùng thiết lập mặc định
        mciSendString "record hotgirl", vbNullString, 0, 0
        status = "record"
    ElseIf status = "record" Then
        status = "play"
        mciSendString "stop hotgirl", vbNullString, 0, 0
        mciSendString "save hotgirl file.wav", vbNullString, 0, 0
        mciSendString "close hotgirl", vbNullString, 0, 0
        mciSendString "open file.wav alias hotgirl", vbNullString, 0, 0
        mciSendString "play hotgirl wait", vbNullString, 0, 0
        mciSendString "close hotgirl", vbNullString, 0, 0
        status = ""
    End If
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Học ngoại ngữ thì chú tâm học ngoại ngữ. Cần thâu tiếng nói thì sắm hẳn cái máy ghi âm nhỏ mà dùng.

Rườm rà ếch xeo ếch xào này nọ chỉ tổ mất thì giờ. Học chả được bao nhiêu.
 
Upvote 0
Nếu là ghi âm đơn giản thì không cần phần mềm. Tuy nhiên tập tin Excel không là búp bê chỉ để ngắm, còn phải nhập và chỉnh sửa dữ liệu. Vì thế phải phân biệt SPACE khi đang ở trạng thái nhập liệu hay ở trạng thái ghi âm. Để phân biệt ta dùng vd. ô A1. Khi A1 có chứa giá trị <> rỗng thì trạng thái là ghi âm, khi A1 = rỗng thì là trạng thái bình thường. Tức khi muốn ghi âm thì nhập A1 <> rỗng. Từ lúc này nếu nhấn SPACE là ghi âm tất cả những gì nói vào mic. Nhấn SPACE lần nữa là kết thúc ghi âm và phát đoạn vừa ghi. Khi nhấn SPACE lần nữa thì lại ghi mới, nhấn tiếp SPACE thì kết thúc ghi và phát đoạn vừa ghi. Cứ thế tới khi chán. Khi muốn làm việc với tập tin thì xóa nội dung A1.
1. Phải chuột trên tên sheet ở thanh sheet tabs ở dưới cùng -> chọn View code -> nhập code sau
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address <> "$A$1" Then Exit Sub   ' chi thuc hien code khi co su thay doi o A1
 
    If Me.Range("A1").Value = "" Then
        Application.OnKey " "   ' tat phuc vu phim SPACE
    Else
        Application.OnKey " ", "space_press"    ' bat phuc vu phim SPACE
    End If
End Sub

2. menu Insert -> chọn Module -> dán code sau vào Module1
Mã:
#If VBA7 Then
    Private Declare PtrSafe Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" _
        (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, _
        ByVal uReturnLength As Long, ByVal hwndCallback As LongPtr) As Long
    Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
#Else
    Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" _
        (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, _
        ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long
    Private Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long)
#End If

Public status As String

Sub space_press()
    If status = "" Then
        mciSendString "open new type waveaudio alias hotgirl", vbNullString, 0, 0
        mciSendString "set hotgirl time format ms bitspersample 16 channels 2 samplespersec 32000", vbNullString, 0, 0    ' có thể bỏ dòng này để dùng thiết lập mặc định
        mciSendString "record hotgirl", vbNullString, 0, 0
        status = "record"
    ElseIf status = "record" Then
        status = "play"
        mciSendString "stop hotgirl", vbNullString, 0, 0
        mciSendString "save hotgirl file.wav", vbNullString, 0, 0
        mciSendString "close hotgirl", vbNullString, 0, 0
        mciSendString "open file.wav alias hotgirl", vbNullString, 0, 0
        mciSendString "play hotgirl wait", vbNullString, 0, 0
        mciSendString "close hotgirl", vbNullString, 0, 0
        status = ""
    End If
End Sub
Mình cám ơn bạn rất nhiều. Mình làm theo hướng dẫn của bạn nhưng không làm được, mong bạn hỗ trợ thêm nhé. Mình làm như sau:
Lần 1: Sau khi dán các đoạn code, mình vào ô A1, nhập ký tự "a" sau đó nhấn SPACE, nói vào mic, sau đó nhấn SPACE lần nữa (lúc này ô A1 chứa "a " (a thường và 02 SPACE).
Lần 2: Sau khi dán các đoạn code, mình vào ô A1, nhập ký tự "a" sau đó nhấn Enter, lúc này chuyển sang ô A2, mình nhấn SPACE, nói vào mic, nhấn SPACE lần 2 (lúc này ô A2 chứa 02 ký tự SPACE).
File mình lưu dưới dạng .xlsm
Không biết mình thao tác sai ở đây ạ :)
 
Upvote 0
Lần 2: Sau khi dán các đoạn code, mình vào ô A1, nhập ký tự "a" sau đó nhấn Enter, lúc này chuyển sang ô A2, mình nhấn SPACE, nói vào mic, nhấn SPACE lần 2 (lúc này ô A2 chứa 02 ký tự SPACE).
Tại sao lại có đỏ được nhỉ. Có vẻ bạn dán Private Sub Worksheet_Change(ByVal Target As Range) sai chỗ.

Lần sau muốn nói chuyện thì phải đính kèm tập tin. Không có tập tin thì không thể biết được rất nhiều thông tin.

Không biết mình thao tác sai ở đây ạ
So sánh với tập tin đính kèm rồi báo cáo, bạn đã sai ở đâu.
 

File đính kèm

  • record_play_wav.xlsm
    16.8 KB · Đọc: 16
Upvote 0
Hồi xưa tôi cứ ra chợ Nguyễn Công Trứ (chợ trời SG ngày xưa) mua một quyển sách bóc bìa (*1) về.
Mỗi ngày đi "công vụ" thì vác nó theo. Đọc oang oang từng đoạn văn một. Cũng gióng như người ta hát trong phòng tắm vậy. Mình thì học tiếng Anh trong phòng... Thành thói quen.
Kinh nghiệm xem người ta học tiếng Anh cho biết những tay nhiều sáng kiến "ít thao tác" học chỉ một thời gian ngắn rồi bỏ. Có lẽ do lại nảy sáng kiến mới.

(*1) sách bóc bìa: các loại tiểu thuyết rẻ tiền. Ngày xưa người ta cung cấp giá rẻ cho lính Mỹ (gọi là hàng PX). Những sách bán không được thay vì trả về nhà xuất bản thì tốn tiền chuyên chở, đại lý chỉ xé cái bìa (bìa trước thôi, bìa sau vẫn giữ) gởi về.
Chố sách không bìa như thế dáng lẽ theo hợp đồng thì huỷ đi, nhưng bằng cách nào đó người ta đưa được ra chợ trời SG bán.
Đáng lẽ mua báo như Time, Newsweek, Life đọc thì chất lượng hơn. Nhưng loại này đắt tiền, đâu ai mang vào (...)
 
Upvote 0
Học ngoại ngữ thì chú tâm học ngoại ngữ. Cần thâu tiếng nói thì sắm hẳn cái máy ghi âm nhỏ mà dùng.

Rườm rà ếch xeo ếch xào này nọ chỉ tổ mất thì giờ. Học chả được bao nhiêu.
Tôi thấy dùng Laptop mà có code của bài #2 thì tiện mà bác. Thao tác đơn giản tiện cho việc luyện giọng nhanh.
 
Upvote 0
Tôi thấy dùng Laptop mà có code của bài #2 thì tiện mà bác. Thao tác đơn giản tiện cho việc luyện giọng nhanh.
"Nhanh" là thế nào? Bạn đã thử chưa? hay chỉ nghĩ vậy?

Mất thì giờ lắm. Nên nhớ là khi thâu âm, người ta không tự nhiên. Miệng không mở rộng, nói kém tự tin như khi biết mình đang ở nơi tự tung tự tác.
Cứ tin tôi đi. Vác cái gì rẻ tiền vào nhà c** mà đọc oang oang là phương pháp nhanh, và hữu hiệu nhất.

Nếu muốn luyện giọng thì tìm một bài viết có nói chuyện nhiều một chút. Chuyển nó thành PDF. Dùng Acrobat Reader để "read out loud". Như vậy là biết sơ được cách người ta đọc. Sau đó in bản ấy ra, vác vào nhà c** mà đọc. Như vậy nó tự nhiên. Cứ một bản, làm vài lần cho đến khi gần thuộc lòng. Vì bạn làm đi làm lại nhiều lần cho nên sẽ tự nhiên bắt chước được theo cách nói. Khong cần phải nnghe lại giọng mình.

Lúc mới tập thì chọn những bài đối thoại ngắn. Khoảng 1 năm thì chọn câu dài hơn. Khoảng 2 năm thì bạn đã có thể chọn được bài văn để đọc.

Lưu ý: những từ có thể bị "mật vụ" theo dõi và chụp mũ, tôi bắt buộc phải cắt đi. Quý vị chịu khó đoán.
 
Upvote 0
"Nhanh" là thế nào? Bạn đã thử chưa? hay chỉ nghĩ vậy?

Mất thì giờ lắm. Nên nhớ là khi thâu âm, người ta không tự nhiên. Miệng không mở rộng, nói kém tự tin như khi biết mình đang ở nơi tự tung tự tác.
Cứ tin tôi đi. Vác cái gì rẻ tiền vào nhà c** mà đọc oang oang là phương pháp nhanh, và hữu hiệu nhất.

Nếu muốn luyện giọng thì tìm một bài viết có nói chuyện nhiều một chút. Chuyển nó thành PDF. Dùng Acrobat Reader để "read out loud". Như vậy là biết sơ được cách người ta đọc. Sau đó in bản ấy ra, vác vào nhà c** mà đọc. Như vậy nó tự nhiên. Cứ một bản, làm vài lần cho đến khi gần thuộc lòng. Vì bạn làm đi làm lại nhiều lần cho nên sẽ tự nhiên bắt chước được theo cách nói. Khong cần phải nnghe lại giọng mình.

Lúc mới tập thì chọn những bài đối thoại ngắn. Khoảng 1 năm thì chọn câu dài hơn. Khoảng 2 năm thì bạn đã có thể chọn được bài văn để đọc.

Lưu ý: những từ có thể bị "mật vụ" theo dõi và chụp mũ, tôi bắt buộc phải cắt đi. Quý vị chịu khó đoán.
Thử rồi bác ơi. Cứ space - nói, space nghe lại. Không dừng, chuyển, lưu gì cả.
 
Upvote 0
Thử rồi bác ơi. Cứ space - nói, space nghe lại. Không dừng, chuyển, lưu gì cả.
Làm ở đâu?
Một ngày làm được mấy lượt?

Nếu không sợ mất vệ sinh thì tôi thà vác cái phône vào các nơi "kín đáo", mở một bài tìn tức, thời sự tiếng Anh lên nghe và đọc theo nó.
 
Lần chỉnh sửa cuối:
Upvote 0
Làm ở đâu?
Một ngày làm được mấy lượt?

Nếu không sợ mất vệ sinh thì tôi thà vác cái phône vào các nơi "kín đáo", mở một bài tìn tức, thời sự tiếng Anh lên nghe và đọc theo nó.
Chuyện học hành thế nào thì tùy người thôi à. Riêng tôi thì thấy dùng tích hợp ghi âm, phát lại trong Excel có lợi điểm là kết hợp quản lý dữ liệu học tập, làm việc nữa.
 
Upvote 0
Chuyện học hành thế nào thì tùy người thôi à. Riêng tôi thì thấy dùng tích hợp ghi âm, phát lại trong Excel có lợi điểm là kết hợp quản lý dữ liệu học tập, làm việc nữa.
Vậy thì bạn thuộc típ người có khả năng làm nhiều việc một lúc (multitasking).

Đối với tôi, đọc mà phải nghe lại thì tốn 2 lần thời gian. Mà nghe lại giọng mình thì có gì để nghe? Thời gian nghe lại tôi để nghe người Tây đọc dễ bắt chước hơn.

Tôi thì việc nào cũng có ưu tiên riêng, không có khả năng kết hợp cái gì cả. Lúc học tiếng Anh là học tiếng Anh như con vẹt, không tính toán. Thấy người ta viết sao viết lại vậy, nghe người ta nói sao lặ lại vậy, chính sách: "quen rồi sẽ tính sau". Giống như hồi nhỏ học bảng cửu chương, học thuộc lòng mấy bài thơ lục bát (cô giáo bắt trả bài) trong quyển sách tập đọc lớp 1, 2, mà có cần hiểu gì đâu (cô giáo cũng chả cần bắt phải hiểu). Lớn lên, đầu óc tự động moi lại những lời thuộc lòng ấy mà nghiền ngẫm, tự nhiên giỏi Văn.
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom